-
-
请教:动态修改程序有关MOV的一点小问题[求助]
-
发表于:
2005-9-13 17:48
4193
-
请教:动态修改程序有关MOV的一点小问题
我对一个程序DIY时,想通过程序运行时跳到自己的修改代码后再返回正常程序。过程中遇到一点小问题。
原内存 ds:[00402000]=C7552875 我想修改2875为28EB 我用了MOV传送数据,程序运行时异常不能执行,
我的代码:mov dword ptr ds:[00402000],28EB
而我换成:mov dword ptr ds:[00402000],9090 时,程序运行是正常的,说明00402000 是可写的。
而我用指令 mov dword ptr ds:[00402000],28EB 在其它程序OEP处直接填写,运行这条指令是正常的。
目标地址也变了EB28 。请教一下这是什么原因,或者可有用其它的代替方法代替这条指令。或者有人说在OEP
处直接就先执行那个指令再跳回来,事实并不能这样做,因为写的目标地址是在程序运行后出现登录窗口才
释放那个临时文件出来。
再一个问题是,在我登录时换确定 ,用什么函数可以最快的拦下程序,因为这样可能可以在我按了确定之后
可以先执行我加入代码。也许这样就不会出现错误。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)