可执行文件字符串提取替换工具0.2.36 H6 T6 {& _ A
by Luigi Auriemma
" n3 |" |" m; ?1 eemail:[email protected] L1 n0 V+ b$ G. R
web: aluigi.org
8 o% K) \6 o0 s' c( R D- A+ S反汇编引擎来自Oleh Yuschuk, D8 o' [4 {0 q/ Q2 j, S: D/ C
9 V; j4 a+ e' \$ z2 ?! s- U1 w使用方法:# p- W6 E, y8 y) m9 t3 _
命令提示符下:exestringz [options] <cmd_1/2> <file.exe/dll> <strings.txt># o6 b. I( _' {8 T# }3 i
) t! e7 u' r# a3 v
Options:在模式1下(从可执行文件提取字符串到文本文件)7 ]2 v T/ c. ~' Y o( I
-f 禁用字符过滤,默认状况(即不加-f)只提取0~9,a~z,A~Z以及各种符号标点
( t, g3 Q: O) N9 O- n& \ v3 j
-a 只提取亚洲字符,即高于0x7f字节的字符串
, r/ T0 }2 f- s: B; S- ^9 z. b. F+ ^' [6 I8 t
-u 不提取unicode字符串
+ G$ G2 R+ d; F4 r) a: |3 @ I. e$ X5 p; U; Q0 g' X+ y* M
-l LEN 规定有效字符串的最短长度LEN
' v. d4 A2 l. [+ O9 G
4 X% }$ V9 G. L( I3 _-b 激活二进制模式,输入文件不会被反汇编,那么工具会尝试提取所有看起来像是字符串的字节,就像unix程序“srtings”
* G( y% F: \* A: ?/ o- W- q0 O/ \! g* V8 y3 H3 Y' @; e1 Q
-e 从文件的入口点开始进行反汇编扫描
3 V0 g/ `7 r: A7 N( t% e! _9 e! r
1 [4 l; @2 [+ T- Y7 `) W-A NUM 只提取按NUM个字节排列的字符串; Z7 k; k; v4 a! v3 e7 [) Z' W" Q
, j6 o# c) x" J9 ~8 H, F/ }0 j) _1 e
下列模式1下的参数只用于查看,因为如此提取出的strings.txt不被模式2支持1 W! L( g+ J. M: R: K2 y# M
-c C语言格式输出6 y/ n: Q2 u) U S; k- \. T
5 g3 a) J' ~$ V" d0 R3 M-C 同上,但是输出成数组的样式,例:
7 w& o3 c+ Z8 a7 \ 0 L5 Y2 _; W0 r* Q7 a1 Q
-q 没有字符串之间的“____”线
; A$ _0 T# T. a! ?1 }3 R' w$ I" r n1 M! c) N% `! ~
举例:创建strings.txt并且将他们放回可执行文件中* [5 {6 v t3 y
$ K6 h! t( P* m1)提取字符串生成strings.txt
+ f% }: b8 c/ y- g3 Y1 l; t b命令:exestringz 1 program.exe strings.txt/ U- @8 q: \. f( p4 [
* Z' ?( b4 V+ r/ K
编辑stirngs.txt,可以修改提取出的字符串,但不要修改每一条字符串下面的一行“______”: t" G! T1 k; P, ]: P. H. h
你也可以删掉你不需要修改字符串,记得把每一句下面的“____”也删掉% V/ B5 p4 s! B2 z$ C! _
. l/ t) x. y. M8 R" e8 {5 r2)将修改过的strings.txt注回程序
( y1 G2 a* l8 p p; @7 s% k命令:exestringz 2 program.exe strings.txt3 _/ A b$ N' V; G0 s
. B& E; a1 ^8 Y/ d6 ~——————————————————————————————————————! l" O8 ]. R4 Y6 r$ ]
可惜的是,经过测试,该工具不能直接用于script内嵌字幕的WME引擎游戏字幕的汉化.7 |$ C- O- P; ?+ D- X
因为直接把.scripts格式改为.exe或者.dll是不能被该工具识别的,他会提示 :; M V d. o! O0 e: _. x
Error:unsupported input file or architecture |