1

当我在某些代码中使用以下代码时,它可以正常工作

MOV ECX,DWORD PTR DS:[0x41154]  //Address

但是当我尝试在我的应用程序中将该地址设置为变量然后执行类似的操作

MOV ECX,DWORD PTR DS:[PointerAddress]

执行代码时应用程序崩溃,PointerAddress当前初始化为

DWORD    PointerAddress = 0x41154;

谁能发现有什么问题?

4

1 回答 1

4

这里

[PointerAddress]

PointerAddress 被视为指针,而不是 DWORD 值。

就像是

*(DWORD*)PointerAddress

不喜欢

PointerAddress

您执行双重取消引用,因此崩溃。

尝试使用

mov eax, PointerAddress
mov ecx, dword ptr ds:[eax]
于 2012-07-02T18:20:01.877 回答