汇编MOV赋值问题
00405CA9.898574FFFFFFmovdwordptrss:[ebp-0x8C],eax这是原指令我想把这个地址跳到程序空白处修改EAX值(以前的值是个网址)再...
00405CA9 . 8985 74FFFFFF mov dword ptr ss:[ebp-0x8C],eax
这是原指令
我想把这个地址跳到程序空白处修改EAX值(以前的值是个网址)再跳回去,之后问题来了
mov byte ptr ss:[eax],0x74
mov byte ptr ss:[eax+02],0x74
mov byte ptr ss:[eax+04],0x68
添加了10几条上述指令 发现程序运行了CPU跑满了。。
本人还属于小白阶段。。。请指教 我感觉我的赋值命令写错了!应该如何写? 展开
这是原指令
我想把这个地址跳到程序空白处修改EAX值(以前的值是个网址)再跳回去,之后问题来了
mov byte ptr ss:[eax],0x74
mov byte ptr ss:[eax+02],0x74
mov byte ptr ss:[eax+04],0x68
添加了10几条上述指令 发现程序运行了CPU跑满了。。
本人还属于小白阶段。。。请指教 我感觉我的赋值命令写错了!应该如何写? 展开
展开全部
1、检查 当你把上面的指令修改为 jmp后,是否进行no扩充 保证正常的指令长度。否则会打乱所有的程序执行代码。
比如 jmp 空白代码处
nop
nop //这样填充
2、在修改代码执行完成后记得返回原来的指令处,保证程序继续执行。
mov byte ptr ss:[eax],0x74
mov byte ptr ss:[eax+02],0x74
mov byte ptr ss:[eax+04],0x68
...
jmp 原来的指令处,即 jmp 405ca9 //返回让程序继续执行。
观楼主英俊潇洒,风流倜傥,必当世豪杰,大侠闲暇之余,关注0x30百度贴吧,必成千秋霸业,建不世之功。
比如 jmp 空白代码处
nop
nop //这样填充
2、在修改代码执行完成后记得返回原来的指令处,保证程序继续执行。
mov byte ptr ss:[eax],0x74
mov byte ptr ss:[eax+02],0x74
mov byte ptr ss:[eax+04],0x68
...
jmp 原来的指令处,即 jmp 405ca9 //返回让程序继续执行。
观楼主英俊潇洒,风流倜傥,必当世豪杰,大侠闲暇之余,关注0x30百度贴吧,必成千秋霸业,建不世之功。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询