可执行文件字符串提取替换工具0.2.3
* e! u M0 {/ @- S by Luigi Auriemma
5 s. }) Y" W2 M5 Femail:[email protected]+ E k& b; w4 b' ]7 X. R; j0 f
web: aluigi.org
3 o0 h+ L8 h+ d$ d$ l反汇编引擎来自Oleh Yuschuk
1 C g! C+ p Y) Q3 l) i) P' r0 F& v; i. G1 e p
使用方法:1 ^2 W. v X; G
命令提示符下:exestringz [options] <cmd_1/2> <file.exe/dll> <strings.txt>
% A; P5 V2 {; w/ x, k
7 S6 `: @8 q1 _/ k/ OOptions:在模式1下(从可执行文件提取字符串到文本文件)
2 n H0 }" ?4 G; y5 k& ?-f 禁用字符过滤,默认状况(即不加-f)只提取0~9,a~z,A~Z以及各种符号标点& N- o# k/ `" d: d
( M$ @7 F1 T2 U% F6 m/ M
-a 只提取亚洲字符,即高于0x7f字节的字符串
6 i7 H* P( i4 \+ S9 ?/ W/ S" w9 ~) m2 Y5 a! \, S
-u 不提取unicode字符串
" v' Y: M0 O+ E0 r2 U
- x" P; `, P( x! v0 k! X-l LEN 规定有效字符串的最短长度LEN7 ^/ ]7 P* Y% p6 v& j
$ s' ]+ V' w2 p7 Z6 V
-b 激活二进制模式,输入文件不会被反汇编,那么工具会尝试提取所有看起来像是字符串的字节,就像unix程序“srtings”
+ h& G7 I4 e( ?/ T3 z! J c* b# M' l
-e 从文件的入口点开始进行反汇编扫描, Y. D$ ], b# o+ j/ l0 _
7 A. b: ?0 ]$ Q0 q4 \ h1 _ X3 Q
-A NUM 只提取按NUM个字节排列的字符串# B2 w9 f2 p" z1 l. J8 x0 O; [" l
8 z0 p& v$ K, ]8 k/ N下列模式1下的参数只用于查看,因为如此提取出的strings.txt不被模式2支持& `* ^" O6 ~/ y. P4 O( @5 `; V
-c C语言格式输出. A% l8 }1 H" W! l# r
- [! Q2 M% B) `-C 同上,但是输出成数组的样式,例: ; L0 V4 }' g5 s# A& Y: a$ @& Q
8 S* U( I# m$ Z8 J- Z7 m8 `# a" e2 g
-q 没有字符串之间的“____”线7 w( x2 F% e5 |; e4 L
9 x; c* w9 Y# {- I+ q$ O/ R
举例:创建strings.txt并且将他们放回可执行文件中
# s% u+ P( Q4 R5 W% E* i- Q) I+ {/ K+ p: H; J
1)提取字符串生成strings.txt
& H6 z. Z( Z8 Z4 |8 r+ J命令:exestringz 1 program.exe strings.txt
8 v8 C, i5 K$ {& i* E+ J+ \9 K1 E5 M# k6 g s9 s9 x8 p
编辑stirngs.txt,可以修改提取出的字符串,但不要修改每一条字符串下面的一行“______”- v$ U c, d* M
你也可以删掉你不需要修改字符串,记得把每一句下面的“____”也删掉3 i% f- y' ? J8 o: D: u
( J- F3 L% ~, G! |$ W+ F3 I; P2)将修改过的strings.txt注回程序
8 Z+ P+ e: R( u; H$ B命令:exestringz 2 program.exe strings.txt
! a; A+ F5 B" F3 [
1 X0 j+ ^8 s$ o——————————————————————————————————————* h5 A, i2 z+ P. a P% R
可惜的是,经过测试,该工具不能直接用于script内嵌字幕的WME引擎游戏字幕的汉化.
2 {9 U# S- R! h7 U6 G* V因为直接把.scripts格式改为.exe或者.dll是不能被该工具识别的,他会提示 :
; {% Z, k$ m4 m) j# N; g) Y8 AError:unsupported input file or architecture |