03-14-2016, 02:07 PM
(This post was last modified: 03-14-2016, 03:08 PM by Struggleton!.)
(03-14-2016, 01:34 PM)Telespentry Wrote: May I request a really simple script? Basically, by trimming off the header, this file is just 00000000000000filehere00000000000000filehere000000000000000 with a variable number of zeros but at least 15 I would say. The 0s are actual text for some strange reason with the bytes being 30s. Would this be simple to make? The file names are in plaintext and in order so I will manually add them.
If you could, could you please add a sample?
(03-13-2016, 06:25 PM)beastedot9 Wrote: Hello again, sorry to be a bother, I've been looking at these files from WWE 2K16:I can take a look real quick
https://mega.nz/#!U95TwDJa!xXdR0iMsbD5Nu...Cs1KC59CxQ
What's there is a regular pac file and then its a zlib compressed PACH but it doesn't seem like regular zlib(so basically an archive within an archive). I was wondering if anyone had any clue as to how begin writing a script for this and if its even possible?
The data that I do know:
- Headers of the .pac files are always either "EPK8" or "EPAC".
- Next value long is always null
- Then another long value which seems to be the size of the archive (or possibly offset?)
- The names of the archvies always start at offset x00000800 and the data itself always starts at offset x00004000.
Apart from that, I have no idea how to open the zlib compressed ones. Any help is appreciated
EDIT: Here you go!
Code:
comtype zlib
getdstring IDString 0x4
if IDString == "PACH" || IDString == "EPK8"
findloc PACH string "PACH" 0 ""
goto PACH
idstring "PACH"
get FCOUNT long
for i = 0 < FCOUNT
findloc OFFSET string "ZLIB0" 0 ""
get NAME basename
string NAME += i
string NAME + ".dec"
goto OFFSET
idstring "ZLIB0"
getdstring NONE 0x3
get SIZE long
get ZSIZE long
savepos OFFSET
clog NAME OFFSET SIZE ZSIZE
math OFFSET + SIZE
goto OFFSET
next i
else
cleanexit
endif