游戏名
5 e$ j( l2 H3 ]3 {% P* u, S* VGrace's Quest: To Catch An Art Thief $ V# ?- r% J( v; Y2 \* F% _# H' N
放上这个老外放出的工具,供以后汉化备用
* ~- R! m9 [2 Q" B# J) y$ e4 n这个游戏是http://www.alawar.com出品的,也许还能解开其他游戏的包,大家可以试试看。
3 N1 q( u2 I3 x$ \
0 N* r; s% v. b% g5 a! w文件结构-
- -> ID : B_String; // '$PAK$'
- -> DataStartPos : DWORD; // points to the start of the file data
- -> Comment: B_String; // 'Package Builder v1.0 Coded by Rui Barbosa.'
- -> NrOfDirs : DWORD;
- for each Dir:
- Dir_Name : B_String // example: 'Graphics\GUI\Briefing\'
- NrOfFilesInDir : DWORD;
- for each file:
- File_Name : B_String // example: 'HH_MenuButtonOff_01.pec'
- File_Size : DWORD;
- File_StartPos : DWORD;
- Unk0 : DWORD; // (0)
- Unk1 : DWORD; // (1)
- -> file data: all files are encoded. .JEC files are encoded JPG files, PEC files are encoded PNG files.
- note #1: B_String means this structure:
- -> Length : Byte
- -> Chars : Array[0..Length-1] Of Chars
- note #2:
- This is the password of the file decoding:
- Const PW : Array[0..47] Of Byte =
- ($CE,$ED,$66,$66, $CC,$0D,$00,$0B, $03,$73,$00,$83, $00,$0C,$00,$0D,
- $00,$08,$11,$1F, $88,$89,$00,$0E, $DC,$CC,$6E,$E6, $DD,$DD,$D9,$99,
- $BB,$BB,$67,$63, $6E,$0E,$EC,$CC, $DD,$DC,$99,$9F, $BB,$B9,$33,$3E);
- The decoding process:
- For I := 0 To Length(Buffer)-1 Do
- Buffer[I] := Buffer[I] - PW[I mod PW_Length];
复制代码 |