冒险解谜游戏中文网 ChinaAVG
标题:
【汉化资料】如何对明文文件名表的打包文件解包(原创)
[打印本页]
作者:
shane007
时间:
2009-2-2 22:20
标题:
【汉化资料】如何对明文文件名表的打包文件解包(原创)
发了不少教程,资料,都是转载别人的,这篇是我自己写的。
. `, u: d4 t4 s
由于时间有限,写得很简明,不懂的欢迎提问。
2 \" @. J3 _+ c: J# k2 J
! J: {4 D0 Y/ j1 K% D+ |% u7 x
打包文件一般是如下格式
1 C$ p% I+ C! p4 n" S! e8 L! G
) P8 w ^6 ?. K( a2 s% w5 q! ?5 K
文件头
: [5 p7 L1 G2 Z f+ ^; T
文件名表
6 E7 j, d- a4 p6 X$ l) {9 D
数据块
6 i& R7 l, h0 A* ]/ \0 A7 Y7 U
& x2 L$ B+ t$ G
文件名表一般是如下形式
& N$ i) h+ k8 ]2 \, `) u7 R
0 X# c* [/ r0 s6 q3 y0 r
Filename1+相关的2进制信息
+ ]/ D4 b4 w8 k: T1 p1 Y
Filename2+相关的2进制信息
& g2 C- t& l0 w; N: }1 T
Filename3+相关的2进制信息
3 j: Q+ z. v7 f3 A l
。。。
8 }# Z9 P3 b4 o* I0 W7 \# A- s
1 L( a+ A* k! i& u
相关的2进制信息里一般会有文件偏移量和文件字节数。但是如何知道相关的2进制信息中哪些是文件偏移量和文件字节数呢?其实很简单。
2 E* E# J: D& b& n0 q, e- W
( S* S2 \! `: p) N: B7 P
文件偏移量
4 _5 i7 ?: ?) \4 o* M
每个文件名表项的长度是一样的,那么最后一个文件名表项结束以后是什么呢。
! y# y$ p9 a" N
对了,是第一个文件。在2进制编辑器里看一下这个偏移量,比如0002F4D2 ,
$ ^# E: R0 h- r( ?. G
在第一个文件名表项中寻找D2F40200,就能找到文件偏移量的保存位置。
1 H0 \3 Q: ?& \+ w# w: V
注意,偏移量的保存顺序是高低位颠倒的。
3 D! r* y# X# U6 _
' y8 e y `/ ?7 S
文件字节数
& z2 r e* n" s4 q1 d5 \
找到了文件偏移量的保存位置后,把第1个和第2个文件偏移量相减,得出第一个文件的字节数。
/ I; G3 @/ N) Z8 A! s* p
在第1个文件名表项中寻找这个字节数的2进制值,注意,保存顺序也是高低位颠倒的。也就找到了文件字节数的保存位置。
5 w6 u; d9 j0 M7 g* [7 @9 K
6 g' R! g6 o- R" J& U3 A0 J
知道了每个文件的文件偏移量,文件字节数,制作打包器,解包器自然就很容易了。
欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/)
Powered by Discuz! X3.2