[英]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.