我一直在玩耍,寻找字符串

  "Please wait!!!"
   "Done!!"


下面是麻烦的字符串

 File pos Mem pos ID Text 
 ======== ======= == ==== 
 0000000922E8 000000492EE8 0 Caption 
 00000009230A 000000492F0A 0 Checked 
 00000009232C 000000492F2C 0 SubMenuImages 
 000000092354 000000492F54 0 Default 
 000000092376 000000492F76 0 Enabled 
 000000092402 000000493002 0 ImageIndex 
 000000092426 000000493026 0 RadioItem 
 00000009244B 00000049304B 0 ShortCut 
 00000009246E 00000049306E 0 Visible 
  000000092490 000000493090 0 OnClick 


这些是真实字符串还是被加密破坏了? br />我该如何实现?

#1 楼

这些不是真正的字符串,那就是可以解释为字符串的二进制数据。这就是BinText之类的工具的工作方式-通过尝试将任意字节序列评估为字符串,并在通过阈值(通常为4个字符左右)时将其接受为一个字节。

我对BinText不熟悉,但我经常用于此类任务的工具是010编辑器(http://www.sweetscape.com/010editor)。这是一个非常好的文本和十六进制编辑器,并且具有免费试用版许可证。它基本上可以编辑计算机上的所有内容(文本和二进制文件,硬盘驱动器,进程),具有用于解析已知文件格式,脚本和高级二进制搜索选项的模板。您要查找的功能是其“查找字符串”选项,该选项可以查找所有字符串,而无需考虑格式,并且可以通过一些参数轻松进行调整。

因为字符串可以用几种格式表示,所以具有可以识别字符串并支持同时搜索多种格式的工具对于此类搜索确实很有帮助。

很明显,字符串可能会被混淆,在这种情况下,搜索将无法进行,但这超出了此问题的范围。打开另一个,我也会回答。

#2 楼

如果您正在运行Linux,则可以运行strings命令查看正在分析的二进制文件中的硬编码字符串。

示例:

$ strings my_executable


strings程序也可用于Windows。

您将以与在Linux上相同的方式运行它:还想指出一些字符串仅在运行时动态生成。如果您正在运行Windows,则可以使用进程黑客查看进程内存中的字符串。

如果您正在使用进程黑客,只需选择要查找的字符串的进程-> Properties-> Memory。然后,在右上角,您应该看到一个字符串...按钮。这将搜索过程中的所有字符串。

此外,这些字符串似乎太短了,无法成为合法的字符串。带有大约10个
个字符的字符串可能会揭示您可能发现更相关的信息。

#3 楼

要搜索字符串,您可以始终在安装后始终使用radare2,使用终端导航到文件所在的目录,然后键入rabin2 -z filename