更改其他Win32-dl​​l / exe中的资源

有一个资源黑客程序,允许更改其他win32(64)dll和exe文件中的资源。

我需要做同样的事情,但是programmaticaly。 是否可以使用.Net框架来完成? 这样做的好起点是什么?

您必须使用BeginUpdateResource , UpdateResource和EndUpdateResource WinApi函数,尝试此页面检查这些函数的pinvoke .Net签名,您也可以检查此项目的ResourceLib 。

作者指出另一个工具“ XN资源编辑器 ”,它带有源代码(虽然是Delphi,而不是.NET)。

这应该足以查看正在使用的函数并使用它们的.NET等价物。

看看Anolis.Resourcer 。 这似乎是你需要的东西

一个ResHacker克隆作为Anolis.Core的测试平台开发并取代ResHacker(因为ResHacker不支持x64,XN资源编辑器(ResHacker的精神续集)不支持多语言资源并且崩溃很多,而其他实用程序则需要花费成本实际的钱。它有一个function强大但简化的用户界面,不会复制命令或将用户与特殊情况处理程序(ResHacker和XN在黑桃中)混淆。

请注意,如果您正在处理已签名的EXE或DLL,则这些都不起作用。

好吧,因为我认为这不是一件容易的事,所以我将使用Resource Hacker的命令行界面 。