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