the script is the following BUT it's needed a new version of quickbms because there is a stupid bug in the current one (shame on me) and I'm working on such version at the moment for finishing the implementation of other things, so... wait!
Code:
quickbmsver 0.4.8
goto -20
getdstring XOR_KEY 4
set XOR_KEYZ string ""
for i = 0 < 4
getvarchr TMP XOR_KEY i
string TMP p= "\x%02x" TMP
string XOR_KEYZ += TMP
next i
goto 0
filexor XOR_KEYZ
get FILES long
math BLOCK_OFF = FILES
math BLOCK_OFF *= 4
math BLOCK_OFF += 4
math BLOCK_OFF x= 0x800
for i = 0 < FILES
get BLOCK_SIZE long
math PACKED = BLOCK_SIZE
math PACKED >>= 30
math BLOCK_SIZE &= 0x3fffffff
math BLOCK_SIZE *= 0x80
if PACKED == 0
log "" BLOCK_OFF BLOCK_SIZE
else
savepos TMP
goto BLOCK_OFF
get ZSIZE long
reverselong ZSIZE
get SIZE long
reverselong SIZE
savepos DUMP_OFF
clog "" DUMP_OFF ZSIZE SIZE
goto TMP
endif
math BLOCK_OFF += BLOCK_SIZE
next i