冒险解谜游戏中文网 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#quickbms1 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 Uidstring 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% Tget FILES long
+ H5 Q, t! A- E% v& U" mset INFO_SIZE long FILES
! @, }9 m% Z% J! O4 }% xmath INFO_SIZE *= 73
7 L7 D* a* E) a, w" K& s* F" vsavepos INFO_OFFSET
! V& m0 x- b! Rlog MEMORY_FILE INFO_OFFSET INFO_SIZE4 M0 T+ M1 P2 x: d0 G9 l
set VAR_A long INFO_SIZE
. |+ L& G9 [, Y9 o% U8 kmath 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 gfor 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_A3 P' H8 z. f. P7 ?. {
    math VAR_A &= 0xff  # not needed1 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+ \. qnext 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\xA86 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$ jfor 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 j0 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 tnext 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