Re: BIGFILE.000 - Deus Ex Human Revolution Unpack
Posted: Sat Aug 27, 2011 5:17 pm
Hmm its probably maybe the deblocker isn't configured for pc yet. the ps3 and 360 version works though.
Since they don't get any headers, I added XMA header to it using QuickBMS (even XMA2) but STILL gives a messy .WAV file...?OrangeC wrote:Just use Towav for xma. ww2ogg is for OGG vorbis files.
This may sound stupid, but...how do you do that?OrangeC wrote:You need to add a mono stereo header 44hz
Code: Select all
set FREQ 44100
set CH 1
set OFFSET 0x0
set MEMORY_FILE binary "\x52\x49\x46\x46\xb8\x59\xa7\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x20\x00\x00\x00\x65\x01\x10\x00\xd6\x10\x00\x00\x01\x00\x00\x03\xe3\x9a\x00\x00\x80\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x02\x00\x64\x61\x74\x61\x00\x58\xa7\x00"
get SIZE asize
math SIZE -= OFFSET
callfunction addXMAheader 1
get NAME basename
string NAME += ".xma"
get SIZE asize MEMORY_FILE
log NAME 0 SIZE MEMORY_FILE
startfunction addXMAheader
set RIFFSIZE SIZE
math RIFFSIZE += 0x34
putVarChr MEMORY_FILE 0x04 RIFFSIZE long
putVarChr MEMORY_FILE 0x24 FREQ long
putVarChr MEMORY_FILE 0x31 CH byte
putVarChr MEMORY_FILE 0x38 SIZE long
append
log MEMORY_FILE OFFSET SIZE
append
endfunction
Alright, after this code I used "ToWav" it gave me a messy .wav file again, only this time you hear at certain spots among the messy bits actual understandable sequence, I wonder why?OrangeC wrote:Code: Select all
set FREQ 44100 set CH 1 set OFFSET 0x0 set MEMORY_FILE binary "\x52\x49\x46\x46\xb8\x59\xa7\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x20\x00\x00\x00\x65\x01\x10\x00\xd6\x10\x00\x00\x01\x00\x00\x03\xe3\x9a\x00\x00\x80\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x02\x00\x64\x61\x74\x61\x00\x58\xa7\x00" get SIZE asize math SIZE -= OFFSET callfunction addXMAheader 1 get NAME basename string NAME += ".xma" get SIZE asize MEMORY_FILE log NAME 0 SIZE MEMORY_FILE startfunction addXMAheader set RIFFSIZE SIZE math RIFFSIZE += 0x34 putVarChr MEMORY_FILE 0x04 RIFFSIZE long putVarChr MEMORY_FILE 0x24 FREQ long putVarChr MEMORY_FILE 0x31 CH byte putVarChr MEMORY_FILE 0x38 SIZE long append log MEMORY_FILE OFFSET SIZE append endfunction
Scripts are part of DRM files yes, it's a custom scripting engine with bytecode. I'm still trying to make some headway on it.Andargor wrote:Hi all, nice work (especially Rick). Does anyone know what scripting engine they used? I'm trying to find some modifiable scripts, such as merchant inventory. Any idea of their location?
Seems *.drm is all media files, or are scripts embedded and in bytecode with some sort of interpreter?
FinalBlast wrote:Alright, after this code I used "ToWav" it gave me a messy .wav file again, only this time you hear at certain spots among the messy bits actual understandable sequence, I wonder why?OrangeC wrote:Code: Select all
set FREQ 44100 set CH 1 set OFFSET 0x0 set MEMORY_FILE binary "\x52\x49\x46\x46\xb8\x59\xa7\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x20\x00\x00\x00\x65\x01\x10\x00\xd6\x10\x00\x00\x01\x00\x00\x03\xe3\x9a\x00\x00\x80\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x02\x00\x64\x61\x74\x61\x00\x58\xa7\x00" get SIZE asize math SIZE -= OFFSET callfunction addXMAheader 1 get NAME basename string NAME += ".xma" get SIZE asize MEMORY_FILE log NAME 0 SIZE MEMORY_FILE startfunction addXMAheader set RIFFSIZE SIZE math RIFFSIZE += 0x34 putVarChr MEMORY_FILE 0x04 RIFFSIZE long putVarChr MEMORY_FILE 0x24 FREQ long putVarChr MEMORY_FILE 0x31 CH byte putVarChr MEMORY_FILE 0x38 SIZE long append log MEMORY_FILE OFFSET SIZE append endfunction
Yes, they are XB360 version, first I extract the .mul's .xma files using deblockbe(ver0.3) then I use the add stereo mono header .bms you gave me,OrangeC wrote:FinalBlast wrote:Alright, after this code I used "ToWav" it gave me a messy .wav file again, only this time you hear at certain spots among the messy bits actual understandable sequence, I wonder why?OrangeC wrote:Code: Select all
set FREQ 44100 set CH 1 set OFFSET 0x0 set MEMORY_FILE binary "\x52\x49\x46\x46\xb8\x59\xa7\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x20\x00\x00\x00\x65\x01\x10\x00\xd6\x10\x00\x00\x01\x00\x00\x03\xe3\x9a\x00\x00\x80\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x02\x00\x64\x61\x74\x61\x00\x58\xa7\x00" get SIZE asize math SIZE -= OFFSET callfunction addXMAheader 1 get NAME basename string NAME += ".xma" get SIZE asize MEMORY_FILE log NAME 0 SIZE MEMORY_FILE startfunction addXMAheader set RIFFSIZE SIZE math RIFFSIZE += 0x34 putVarChr MEMORY_FILE 0x04 RIFFSIZE long putVarChr MEMORY_FILE 0x24 FREQ long putVarChr MEMORY_FILE 0x31 CH byte putVarChr MEMORY_FILE 0x38 SIZE long append log MEMORY_FILE OFFSET SIZE append endfunction
Okay then specify the steps you used to parse and decode your mul files. Are they from the 360 version right?
Code: Select all
Traceback (most recent call last):
File "D:\GAMES\deus ex\extractor\XB360\mul\deblock.py", line 116, in <module>
zero1, block_payload_left, sampleoff, zero3 = unpack(">IIII", header_bytes)
struct.error: unpack requires a string argument of length 16