I revised my script to this and it seems to be working but there are some problems with it
Code: Select all
endian big
goto 0xc
get TMP1 long
get TMP2 long
get null long
xmath archiveSize "TMP2 - TMP1"
get FILENUM long
get null long
get null long
get unknown1 long
get null long
get unknown1 long
get unknown2 long
for i = 0 < FILENUM
get OFFSET1 long
get OFFSET2 long
Math OFFSET1 + TMP1
Math OFFSET2 + TMP1
xmath SIZE "OFFSET2 - OFFSET1"
log "" OFFSET1 SIZE
next I
Code: Select all
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 20
00 09 93 F0 00 00 00 00 00 00 01 5D 00 00 00 00
00 00 00 00 00 00 01 5D 00 00 00 00 00 00 00 10
00 00 00 00 00 00 0B 00 00 00 24 40 00 00 33 B0
00 00 4B E0 00 00 5C D0 00 00 6B 60 00 00 7E 70
it only extract haft of the file mentioned on 00 00 01 5D...
it was supposed to extract from 00 00 00 0B 00 to 00 00 24 40 then from 00 00 24 40 to 00 00 33 B0.
but it extract from 00 00 00 0B 00 to 00 00 24 40 then from 00 00 33 B0 to 00 00 4B E0
but I was wrong and the size of the individual files are located at the end after all the offsets location of the individual files
Code: Select all
endian big
goto 0xc
get TMP1 long
get TMP2 long
get null long
xmath archiveSize "TMP2 - TMP1"
get FILENUM long
get null long
get null long
get SIZENUM long
get null long
get unknown1 long
get unknown2 long
xMath sizepad "FILENUM * 4 + TMP1"
for i = 0 < FILENUM
get OFFSET long
Math OFFSET + TMP1
Padding sizepad
get SIZE long
goto OFFSET
Print %SIZE%
Print %OFFSET%
next ii
so my problem is how to I go to offset of the location to get the size then back to the next offset location of the second file then back to the offset of the second file