Win32资源编辑器库?

5

你是否知道有哪些免费的库可以为Win32 PE文件中的资源提供编辑能力?

它需要能够执行以下操作:

  • 提供一个相当简单的API来修改对话框资源(包括“扩展”对话框版本,这个版本文档非常不好)。
    通过手动使用UpdateResource编辑对话框非常麻烦,因为大多数结构的字段都是可变长度的,并且对它们进行编码/解码非常容易出错和耗时。

  • 处理32位和64位PE文件两种格式

  • 支持广泛使用的资源类型(字符串表、位图等)

  • 能够处理任何有效的资源(即使它不常用),即使这意味着只提供一个简单的二进制复制功能。

  • 我不关心.res文件,也不需要.rc功能。我只需要PE编辑功能。

C、C++和C#都可以,不过我更喜欢C#,因为它更容易编写。我的主要关注点是32位和64位PE文件的对话框编辑,因此这是最重要的因素。

我已经花费了数百甚至数千小时来解码所有资源和PE格式的细节,以创建appTranslator(在SO还不存在的时候)。现在,如果出现这样的库并且可以节省我所有那些不眠之夜,我会跳下桥去 :-D - Serge Wautier
@Serge:哦,该死——那我应该删除我的问题,我不想让它危及某人的生命哈哈。 - user541686
考虑到这些库的稀疏性,可以强烈暗示它并不是那么有用。这始于当文件被加载到进程中时无法编辑资源,因为内存映射文件上有一个强锁。接着会失望地发现UpdateResource功能非常有限。最终,每个人都可以随时使用自己的IDE来支持编辑资源,即使在PE32文件中,在VS中只需点击“文件+打开+文件”。希望Serge没有看到这段话。 - Hans Passant
@Hans:我完全意识到这一点。但在我的情况下,这付出的努力绝对是值得的:appTranslator 的销量不错,用户通常都很喜欢它,谢谢;-) - Serge Wautier
@Hans:哈哈,使用VS(或Resource Hacker等)的问题在于它不适用于批量操作。往往情况下,我需要对一些资源进行更改(例如全局查找/替换、搜索特定大小的图像),但我没有办法做到这一点而不受严重的影响。至少,它需要导出和重新导入资源,并祈祷没有出现任何问题。我还没有尝试过在VS中使用这种方法,但是在Resource Hacker中,它肯定无法扩展。除非你恰好知道如何在VS中使用宏来实现这一点,否则我无法发现VS在这方面有用。:\ - user541686
2个回答

0

这只适用于32位系统,但是resourcehacker可能是一个不错的替代品,直到你找到更好的东西。


0

我还没有机会测试它,但我找到了Anolis.Resourcer,似乎相当不错。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接