x64 - 在電腦上偵測到較新版本的microsoft visual c++ 2010可轉散發套件



如何在內存中給定的絕對地址放置一個變量(使用Visual C++) (1)

我怎樣才能靜態地告訴Visual C ++放置一個全局變量在內存中給定的絕對地址,就像__attribute__((at(address)))所做的一樣


這可以做,但我不相信有一個預定義的方式來做到這一點,因此需要一些實驗。 即使在運行時僅在用戶代碼執行開始時創建變量,我也看不到太多的好處。

因此,首先使用分配 MS 特定說明符指定要在哪裡初始化變量的段/段。 然後,在真實場景中啟動應用程序,轉儲它或調試它並查看變量出現的位置。 注意搬遷(有一些辦法可以強制不搬遷,但不能保證永遠不會被搬遷)。 另一種方法是在你的應用程序中使用一些代碼來找到你定義的部分的地址。

如果由於某種原因無法獲得一致的行為,則可以使用此實用程序來操作目標文件的虛擬地址。 總而言之,除了一路上的障礙之外,總的來說,我不明白為什麼如果你足夠執著的話,你將無法為你的特定場景工作。





portable-executable