首页
社区
课程
招聘
请教:动态修改程序有关MOV的一点小问题[求助]
发表于: 2005-9-13 17:48 4193

请教:动态修改程序有关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期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 47147
活跃值: (20470)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
改成:mov word ptr ds:[00402000],28EB试试。
程序出错,可能是你用28EB数据补丁后,改变了程序流程而出错,动态跟踪一下就清楚了。

关于确定按钮,你先看看文件是用什么程序编写的,如是Delhpi就用DeDe找到事件代码,如是VC SDK的,就看看wndpro消息循环,找到按钮的执行代码。

如想动态拦截按钮,用消息设断。具体方法参考:
http://www.pediy.com/tutorial/chap6/Chap6-1-2.htm
2005-9-13 19:34
0
雪    币: 300
活跃值: (412)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
3
在我登录时换确定 ,用什么函数可以最快的拦下程序

这个试着下消息断点,在按钮上下bm_click断点
2005-9-13 19:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢啦,参照各位老大的提议去学习,又增加了一点功力,最后问题解决了,虽说用到了其它的方法,没能做到动态修改。
2005-9-14 03:19
0
游客
登录 | 注册 方可回帖
返回
//