可执行文件字符串提取替换工具0.2.3
/ o; d! J) ^" s3 l by Luigi Auriemma
/ |) y9 F$ i4 J! O3 temail:[email protected]
2 v" I+ W2 @: |" S8 E) g9 J& @web: aluigi.org
5 E$ Q+ }+ |2 v7 l5 b6 u反汇编引擎来自Oleh Yuschuk# F$ U9 ?; a' R5 m+ b0 u
p; {- V o" ]- X* S# @- k
使用方法:! x) @6 p1 J: Y0 v( N, s
命令提示符下:exestringz [options] <cmd_1/2> <file.exe/dll> <strings.txt>3 N: x$ b7 l: }: C2 w& @
/ b" M" V+ C7 G9 gOptions:在模式1下(从可执行文件提取字符串到文本文件); l; W' i0 F1 v+ X
-f 禁用字符过滤,默认状况(即不加-f)只提取0~9,a~z,A~Z以及各种符号标点1 O' o+ ^: u, {* ]1 z H1 W
" |; z/ \& C0 w9 a9 n
-a 只提取亚洲字符,即高于0x7f字节的字符串
: h4 F9 @+ v0 q: S" C( b0 O4 i
0 g% M& O" |/ d0 g+ \4 q; k-u 不提取unicode字符串& G! N" o& R$ F: m
% J: m8 b G: w) g+ i/ W# k
-l LEN 规定有效字符串的最短长度LEN
! o7 r# p# S& Z+ o, Z' A0 V: w% ?+ a! `( }: F7 w9 g/ @3 ~
-b 激活二进制模式,输入文件不会被反汇编,那么工具会尝试提取所有看起来像是字符串的字节,就像unix程序“srtings”" T% p; Y) ~$ R3 z
* I' ?' H7 }4 P+ u& H9 @-e 从文件的入口点开始进行反汇编扫描
- C1 l/ O4 l. g2 `* m* F! x# _: m5 D( F5 Z3 ?$ ]: }, ~9 J
-A NUM 只提取按NUM个字节排列的字符串
" P" O# j, w- ]6 {1 Y, z
/ D! o, e1 y- N, A$ q下列模式1下的参数只用于查看,因为如此提取出的strings.txt不被模式2支持+ D( _; p# B2 p0 N/ P
-c C语言格式输出
. D) q# W6 u$ b% i* M" R
! K' _! G" z. ~% o# C- b: p-C 同上,但是输出成数组的样式,例: . c' l4 C! |8 {3 Z* a% S/ b6 L
1 @1 e6 v) E: T& r
-q 没有字符串之间的“____”线
1 A7 U$ x/ ^$ ^. s$ k3 M" c2 l/ @7 y' U) n, k% P
举例:创建strings.txt并且将他们放回可执行文件中/ X! u. e/ u) J0 R; M
2 O' ^7 a1 `7 T( J4 b- K3 ^1)提取字符串生成strings.txt
) m7 a- y3 o+ |( y" i命令:exestringz 1 program.exe strings.txt1 T. i6 Q% C1 W
9 W9 [! \8 s: r# T9 B
编辑stirngs.txt,可以修改提取出的字符串,但不要修改每一条字符串下面的一行“______”
0 D: s m7 A/ B+ ]2 Q# @% t" i你也可以删掉你不需要修改字符串,记得把每一句下面的“____”也删掉: k) J% e5 K* ^5 S2 e
$ B3 w z" J5 k; N+ F& q" b' g5 L
2)将修改过的strings.txt注回程序
' X1 u: b0 b0 M& M0 g! ~+ u命令:exestringz 2 program.exe strings.txt
# \2 j4 l( J7 k& t( ^2 y* D _ d- p$ }6 `
——————————————————————————————————————
0 I$ a- j4 r% u( U& R可惜的是,经过测试,该工具不能直接用于script内嵌字幕的WME引擎游戏字幕的汉化.
' A+ N4 n X% L+ k6 J3 f因为直接把.scripts格式改为.exe或者.dll是不能被该工具识别的,他会提示 :
3 k) W' n& G" `' F5 ~Error:unsupported input file or architecture |