当我在某些代码中使用它时,以下代码段工作正常
MOV ECX,DWORD PTR DS:[0x41154] //Address
但是当我尝试在我的应用程序中将该地址设置为变量,然后执行类似操作时
MOV ECX,DWORD PTR DS:[PointerAddress]
执行代码时应用程序崩溃,PointerAddress
当前初始化为
DWORD PointerAddress = 0x41154;
谁能发现问题所在?
这里
[PointerAddress]
指针地址被视为指针,而不是 DWORD 值。
就像
*(DWORD*)PointerAddress
而不是像
PointerAddress
您执行双重取消引用,从而导致崩溃。
尝试使用
mov eax, PointerAddress
mov ecx, dword ptr ds:[eax]