人造指针遇到MOVXS应该怎样写代码呢?
上图是一个CE修改教程(全名为Cheat Engine 由浅入深修改游戏)中的第七课“”人造人指针
这位老师的目标是,让一个地址出现在其他空白的内存中,从而不需要一步步找指针即可知道地址。
上图是我特意放大的,里面的mov eax,[edi+00005578]是一个“谁访问了这个地址”看到的代码,再上面的push eax开始到pop eax我都懂,所以我找了另外一款游戏“帝国时代罗马复兴”进行练习,结果却被movxs卡住了。如下图
如果代码的格式也是老师mov,我当然知道怎样写代码,可是出现movxs,当我写自动汇编的时候却出现,如下图
当我删除word ptr,如下图
删除后是可以进行下去的,但出来的结果却和教程不一样,它是没有指针的,而且所对应的地址也不一样。如下图
下图是我脚本中指定的地址"00580020"内存情况
我应该如何写代码才能和老师的一样,能够正确人造指针,谢谢大家。
下面是我的代码,和视频老师的格式是一样的
(另外我听说可以通过共用特征码解决这个问题,具体我也不是很清楚,希望你们指点迷津)
我在这里放代码吧,谢谢大家。
[ENABLE]
alloc(newmem,512)
label(returnhere)
label(originalcode)
label(exit)
newmem:
push edx
lea edx,[edx+7C]
mov [00580020],edx
pop edx
originalcode:
movsx edx,word ptr [edx+7C]
mov [esp+0C],edx
exit:
jmp returnhere
"EMPIRESX.EXE"+B3CF4:
jmp newmem
nop
nop
nop
returnhere:
[DISABLE]
dealloc(newmem)
"EMPIRESX.EXE"+B3CF4:
movsx edx,word ptr [edx+7C]
mov [esp+0C],edx