簡體   English   中英

資源中的C ++ Visual Studio 2010 exe是否獲得重新設置?

[英]c++ visual studio 2010 exe in resource get Rebased?

有沒有人注意到如果將exe作為資源導入,它會被重新設置基礎,並且似乎它的PE標頭也會被重新構建?

有時候這很煩人。 有人知道如何禁用重新設置基准嗎?

在c ++中重現的步驟:

1)編譯一個hello world並手動將其基址(在屬性中)設置為0x1000000

2)進行第二個項目,並將hello世界納入資源中。 還要如上所述手動設置其基址。

3)建立第二個項目

4)從資源中提取exe,並使用Pe編輯器進行檢查! 它設置回0x400000。 為什么?!

您如何將EXE作為資源包含到第二個項目中?

使用這些定義:

#define BINFILE 222
#define IDR_MYFILE 101

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

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

然后,在提取時,我的嵌入式EXE資源不會重新建立基礎,而是保持構建時所用的資源。

您可能對將exe文件轉換為const unsigned char []數組的二進制生成器感興趣。 這樣,VisualStudio將沒有機會窺探您的資源。

例如,此代碼: http : //sourceforge.net/projects/juce/files/juce/1.52/prebuilt%20binaries/BinaryBuilder.exe/download

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM