可执行文件字符串提取替换工具0.2.3
) Q5 r" J, f! Z3 R( } by Luigi Auriemma
6 S: ~3 R \, M. p2 k0 Qemail:[email protected]
; @6 W3 C( p! k0 p( p$ W& c) oweb: aluigi.org* t+ ^9 \2 I/ o! E5 n
反汇编引擎来自Oleh Yuschuk( o# c- ^1 k% R% ~( x D/ ?3 \
, @5 a: O2 Z$ K# D+ w使用方法:+ }' P6 k: S7 U$ L- F1 E) v
命令提示符下:exestringz [options] <cmd_1/2> <file.exe/dll> <strings.txt>
2 \0 V7 _9 I6 S0 V$ m% D% _% J) y; m0 {3 W2 E/ w x4 p
Options:在模式1下(从可执行文件提取字符串到文本文件)
$ j0 o' S- R% l9 s! ]' Y; K$ T-f 禁用字符过滤,默认状况(即不加-f)只提取0~9,a~z,A~Z以及各种符号标点. M4 z8 f" B8 f* O2 M
, A1 O: v# I: o3 Z( }1 q. j9 n
-a 只提取亚洲字符,即高于0x7f字节的字符串7 J, n- v* Y( `* Y# D8 ?8 t& c
6 {$ @4 Y! ]9 S1 j0 V w- M0 R
-u 不提取unicode字符串3 W( L0 m% B, u- o8 J/ o T
% N( O& Q: i7 m: l% u$ d3 h
-l LEN 规定有效字符串的最短长度LEN* x f( t. l2 K% Q0 \0 o* O& H
; K( z' m! m( e) p
-b 激活二进制模式,输入文件不会被反汇编,那么工具会尝试提取所有看起来像是字符串的字节,就像unix程序“srtings”: I9 f4 X& Q8 A }7 {0 x
! Q8 Q \" i5 B1 U' D
-e 从文件的入口点开始进行反汇编扫描) i8 ~& X* T5 ^( O+ q! @
7 k0 z$ ]" G$ D. @2 C) X, G-A NUM 只提取按NUM个字节排列的字符串$ G e; Y9 C$ M& ?% n
( l% t: s& j* s. V& s
下列模式1下的参数只用于查看,因为如此提取出的strings.txt不被模式2支持
3 R1 w" v4 C+ R" Q6 v-c C语言格式输出* j5 o5 G+ [8 z0 p- T
+ o/ W7 D3 @1 v( J* y: C7 l" O-C 同上,但是输出成数组的样式,例: 2 h& i5 D3 l% p
! p, q/ ]/ ~" Q+ B) t# c& `/ w-q 没有字符串之间的“____”线
7 k0 o" F, n2 P; C0 B1 e' ]' r& [8 \7 P' k* f z
举例:创建strings.txt并且将他们放回可执行文件中% r; K7 V: [% v0 u
. s s' K9 u9 k( o% p7 U# P# A0 n6 Q( O
1)提取字符串生成strings.txt3 L' i N! j1 T$ R. C
命令:exestringz 1 program.exe strings.txt8 z/ Y, m6 g7 a* ^
$ N( X! V5 U$ e: m' n1 ]0 Q7 Q: G 编辑stirngs.txt,可以修改提取出的字符串,但不要修改每一条字符串下面的一行“______”) B& q) X; J+ t, S2 t+ v
你也可以删掉你不需要修改字符串,记得把每一句下面的“____”也删掉
# s4 p7 b- F: V" c' W- G9 C1 x
2 u- t6 {8 S+ }. T2)将修改过的strings.txt注回程序
3 m G5 M6 L: k8 X; ^命令:exestringz 2 program.exe strings.txt% {( p2 t3 ~ \' c Z! Y _
/ `. E1 e6 z7 D- g
——————————————————————————————————————
9 f4 ]" f- v- y6 v* w' e可惜的是,经过测试,该工具不能直接用于script内嵌字幕的WME引擎游戏字幕的汉化.4 O; Q1 ]/ w i3 Z
因为直接把.scripts格式改为.exe或者.dll是不能被该工具识别的,他会提示 :
7 ^/ I' G4 x7 f, E; w4 Y: zError:unsupported input file or architecture |