可执行文件字符串提取替换工具0.2.3# X1 P+ z8 Q& v, P1 b8 Q
by Luigi Auriemma
; J$ A* S: f5 Z- h3 D. Memail:[email protected]& l. L2 y$ n6 U0 Y X
web: aluigi.org
9 G3 F2 O: r* v. W1 M w5 h反汇编引擎来自Oleh Yuschuk
0 D: Z$ l9 f, _1 u+ C v7 B& G" U5 u
使用方法:1 B/ c3 Z" Y+ |6 V4 V, w
命令提示符下:exestringz [options] <cmd_1/2> <file.exe/dll> <strings.txt>
0 I: I. A. Q6 _/ M: @9 z
$ u0 W( ^5 O4 d4 YOptions:在模式1下(从可执行文件提取字符串到文本文件)6 n( s0 a& K' Y) B: t
-f 禁用字符过滤,默认状况(即不加-f)只提取0~9,a~z,A~Z以及各种符号标点
( ]3 g5 G5 ?" h6 A& \& X
& e }; C( a5 ~) X-a 只提取亚洲字符,即高于0x7f字节的字符串
5 N7 q3 a/ }: V$ S2 Y/ o9 ?% i5 V
; a/ y: o% S; ^8 H: b-u 不提取unicode字符串% W, `* [0 v/ v4 g% M6 E0 K
$ q7 t9 @ x P0 }$ |
-l LEN 规定有效字符串的最短长度LEN A. |& q9 ], N% W; I" P( m
+ _$ K* R' U9 ?& m-b 激活二进制模式,输入文件不会被反汇编,那么工具会尝试提取所有看起来像是字符串的字节,就像unix程序“srtings”, G9 p5 P9 {8 Q% p
1 O9 L$ g L; I9 l+ a& h3 B: I* b-e 从文件的入口点开始进行反汇编扫描
6 R8 Y% N z4 X* _: U/ f
f4 B8 L, G6 g% C ^-A NUM 只提取按NUM个字节排列的字符串) l, s+ }) D0 J$ C( d) q" O
9 O/ Y, G* f* Q; [, @ F下列模式1下的参数只用于查看,因为如此提取出的strings.txt不被模式2支持7 y o, L0 S% _6 u, \. T
-c C语言格式输出. {( ?9 o$ T7 W5 B) V$ s
( f8 h: U( F, B& W3 U-C 同上,但是输出成数组的样式,例:
6 e" Y0 M. k9 F
# s% [) h# P, s5 T4 n7 R. [-q 没有字符串之间的“____”线
: s" Q5 Y1 e1 S
6 a+ c7 _3 P& @举例:创建strings.txt并且将他们放回可执行文件中
# w$ \4 {& ]. q3 L4 m) K5 w, a- B$ [, a X) W7 c
1)提取字符串生成strings.txt* p" R* X7 W: w2 ?, c9 I
命令:exestringz 1 program.exe strings.txt
" X/ Z* u9 D. N( l5 l# @/ x# N/ m' H4 V, Y( Z( ?; y" r
编辑stirngs.txt,可以修改提取出的字符串,但不要修改每一条字符串下面的一行“______”1 J! E) [. E" Q7 H! s4 a1 S: i2 P
你也可以删掉你不需要修改字符串,记得把每一句下面的“____”也删掉
2 x6 r. c! p8 B: K- T1 i6 I& E s% G& S1 @( Z. P1 g" U) W
2)将修改过的strings.txt注回程序% e& o' `7 q3 @ {" K- h( K6 t* |' y2 c
命令:exestringz 2 program.exe strings.txt
& H" O% g( y$ w( J6 k: @& ~0 [ H
——————————————————————————————————————
( `; M' [0 H. x4 e/ L2 G- `5 E可惜的是,经过测试,该工具不能直接用于script内嵌字幕的WME引擎游戏字幕的汉化.) L4 Q* y! o. d- p2 b
因为直接把.scripts格式改为.exe或者.dll是不能被该工具识别的,他会提示 :
$ N+ w) v2 c8 J4 I% AError:unsupported input file or architecture |