簡體   English   中英

在DLL中使用的結構地址

[英]Struct address to use in DLL

我有結構體的地址(我認為這是個好方法)0040336C我試圖在要注入某些程序的DLL中使用它(該地址為)

這真的是實驗性的,因為我正在嘗試獲取lua_State地址。

data:0040336C ?L@@3PAUlua_State@@A dd ?               ; DATA XREF: _main+Cw

lua_State* L = (lua_State*)0x0040336C;

我嘗試過這種方式,但是注入后程序崩潰。

(調試器怎么說)

midaslua.exe中0x003a19e8處未處理的異常:0xC0000005:訪問沖突讀取位置0x443de713。

您引用的第一個地址是DLL的數據段中struct的地址,但是您要取消引用的地址是進程內存中的地址。 這兩個地址不是同一類,因此不可能像您一樣使用它們。

實際上,您嘗試取消對內存的引用,而應用程序可能已存儲或未存儲某些數據,並將該內存視為lua_State (大多數情況下不是)。 這導致了不確定的行為,最終導致了AV。

很難(甚至不可能)在內存中定位此變量存儲在進程內存中的位置。 建議另一種方法。

暫無
暫無

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

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