可执行文件字符串提取替换工具0.2.3# O2 z7 w, _; `: S: {- q1 M+ w1 T
by Luigi Auriemma
# C, |3 [2 ~0 R- R& W+ r# femail:[email protected]
* H6 W" \/ d, o. J2 d5 I% I2 k: V ]+ Uweb: aluigi.org
" c8 x o& E/ E B2 @* g' N x0 V反汇编引擎来自Oleh Yuschuk. |6 s, g7 f# V) o
1 h0 a- {! k3 f: V4 A6 Z) U, D
使用方法:3 G3 S1 \: Q2 R% I: c* g% L7 G
命令提示符下:exestringz [options] <cmd_1/2> <file.exe/dll> <strings.txt>0 ~$ R @! J9 c Q% D8 B
' M" q2 o% D; ^' j% P* _Options:在模式1下(从可执行文件提取字符串到文本文件)
! j& {) f& r+ n( B-f 禁用字符过滤,默认状况(即不加-f)只提取0~9,a~z,A~Z以及各种符号标点, P7 F& D, [* G1 m$ j; D5 _
, Q& q8 t; m8 `0 m/ d' m; l7 `-a 只提取亚洲字符,即高于0x7f字节的字符串, ?6 _' k5 u9 X
* P Z m4 {8 ~-u 不提取unicode字符串6 h3 a: A. ^" S! s/ T* `: w3 [
! z3 e4 h1 {+ ?
-l LEN 规定有效字符串的最短长度LEN
2 d' B9 p5 R2 W. o4 @8 _( v4 {. |+ l% v0 p" }0 j1 ?, K- ]
-b 激活二进制模式,输入文件不会被反汇编,那么工具会尝试提取所有看起来像是字符串的字节,就像unix程序“srtings”" S6 x# X) Y1 n
5 r* _' P3 k. U ~-e 从文件的入口点开始进行反汇编扫描/ c$ I' Z$ m5 s, O$ e# U
8 `6 t/ ~9 P; c* U& }$ T1 F( H-A NUM 只提取按NUM个字节排列的字符串
5 D5 F' r) Z1 J8 @# q1 g+ ] q7 `2 j9 B6 t( d4 f
下列模式1下的参数只用于查看,因为如此提取出的strings.txt不被模式2支持
" H& c1 p ~( v" F-c C语言格式输出" E( x/ }; Z6 u! R n% s5 F
# B) \1 d) O$ n# Z3 [6 b& j-C 同上,但是输出成数组的样式,例:
0 j8 a: }; {& @+ W" U" Z ( n# R6 `7 p N4 ?
-q 没有字符串之间的“____”线0 Z% t% C1 H) L5 X8 f( Q
/ b9 g; G& { Q0 s$ P" i6 ~
举例:创建strings.txt并且将他们放回可执行文件中
) ?; V- e: S" ~/ O/ r* D( N+ J$ @' z/ e! T
1)提取字符串生成strings.txt6 \9 v. F' a+ D2 o- z: |
命令:exestringz 1 program.exe strings.txt A: O9 c' R b5 H
5 p$ _! x" \; g1 b6 v
编辑stirngs.txt,可以修改提取出的字符串,但不要修改每一条字符串下面的一行“______”( I8 }8 `7 n3 @! m: s3 G: h, |
你也可以删掉你不需要修改字符串,记得把每一句下面的“____”也删掉/ [% r$ d. k- n: O
) I! k9 [8 i5 F& K6 z) B
2)将修改过的strings.txt注回程序
3 w' l c. a4 M+ e' i! e命令:exestringz 2 program.exe strings.txt6 f* Q5 H: ^8 ]: D
7 E0 ?$ H. z6 y. Q) N( ]——————————————————————————————————————& }/ C$ p) w6 c8 U$ h
可惜的是,经过测试,该工具不能直接用于script内嵌字幕的WME引擎游戏字幕的汉化.
9 v8 x' O7 D4 k1 }因为直接把.scripts格式改为.exe或者.dll是不能被该工具识别的,他会提示 :7 q0 x m" |9 T' n( I
Error:unsupported input file or architecture |