冒险解谜游戏中文网 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 rFilename1+相关的2进制信息
+ ]/ D4 b4 w8 k: T1 p1 YFilename2+相关的2进制信息
& g2 C- t& l0 w; N: }1 TFilename3+相关的2进制信息 3 j: Q+ z. v7 f3 A  l
。。。
8 }# Z9 P3 b4 o* I0 W7 \# A- s1 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