【问题标题】:Win32 resource editor library?Win32资源编辑器库?
【发布时间】:2011-10-26 07:56:52
【问题描述】:

有没有免费的库可以为 Win32 PE 文件中的资源提供编辑功能?

它需要能够做到以下几点:

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

    李>
  • 同时处理 32 位和 64 位 PE 文件

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

  • 能够处理任何类型的有效资源(即使它没有被广泛使用),即使这意味着只提供与二进制文件的简单副本。

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

C、C++ 和 C# 都很好,虽然我更喜欢 C#,因为它更容易编写代码。我主要关心的是 32 位和 64 位 PE 文件的对话框编辑,所以这是最重要的因素。

【问题讨论】:

  • 我已经花费了数百甚至数千小时来解码资源和 PE 格式的所有细节以创建 appTranslator(当时还不存在 SO)。现在,如果出现这样的图书馆并且可以拯救我所有那些不眠之夜,我会从桥上跳下来:-D
  • @Serge:哦,该死——我应该删除我的问题,我不希望它以某人的生命为代价,哈哈。
  • 将这些库的稀疏性作为一个强烈的暗示,表明它没有那么有用。首先是当文件加载到进程中时无法编辑资源,内存映射文件对它有很强的锁定。当发现 UpdateResource 非常有限时,随之而来的是失望。最后,每个人都拥有一个触手可及的 IDE,它已经支持编辑资源。即使在PE32文件中,VS中的文件+打开+文件。希望 Serge 没有读到这篇文章。
  • @Hans:我完全了解这一切。就我而言,这完全值得付出努力:appTranslator 卖得不错,用户通常喜欢它,谢谢 ;-)
  • @Hans:哈哈。 VS(或 Resource Hacker 或其他)的问题在于它对批处理操作没有用处。很多时候,我需要对某些资源进行更改(例如全局查找/替换、全局搜索特定大小的图像),而我无法做到这一点而不会在后面造成很大的痛苦。至少,它需要导出和重新导入资源,并祈祷一切都没有搞砸。我没有用 VS 试过这个,但是用 Resource Hacker 它肯定不能扩展。除非您碰巧知道在 VS 中为此使用宏的方法,否则我找不到 VS 对此有用。 :\

标签: c# c++ c winapi resources


【解决方案1】:

我没有机会测试它,但我发现Anolis.Resourcer 似乎很强大。

【讨论】:

    【解决方案2】:

    它仅适用于 32 位,但 resourcehacker 可能是一个很好的替代品,直到你找到更好的东西。

    【讨论】:

      猜你喜欢
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 2013-12-11
      • 1970-01-01
      • 1970-01-01
      • 2012-12-31
      相关资源
      最近更新 更多