如何获取可执行文件的字符串转储?

Posted

技术标签:

【中文标题】如何获取可执行文件的字符串转储?【英文标题】:How to get a string dump of an executable? 【发布时间】:2016-03-10 17:34:07 【问题描述】:

我正在处理一个项目,我需要获取可执行 PE 文件中包含的所有字符串的列表,就像某些程序一样。这是我需要文件返回的屏幕截图:

https://i.imgur.com/Uw1yXIR.png

我可以得到文件的十六进制转储,字符串在那里,但我不知道如何提取它们。也许使用正则表达式或其他东西,idk...

我不想要代码,只想要代码的逻辑。谢谢!

对此有什么建议吗?

【问题讨论】:

【参考方案1】:

在 linux 计算机上有一个命令“strings”(binutils 包的一部分): strings - 打印文件中可打印的字符串。

如果您在 Windows 计算机上安装了 cygwin,则可以从 cygwin 命令行使用该命令:

strings /cygdrive/h:/.../executablefile

【讨论】:

以上是关于如何获取可执行文件的字符串转储?的主要内容,如果未能解决你的问题,请参考以下文章

打开具有不同可执行文件但源相同的核心转储文件

如何调试从执行发布文件生成的核心转储文件?

从解密的 iOS 应用程序可执行文件中查找常量

Linux下如何获取当前可执行文件的文件名

如何在 C# 中获取当前可执行文件的名称?

如何获取窗口的可执行文件名