Delphi:将ImageBase设置为大于32位(对于64位Windows应用程序)

aff子

我一直在使用{$IMAGEBASE}Delphi中指令,但是我可以看到只能输入小于$FFFFFFFF(32位)的值。

我正在编译为x64,我需要设置一个大于32位的图像库,但是Delphi忽略了我的64位ImageBase中较高的32位DWORD。

是否有人设法将值设置为高于$FFFFFFFFDelphi的ImageBase?

我需要它,因为我需要在“高” ImageBase中测试我的应用程序(由于一些钩子测试等)

谢谢!

戴维·赫弗南

尽管有新的PE可选标头允许指定较大的图像基值,但Delphi链接器不支持较大的图像基。

因此,我认为,在Embarcadero引入任何此类功能之前,您将需要使用第三方工具在可执行文件生成后对其重新设置基础。例如,MS工具链中带有/ REBASE选项的EDITBIN

我使用了一个简单的64位VCL程序,该程序是用XE7构建的,并像这样重新建立了它的基础:

editbin /rebase:base=0xffffff0000 Project1.exe

我使用Process Hacker确认图像库确实是指定的。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

对于64位Windows上的32位应用程序,是64位操作是原子操作

将64位本机Windows应用程序设置为默认程序

Windows 32位和64位JavaFX应用程序的单个安装程序

使用32位应用程序中的64位库

无法在64位Windows计算机中启动32位RCP应用程序

将应用程序和配置从64位迁移到32位

为什么对于32位Windows应用程序“不必释放使用LoadResource加载的资源”?

无效的程序异常,“启用32位应用程序”设置为false

从32位应用程序获取64位应用程序的过程信息

64位软件/应用程序比32位软件/应用程序需要更多的RAM吗?

确定Windows为32位或64位

64位Delphi桌面应用程序可以通过Windows 8.1认证吗?

如果可以在 32 位和 64 位上运行,则将应用程序设置在任何 CPU 上并编译为 64 位。视觉工作室 2019

要使32位应用程序在64位Windows 7上使用2GB以上的内存?

将32位和64位应用程序(具有相同的代码)编译为一个exe

设置Eclipse以制作32位应用程序

如果应用程序是使用“任何Cpu”配置构建的,则该应用程序将在64位Windows上使用哪种.net框架(32或64位)

Delphi:如何确定应用程序是否在 Win32/Win64 下运行并在 64 位上自动启动 64 位版本?

Windows 10中的32位应用程序不再启动

如何在32位应用程序中获取64位系统文件夹?

在32位Ubuntu系统上运行64位应用程序

判断安装的应用程序是64位还是32位的快速方法

为什么32位Android应用程序可以在64位设备上运行?

在64位Linux操作系统上编译32位Qt应用程序

在32位应用程序中访问64位注册表

如何在最近的Ubuntu 64位中运行32位应用程序

在Perl或Neko中使用来自64位应用程序的32位库

在64位Linux机器上运行32位应用程序

如何在32位架构上运行64位应用程序