可执行文件字符串提取替换工具0.2.3
2 J7 r, ~6 V" U8 m k" A by Luigi Auriemma7 [! e6 w* S, E' d% D5 p0 T$ |0 s
email:[email protected]" |: L9 q' j% D" p& f2 s" F% J" u
web: aluigi.org
2 @$ C- j8 m g1 S+ k反汇编引擎来自Oleh Yuschuk
5 \' i& v3 F" h# k! J
4 @6 C+ \" W( Q1 p9 o0 g" q使用方法:, ?( K; x9 L* Z% D* p9 J- {9 b
命令提示符下:exestringz [options] <cmd_1/2> <file.exe/dll> <strings.txt>
3 w$ g. n9 L4 Q o! X
4 X v$ k# x) X# `( n+ yOptions:在模式1下(从可执行文件提取字符串到文本文件). X0 {% `; O9 r1 j
-f 禁用字符过滤,默认状况(即不加-f)只提取0~9,a~z,A~Z以及各种符号标点3 D5 R1 o% P/ z4 j" ^5 U
! m% s% ]- I1 d7 `1 C, p4 H, V-a 只提取亚洲字符,即高于0x7f字节的字符串
/ ^: U8 h; A5 I: C$ }) q
2 a5 s( `7 k: m. h( @4 M" m W-u 不提取unicode字符串. @" r* k, T6 K! S$ [ V
9 _* d% k- j1 m# i1 M-l LEN 规定有效字符串的最短长度LEN
q: T( A+ D) F, c
1 C3 ~. ~- z2 j1 z5 ?3 i-b 激活二进制模式,输入文件不会被反汇编,那么工具会尝试提取所有看起来像是字符串的字节,就像unix程序“srtings”
* W t- a' E; \$ c, O
+ W& C2 i7 u7 x$ l% M$ K) h% K-e 从文件的入口点开始进行反汇编扫描
) Q* n/ O* f) R( F/ a- {
2 b9 G6 X1 L9 Y4 N& H-A NUM 只提取按NUM个字节排列的字符串& r8 A$ O. X& M3 p' M
) ^1 k8 Y: A) c8 `
下列模式1下的参数只用于查看,因为如此提取出的strings.txt不被模式2支持7 U3 C. v. O _
-c C语言格式输出, z8 ?) e3 r( v3 p, i
, q/ c2 P, T' ~: ~-C 同上,但是输出成数组的样式,例: + n% P% j ~# c' v
' w3 Z9 `2 ?6 l6 s9 u( U' r
-q 没有字符串之间的“____”线0 t! `" x3 I5 c' R( {
$ \" @% C. Q0 H: N; `1 i
举例:创建strings.txt并且将他们放回可执行文件中% a0 b) h3 T" d i: c, d; n, X' I7 a) [
8 I1 l0 x, U, N, }
1)提取字符串生成strings.txt3 c' i+ g6 s) {, r8 {' w# f
命令:exestringz 1 program.exe strings.txt
: N3 c( H9 r( e& b4 _8 ]# r9 @4 l, }$ D9 F; f! r% o
编辑stirngs.txt,可以修改提取出的字符串,但不要修改每一条字符串下面的一行“______”& j. g! ?9 b! P& P7 @! m
你也可以删掉你不需要修改字符串,记得把每一句下面的“____”也删掉
) w+ y, q$ X: F$ `6 I7 s
5 J3 o. q& I. C2)将修改过的strings.txt注回程序% X9 ? ?% B3 J7 S' i: \
命令:exestringz 2 program.exe strings.txt# U9 b) B. H( r5 l$ |! Y! k) C
- s+ L. g( S1 M+ r- v/ h——————————————————————————————————————
- J1 e: ^% b( F: d3 g. N1 H4 O可惜的是,经过测试,该工具不能直接用于script内嵌字幕的WME引擎游戏字幕的汉化.5 }: A. h' L* U3 b. O
因为直接把.scripts格式改为.exe或者.dll是不能被该工具识别的,他会提示 :
- J; \$ L) d3 Y- |: p" ~5 pError:unsupported input file or architecture |