2

我需要一种方法来编辑已编译可执行文件的资源(确切地说是字符串表),并且我需要在 C++ 中进行。

任何人都可以提供有关如何执行此操作的任何指导/示例代码吗?

4

4 回答 4

3

从它开始LoadLibrary()并加载一个可执行文件(您要编辑的那个)然后FindResource()根据UpdateResource()需要。

在这里阅读所有相关信息:

PE 格式资源函数

于 2012-10-25T21:01:13.373 回答
2

如果你在 Linux 或 OS X 上,总有“strings”命令会打印出可执行文件中的所有静态字符串。将其与“objdump”之类的内容和一些知识与十六进制编辑器相结合,您也许可以拼凑出一些东西。

于 2012-10-25T20:49:10.360 回答
1

我不知道这是否可能,一旦你有一个编译的可执行文件并且它只是机器代码,就没有一种具体的方式来理解如何解释它(因此找到/编辑你正在寻找的资源)...即,一旦您拥有可执行文件,您就无法确定一个单词是汇编中的指令还是只是表示汇编中的数字、标签等的单词...

我所知道的。

于 2012-10-25T20:41:52.653 回答
1

您可以查看Matt Pietrek的PeDump的良好旧参考和源代码。他确实在 C++ 中处理(只读)PE 文件的资源。也许它会激励你解决你的问题......

于 2012-10-25T21:05:12.060 回答