你看看这个工具可以用吗?. `+ o* q) h/ ~
http://www.aluigi.org/mytoolz/exestringz.zip
7 x2 H1 w- P+ ^% m! T4 H8 |; x. L' [7 _* {% x# G
http://www.aluigi.org/mytoolz.htm
# t9 a' p; Q- T, A# a+ h; ZExecutable's strings lister and replacer 0.2.3 (exestringz) .image.
- N( b. H& C8 lthis tool has the main purpose of finding any ASCII and unicode string inside PE and ELF executables with the possibility of modifying them using any external text editor and re-injecting them in the original executable.
C3 ]% I5 A+ i4 ?& Ntechnically the finding of the strings works in the following way: it disassembles all the executable sections of the input file (like .text, only x86 32 bit supported) and visualizes any string or any array of strings, so any instruction like push "string" or mov eax, "string" or mov eax, "[4*edx+array]" and so on is handled perfectly.
; @* w8 X! N2 V$ u' N! o1 Kinstead the injecting of the modified strings back in the executable (ELF not supported) is performed through the adding of a new "stringz" section which contains all the new strings and the substituiting of all the pointers to those strings collected in the "finding" operation with the new ones (relocation).0 l, e1 V; X8 c8 s
the tool can be also used as a quick and advanted strings program (the one available on *nix) with the difference that the strings found by exestringz are not casuals but are found and confirmed by the disassembled code avoiding false positives. ], y5 n" Q! U% O
anyway through the -b option the tool can acts exactly like the strings program and naturally can also re-import the modified strings.
6 y" J, @0 ?) e0 c9 W$ Kthere is also an "experimental" option specific for the asian utf8 which was also the reason of the initial creation of this tool for the translating of a japanese game.! {7 ?! s2 `" q+ b9 I1 Z
note that for obvious technical reasons is not possible to export and reimport ever all the strings for any executable because in some cases (usually with big programs) could be generated false positives, anyway the output file generated by the tool is very easy to understand and edit so it's not a problem.. u0 L7 l: d; @
technical limitations:- v( H$ ^- {/ z% N0 b: |7 y
# O0 f6 S6 s. t% L4 K
the end_of_line (carriage return/line feed) is left as was in the original string, so the result is that the output file could have a "mixed" style of unix ('\\n') and windows ('\\r\\n'), and some text editor could try to convert the whole text in or the other style causing troubles (for example overwriting other strings or resources in the executable) 0 m! @5 o2 P* F- p) f7 k
the recognization of the english strings is ok since that charset is enough limited but for the others it's just a chaos anyway the tool is still a work-in-progress... |