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

请教:动态修改程序有关MOV的一点小问题[求助]

2005-9-13 17:48
4282
请教:动态修改程序有关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

处直接就先执行那个指令再跳回来,事实并不能这样做,因为写的目标地址是在程序运行后出现登录窗口才

释放那个临时文件出来。

再一个问题是,在我登录时换确定 ,用什么函数可以最快的拦下程序,因为这样可能可以在我按了确定之后

可以先执行我加入代码。也许这样就不会出现错误。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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

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

如想动态拦截按钮,用消息设断。具体方法参考:
f36K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6u0r3N6s2g2@1L8%4u0A6j5h3I4Q4x3V1k6U0K9r3q4H3y4W2)9J5c8V1y4Z5j5i4l9$3i4K6u0V1x3g2)9J5k6o6u0Q4x3X3g2Z5N6r3@1`.
2005-9-13 19:34
0
雪    币: 300
活跃值: (417)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
3
在我登录时换确定 ,用什么函数可以最快的拦下程序

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