冒险解谜游戏中文网 ChinaAVG
标题:
FPAK文件解包器
[打印本页]
作者:
shane007
时间:
2010-5-4 20:24
标题:
FPAK文件解包器
放上老外发布的FPAK文件解包器。
. C, H# q3 i' B2 K; w8 r8 o
# ` d* X( \; f$ ? Q
# Tibet Quest
5 X, R+ S e4 k' g
# script for QuickBMS
http://aluigi.org/papers.htm#quickbms
1 t& n: ?; r0 R) ]+ S4 f
quickbmsver 0.2.1 # needed for the "binary" type used for MEMORY_FILE2
8 {5 z& B7 w7 b5 U
idstring FPAK
" q8 S6 H* c: I, ^; x* V4 G1 u
get DUMMY long
q8 Z- @3 L& t4 V# T" p
get DUMMY long
{) P* o7 X* `1 _4 V% T
get FILES long
+ H5 Q, t! A- E% v& U" m
set INFO_SIZE long FILES
! @, }9 m% Z% J! O4 }% x
math INFO_SIZE *= 73
7 L7 D* a* E) a, w" K& s* F" v
savepos INFO_OFFSET
! V& m0 x- b! R
log MEMORY_FILE INFO_OFFSET INFO_SIZE
4 M0 T+ M1 P2 x: d0 G9 l
set VAR_A long INFO_SIZE
. |+ L& G9 [, Y9 o% U8 k
math VAR_A -= 0x27
k H5 [% {3 Z/ n) X+ [
set VAR_C long 0xad
" q/ u% ]$ [) N2 C, S
set VAR_D long 0x6f
+ v/ ?( n5 ^. \7 g
for i = 0 < INFO_SIZE
1 k2 z5 R" {; l i. m
math VAR_A += VAR_C
1 L L8 W/ ]+ w% I2 o2 {4 i
math VAR_C += VAR_A
3 I% e1 `1 Y% ]+ D3 n2 o# ^' V
math VAR_D += VAR_C
0 }: `9 e& K+ X6 k
math VAR_D ^= VAR_A
3 P' H8 z. f. P7 ?. {
math VAR_A &= 0xff # not needed
1 E3 O( N8 O' M( p( |
math VAR_C &= 0xff # not needed
( ?+ e$ S, n! i6 Q) [6 Q* x
math VAR_D &= 0xff # not needed
! c& }) C0 B `& a. H* j4 x
getvarchr BYTE MEMORY_FILE i
: l0 j% R. ~ U& F1 Y- ]
math BYTE ^= VAR_D
" `6 J) c" [. r1 X* s5 d
putvarchr MEMORY_FILE i BYTE
8 L* s; j+ \. q
next i
k |5 H7 m1 r5 d0 f. }
set MEMORY_FILE2 binary "\x7B\x47\x85\xF0\x91\x8B\x2C\x94\xA7\x55\x3A\xF6\x17\xB1\xC2\x06\x6B\x64\x28\x8A\x86\x09\xCE\xA2
+ X+ I/ ?' f. r/ r4 ]% p C
\x9F\x58\xDE\x46\xAE\x24\x63\x74\x69\x9D\xFB\xFD\x6E\x50\xE0\x12\x57\x1C\x08\xBC\x1B\xD0\xD9\x81\x01\xE4\xC7\x07\x88\x16\x76
# @! Q& }+ I2 }2 Z6 R F2 B
\x49\x23\x05\xAD\x51\x38\x78\x45\x89\x5D\xCF\x2E\x20\x26\xB6\x3B\xC3\xEB\xEF\x22\xA0\x19\xC6\x6A\xBB\xA1\x41\xF5\xCB\x73
|2 B' K0 \( v( ^
\xED\xEA\x9B\x90\xA9\x2D\xAA\x15\x27\xDA\x37\xF9\x40\xA4\xE8\x67\xBF\x1E\xB8\xAC\x60\x53\xD2\x54\x1D\x68\xF7\x4F\x00\xC4
, s, ~+ N/ c: y; e
\x5E\x33\x29\x14\x0C\x3F\x62\xFC\x93\xC1\xB0\xB4\x9C\x1F\x72\xAB\x11\x18\x87\xB5\xE9\xF1\x59\xF8\x36\x5C\xA3\xE3\x79
; l) D# B5 d5 v: W
\x8C\x2F\x0A\xBA\x44\xD8\xC8\xA6\x2A\x03\xCA\x1A\x10\x35\xF3\x77\xD7\x31\xB9\x97\x43\xF2\x3D\xDF\x21\x52\x65\xB2\x34
% F+ J+ W: P5 g# q% s
\x6F\x7F\xD3\x2B\xC0\xCC\x6D\x75\xDD\x0D\x13\xDB\xE5\x02\xEE\xB3\xF4\xC9\xFE\x66\x5B\xEC\x7D\x83\x5F\xCD\x8E\xE6\x84\xD4
I5 Q! ^* I* [. i$ t: P
\xBE\x32\xD1\xA5\x56\xC5\x70\x9E\x0B\x9A\x80\x6C\x5A\xE7\x7A\x7C\xB7\x7E\xFA\xDC\x0F\xE1\x4B\x4C\x8F\x4A\x04\x4E\xA8
6 G- b! s, z+ y
\xFF\x3C\xD6\x0E\x95\x39\x82\x42\x3E\x61\x96\x48\x8D\xAF\x30\xE2\x71\x4D\xD5\x25\x92\xBD\x99\x98"
* m( U* |0 ^7 V( G$ j
for i = 0 < FILES
: H* G, \+ X( }- d3 F n
getdstring NAME 0x41 MEMORY_FILE
- T0 I" l8 z% i
get OFFSET long MEMORY_FILE
/ R3 D h F0 a6 I! s+ \
get SIZE long MEMORY_FILE
5 T6 J0 ~7 V Q
log MEMORY_FILE3 OFFSET SIZE
- k% T* H9 w+ t" o
for j = 0 < SIZE
& l; R# D6 R& M/ s! r
getvarchr BYTE MEMORY_FILE3 j
0 J- J z/ G+ E( Q) ?$ Q) y
getvarchr BYTE MEMORY_FILE2 BYTE
7 ?+ a, ]8 D8 L
putvarchr MEMORY_FILE3 j BYTE
1 f) v: O5 c) N' |) g
next j
( \9 x' F0 L6 r9 s
log NAME 0 SIZE MEMORY_FILE3
6 A1 k9 a* k5 D: S3 K3 G- I3 t
next i
作者:
竹のかぐや姫
时间:
2010-5-5 19:00
经测试可用,但是会解出一些识别不了的spr文件
) b* q* P- |" z) i4 K# \7 x* G
还有一些以map为后缀的文件...
作者:
竹のかぐや姫
时间:
2010-5-5 19:05
解决了的说...简单地提取一下就好了
+ d1 K7 P) k( ^! {* t
谢谢大大提供~
作者:
davidgbl
时间:
2011-9-5 22:26
回复
竹のかぐや姫
的帖子
; g4 [. ~, J3 o/ Y' M' |" r% m. U
I, c0 H3 j1 b6 o% q7 J
如何提取的,能说说吗?
欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/)
Powered by Discuz! X3.2