冒险解谜游戏中文网 ChinaAVG

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

作者: shane007    时间: 2010-5-4 20:24
标题: FPAK文件解包器
放上老外发布的FPAK文件解包器。' s/ j( ?6 V/ \; j% j

4 K4 l" q! F7 h2 }9 `, N6 [# Tibet Quest6 J6 \2 w5 ]* g4 `0 Y5 ]% B
# script for QuickBMS http://aluigi.org/papers.htm#quickbms' I  {. r5 T, h
quickbmsver 0.2.1   # needed for the "binary" type used for MEMORY_FILE2
6 }) G/ E0 ^+ B4 \( d4 |7 R' Eidstring FPAK& w4 p$ B0 q: c. ?0 F
get DUMMY long
1 Z4 z5 ], N- J  v# g/ z( i# Eget DUMMY long! h/ N+ P( t* L# O8 c
get FILES long
2 p: R# G% [; R  X5 Fset INFO_SIZE long FILES
$ Q1 T% G( [6 }0 Bmath INFO_SIZE *= 73/ b- ~1 i- G( g! m; D
savepos INFO_OFFSET
; j$ V/ H7 A/ @6 d$ tlog MEMORY_FILE INFO_OFFSET INFO_SIZE
' j& S. C/ @0 B) x2 ?set VAR_A long INFO_SIZE
, g0 @: }" P& ]& N4 Nmath VAR_A -= 0x278 g' c0 F: k: r* l/ S) a
set VAR_C long 0xad
- V' Y0 `+ ^5 b; i3 r  f8 Cset VAR_D long 0x6f  P& F: h$ ?- ~5 P1 r- u7 i4 G; w
for i = 0 < INFO_SIZE
% ^7 E5 U& u( U# Q! W3 w    math VAR_A += VAR_C
. D3 i- u) I, c7 J2 Z/ _    math VAR_C += VAR_A
* _! w; M8 s  e% H7 t. U1 e    math VAR_D += VAR_C
/ j/ _* a0 U/ d- x5 G' Y3 b    math VAR_D ^= VAR_A( q5 x9 Q% C6 q" D. ]: s
    math VAR_A &= 0xff  # not needed) |) r; A: l4 x8 f- j
    math VAR_C &= 0xff  # not needed4 B' q( D5 f- j7 ]" P9 J
    math VAR_D &= 0xff  # not needed
) p/ ^( I* ]$ N, x2 {' n    getvarchr BYTE MEMORY_FILE i; Z8 o2 z% G) j( G0 J
    math BYTE ^= VAR_D
% Y8 S! f1 C. |* r    putvarchr MEMORY_FILE i BYTE( G) Z- \/ G$ c; A3 [$ ]
next i  w4 p) ~4 y' c) ^4 o" P8 E6 t
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/ v) s" o0 A/ L3 R
\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
3 v/ g- X# I8 p/ H' s# |% Q5 @\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\x738 O" A- C$ f+ A
\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& @4 t. `5 Q, |! g: |
\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
; N% L- |% G8 q/ D, D+ c\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
6 Z! J6 D2 `* Y+ s% X: L/ P0 ?\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\xD49 A  X" z5 `3 B1 X( z5 @' K
\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
* ~0 o5 m- Q! K" z) I0 s  d' O\xFF\x3C\xD6\x0E\x95\x39\x82\x42\x3E\x61\x96\x48\x8D\xAF\x30\xE2\x71\x4D\xD5\x25\x92\xBD\x99\x98"
! \! u' b) B' j/ m7 n7 sfor i = 0 < FILES
: u1 V( w2 Q9 X/ f1 \5 a    getdstring NAME 0x41 MEMORY_FILE8 b: N. |  ]3 [9 e
    get OFFSET long MEMORY_FILE
! ]6 `6 b) I* l6 c& L" a    get SIZE long MEMORY_FILE
9 W& U* Z# Y- y4 w$ ?; J; M/ D    log MEMORY_FILE3 OFFSET SIZE) i, B+ [8 F* Y# q. j
    for j = 0 < SIZE! I8 q$ q- w, m& U- a& a
        getvarchr BYTE MEMORY_FILE3 j
6 T- T7 _* B' L  _" g. V        getvarchr BYTE MEMORY_FILE2 BYTE+ C% l. V2 B1 ~$ e8 r. b: L
        putvarchr MEMORY_FILE3 j BYTE
( u1 W3 w% b, `    next j# d: J# y) x- e
    log NAME 0 SIZE MEMORY_FILE3: _7 S; q1 s1 z0 Z3 |& ^
next i
作者: 竹のかぐや姫    时间: 2010-5-5 19:00
经测试可用,但是会解出一些识别不了的spr文件6 Y( a. A  I* M
还有一些以map为后缀的文件...
作者: 竹のかぐや姫    时间: 2010-5-5 19:05
解决了的说...简单地提取一下就好了9 G) _9 Y0 \' @
谢谢大大提供~
作者: davidgbl    时间: 2011-9-5 22:26
回复 竹のかぐや姫 的帖子
7 Z6 a$ `% M) R( _( ?. R4 q1 h  J# P% N" z$ Y8 i! @! l
如何提取的,能说说吗?




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