主要参考# S9 b" s+ J& I1 f* q1 ~# z0 v
https://www.chinaavg.com/read.php?tid=14254/ X' J4 ?4 D9 T9 K
https://www.chinaavg.com/read.php?tid=14192
2 m- t% z" w1 f4 `0 }
$ c# k) I& |! E- [% v* k辅助参考; I0 S% [* Y: }) C9 D3 M
https://www.chinaavg.com/read.php?tid=12410
+ D- H7 T* u! t- T5 G. uhttps://www.chinaavg.com/read.php?tid=124110 F, n( K) C$ P3 {! ]$ L8 q# ~* c" e
8 S5 @$ X) S A5 J+ e4 {在上文1,2中记述了南希16,17的基本文件格式,文件头部存放偏移量和文件长度的位置,以及分析出这个文件格式的方法。' s( ]7 {9 {' ^( ~
0 q Y4 X2 c8 W9 P0 y1 h2 w本工具就是要在搞清楚文件格式的基础上,对包文件进行解包,然后对修改后的包文件再打包。
* C& H u9 ^8 f注意要修改每个文件的偏移量以及文件的长度值。/ w- B5 p$ P% L, A! I
) U1 u* E! b/ b6 n# C6 u6 ]$ R( a# n, ^, J- d
基本设计如下" r5 @" s% {" o0 I6 G- V$ q$ J
# p# k& T3 `0 b4 }nd16ext.exe 包文件路径名 解包目录, Y8 v- f& z: T
nd16join.exe 原包文件路径名 修改后的单个文件存放目录
; ` T3 e8 Z; j3 g' {5 `
& s/ r3 U* g% E5 `5 r0 snd16ext.exe 把包文件解压到解包目录,在解包目录不指定的情况下,解压到当前目录
4 z- J2 e% H$ qnd16join.exe 按照原包文件的文件存放顺序,把单个文件存放目录中的文件打包,打包后存放到当前目录下。文件名加上 _new ,如果已存在就覆盖。 |