2015-11-10 86 views
1

我想委託會員.ptr.funcptr轉化爲匹配在DRAM可執行映像中的東西絕對地址。如何將代理轉換爲DRAM中的絕對地址?

的目標是不打電話,也不修改,而是讓目標在運行時,當自己的形象在DRAM裝載拆卸本身。

到目前爲止,已經可與全球職能。

可能嗎?

+0

在物理RAM中還是在進程內存中? –

+0

你可以設置指向地址的指針,根據需要使用強制轉換來告訴類型系統,你知道你在做什麼。 ...但你確定你知道你在做什麼嗎?代表以特定方式工作,可能不匹配隨機地址。函數指針可能更合適,但只是你需要做的事情。 –

+0

@ratchetfreak:是的,在RAM –

回答

3

委託的地址是.funcptr屬性的值。在此屬性的類型是有點誤導 - 這是function型的,而且能列表,實際上是預期傳遞上下文中隱藏的說法,但對於剛剛起步的地址,你可以忽略類型(顯式鑄造void*size_t如果你想改變類型),只看地址。

這不是在物理內存中的地址,你應該去問操作系統了,只因爲它給人的虛擬地址由處理器自動翻譯,這是最有可能你想要什麼呢。

相關問題