2010-11-25 51 views
0

我想知道是否可以在用戶(預先)指定的地址加載進程?指定進程的內存起始地址

謝謝, Ashutosh說

+5

什麼平臺? – EboMike 2010-11-25 00:50:27

+1

您需要查閱針對您的特定工具鏈的文檔,或者至少爲此處的人員指定它。 C++標準本身不需要任何或者文檔任何潛在的工具。 – 2010-11-25 00:58:56

回答

3

的基地址在PE文件中指定。如果您的意思是要在MSVC中編譯的EXE,則可以在鏈接器設置中設置基址。如果你有一個任意的EXE或者DLL,你可以用一個好的PE資源手動修改基地址。您還應該關閉ASLR - 這也是一個項目設置,並在PE文件中。

大多數EXE文件加載到他們的首選基地址,因爲當你用一個進程啓動一個進程時,它是地址空間中唯一的東西,並且這對於EXE文件跳過重定位表來說並不是前所未聞的。然而,DLL有時必須重新基於。依賴於加載特定的基地址並不是一個好主意。