当我在某些代码
中使用它时,以下代码可以正常工作MOV ECX,DWORD PTR DS:[0x41154] //Address
但是当我尝试在我的应用程序中将该地址设置为varable时,然后执行类似
的操作MOV ECX,DWORD PTR DS:[PointerAddress]
应用程序在执行代码时崩溃,PointerAddress
当前初始化为
DWORD PointerAddress = 0x41154;
有人能发现什么是错的吗?
答案 0 :(得分:4)
下面
[PointerAddress]
PointerAddress被视为指针,而不是DWORD值。
就像
*(DWORD*)PointerAddress
而不喜欢
PointerAddress
你执行双重取消引用,因此崩溃。
尝试使用
mov eax, PointerAddress
mov ecx, dword ptr ds:[eax]