gpt4 book ai didi

资源中的 c++ visual studio 2010 exe 得到 Rebased?

转载 作者:可可西里 更新时间:2023-11-01 17:59:45 30 4
gpt4 key购买 nike

有没有人注意到,如果您将一个 exe 作为资源导入,它会重新设置基址,而且它的 PE header 似乎也被重建了?

有时候这很烦人。有谁知道如何禁用 rebase !?

在 C++ 中重现的步骤:

1) 编译一个 hello world 并手动将其基址(在属性中)设置为 0x1000000

2) 创建第二个项目并将 hello world 包含到资源中。同样手动设置它的基地址,如上。

3) 构建第二个项目

4)从资源中提取exe,用Pe编辑器查看!它被设置回 0x400000。为什么?!

最佳答案

您如何将 EXE 作为资源包含到第二个项目中?

使用这些定义:

#define BINFILE 222
#define IDR_MYFILE 101

如果我在 .rc 文件中引用可执行文件作为指向原始文件,例如:

IDR_MYFILE BINFILE "S:\\mysource\\t1\\Release\\t1.exe"

然后,在提取后,我的嵌入式 EXE 资源不会 rebase ,但会保留我构建它所用的内容。

关于资源中的 c++ visual studio 2010 exe 得到 Rebased?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564706/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com