如何使用C ++编辑可执行文件中的资源?

时间:2012-10-25 20:34:05

标签: c++ resources executable portable-executable

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

任何人都可以提供关于如何做到这一点的任何指导/示例代码吗?

4 个答案:

答案 0 :(得分:2)

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

在这里阅读所有相关内容:

PE format Resource Functions

答案 1 :(得分:1)

如果您使用的是Linux或OS X,则始终会使用“strings”命令打印出可执行文件中的所有静态字符串。将它与“objdump”和一些知识与十六进制编辑器结合使用,你可以将一些东西拼凑在一起。

答案 2 :(得分:0)

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

据我所知。

答案 3 :(得分:0)

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