冒险解谜游戏中文网 ChinaAVG

标题: FPAK文件解包器 [打印本页]

作者: shane007    时间: 2010-5-4 20:24
标题: FPAK文件解包器
放上老外发布的FPAK文件解包器。& l, a9 G/ V4 @- J. ~' H

) j. n" r4 J3 G# A/ j3 X, W# Tibet Quest
( \8 ^6 ~% `9 K+ A( M# script for QuickBMS http://aluigi.org/papers.htm#quickbms. V; ^$ r- v: R& U, a$ @
quickbmsver 0.2.1   # needed for the "binary" type used for MEMORY_FILE2' n( Q- V, m5 x+ j, t
idstring FPAK1 [- e8 P( J$ p& {
get DUMMY long3 d, e! }. [( T* ~
get DUMMY long
' T- z! E. O% j6 {5 B: {get FILES long
& ]/ g" n( C7 L; i" h+ R; J" i* w" Lset INFO_SIZE long FILES
3 T% A6 o% Q: K3 ?1 c7 i8 {math INFO_SIZE *= 73) C# b0 j/ G# f! X$ Y; Q
savepos INFO_OFFSET/ L2 m; ~' `# u8 ~4 w3 s, k2 h+ p
log MEMORY_FILE INFO_OFFSET INFO_SIZE7 J# z" j0 x7 l
set VAR_A long INFO_SIZE. L4 n6 b4 b: N7 _3 ~. ~: s" p" `& B
math VAR_A -= 0x27, Q% t. U" G5 B
set VAR_C long 0xad
# O2 z4 t& d3 o- Q8 e/ @set VAR_D long 0x6f$ |% g6 o8 O2 L) \
for i = 0 < INFO_SIZE
2 i; F7 V4 a" _  d, \# I- J' ?    math VAR_A += VAR_C9 o' s, h/ z# \' ^5 r
    math VAR_C += VAR_A
$ o$ e7 ?8 b, d* n7 r" ]9 E    math VAR_D += VAR_C5 W. @4 |0 y5 r& K0 c& g
    math VAR_D ^= VAR_A7 X3 o  R: n) q8 n/ d/ t
    math VAR_A &= 0xff  # not needed
% T8 j: v/ H' h$ o. N: H+ y* ~. f    math VAR_C &= 0xff  # not needed* [9 w0 x/ d" ?. c- u9 s, L
    math VAR_D &= 0xff  # not needed' y% r  {/ J' R4 h) q( V( }
    getvarchr BYTE MEMORY_FILE i. R7 @* y8 S( W7 t
    math BYTE ^= VAR_D& }9 b& ?/ ]% o) ~, {! L- a
    putvarchr MEMORY_FILE i BYTE! h/ @2 f. Y, ?% R' o" @
next i8 R% b0 i( b* e0 R* S$ c4 k: r
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
( k* }( ^/ P( y# e3 m\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\x762 ~$ C& r# y! D8 @5 j" A; Y8 M9 P
\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 \. D. l) M- `8 i* T& a0 i\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
+ K  f+ J. x* d# i\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
' A: A4 D1 o$ a1 H+ t1 o$ N  q\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/ I$ G* k3 S$ C) G
\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
  m! g% I3 r( p$ {; R: _6 d- f\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' U- @5 O3 n+ U
\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+ a* _$ }+ l& n$ {# W1 Y) Y
for i = 0 < FILES2 j1 Q9 R# p" T
    getdstring NAME 0x41 MEMORY_FILE
2 k4 V- \! d. a0 W% l' y    get OFFSET long MEMORY_FILE
4 n$ J* ]/ E" `1 c  z  f" u& J/ \. P    get SIZE long MEMORY_FILE, A8 q; l0 A3 J4 k4 u9 H! a) W
    log MEMORY_FILE3 OFFSET SIZE
1 _  D8 v  v9 ~+ V2 h    for j = 0 < SIZE
4 p6 ?% ~3 ^% F2 [3 |3 W: p        getvarchr BYTE MEMORY_FILE3 j1 t4 @8 E; U3 `' I
        getvarchr BYTE MEMORY_FILE2 BYTE# H2 l& K2 t) K' m, a  E" m
        putvarchr MEMORY_FILE3 j BYTE1 ?) Y* A2 y# S( N. h
    next j3 V/ y1 {; z7 X4 @3 F
    log NAME 0 SIZE MEMORY_FILE3/ h0 _( R: A0 v/ \
next i
作者: 竹のかぐや姫    时间: 2010-5-5 19:00
经测试可用,但是会解出一些识别不了的spr文件
  d- V1 S3 k. W$ r% }5 R: k- p: f/ f+ I还有一些以map为后缀的文件...
作者: 竹のかぐや姫    时间: 2010-5-5 19:05
解决了的说...简单地提取一下就好了
( t$ p' _' ~+ Z; d, K谢谢大大提供~
作者: davidgbl    时间: 2011-9-5 22:26
回复 竹のかぐや姫 的帖子
* I' B9 [, M  O1 Q5 t8 \# E+ T7 _5 w* o: J& V! c% I, m1 x" a
如何提取的,能说说吗?




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2