假设eax寄存器的值是一个10000000内存地址,现在要将10000000地址的数据修改为00,怎么用汇编语言写?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
假如执行地址为401000 然后EAX寄存器地址为1000 然后你需要修改EAX寄存器 只需要HOOK就行啦
在401000位置JMP到自己的回调空间里面在自己回调里面 mov eax,0 就能达到你的目的了 赋值完毕后 在JMP回到401000地址+5的地址即可
妍之有理 看起来好像只是 mov byte ptr [eax],0哈,为了防止访问违规,可以先用API进行内存访问判断
none
mov dword ptr ds:[eax],0x00
hnxhzzz mov dword ptr ds:[eax],0x00
你这样不行,你这样修改的是10000000处的数据,数值指向的地址的值。我这样说你可能不太明白,举个例子,假设10000000的数据是FFFFFFFF,你这条指令是把地址FFFFFFFF的数据改成了0x00