微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将编译资源.res文件链接到可执行文件

我想要做的是以编程方式更新可执行文件的资源。

我有一个二进制资源(.res)文件containg位图,图标,版本信息和清单,用资源编辑器创build,并使用AutoHotkey编译的PE文件,我想要从.res文件复制资源的PE文件

到目前为止,我曾经在ResourceHacker的命令提示符下做这个,但是ResourceHacker不能被重新分配,除此之外我想更优雅地做这个。

所以我正在寻找WinAPI函数,似乎有办法做到这一点: http : //msdn.microsoft.com/en-us/library/windows/desktop/ms648008%28v=vs.85%29.aspx

但问题是本文介绍了如何将资源从可执行文件复制到另一个文件,并且您不能用LoadLibrary / LoadLibraryEx导入不可执行文件(.res文件)。

易于使用的便携式可执行恶意软件debugging器

MS装载程序将PE文件的哪些部分映射到内存中?

Perl:获取二进制文件支持的最低操作系统

EXE数据部分的数据

一个PE文件如何映射到内存?

似乎还有一种方法可以使用Visual Studio中的工具来执行此操作,特别是LINK.exe 。 但我不确定它是否可以在VS环境之外使用。 我不知道它是如何工作的。

exe文件的大小vs可用内存

如何使用节上的fixups属性

什么部分没有被PE加载器加载?

如何将时间戳证书添加到Linux上的签名PE文件

在PE文件中重复导入条目

您可以使用UpdateResource函数以编程方式更新资源

RES文件不涉及。 项目makefile系统使用RES文件来实现最小的资源重建…每当应用程序被重新链接时,都不必重新编译,只需嵌入即可。 但是,您并没有重新链接应用程序并丢失现有资源,因此只更新您想要更改的资源即可。

如果您的源资源已经在RES文件中编码,那么描述“资源文件格式”的这个页面可以帮助您提取它们。 它还介绍了LINK.exe用于资源嵌入的使用。 LINK.exe是作为Visual Studio的一部分安装的,但在许多版本的Platform SDK和Windows DDK中也可以使用它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐