首页
社区
课程
招聘
OD调试的问题
发表于: 2006-7-8 02:09 3675

OD调试的问题

2006-7-8 02:09
3675
今天有点突破哦 第1次写补丁请牛哥们指点哦~!!!
004263C2    8982 788D0200   MOV DWORD PTR DS:[EDX+28D78],EAX     <-短点
004263C8    8B4D FC         MOV ECX,DWORD PTR SS:[EBP-4]

已知短点出是1个游戏中血量的处理代码 EAX便是血的值 由于是动态的,我想写个补丁是这样。。

004263C2   JMP 0057AF00 //(0057AF00处是空白区)

0057AF00   MOV DWORD PTR DS:[EDX+28D78],EAX  //恢复代码
0057AF10   MOV DWORD PTR DS:[0057AF20],EAX   //将EAX值放入0057AF10中
0057AF20   JMP 004263C8                      //再跳回去

问题1:请问哥哥门这样写发对不对呢? 如果有错麻烦指点下
问题2:这样用OD改好是不是一直就这样了 以后只要读0057AF20就可以了吗?还是每次都要这样?
问题3:VB可以用代码些出这样的过程吗?如果可以能不能交我下怎么写啊?(估计没人肯帮我写~!!呵呵)
问题就是这样麻烦牛哥们帮帮忙,先谢谢了

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
2
除非西写入到文件中,不然重新运行你写的补丁就没了。
OD只是改写了内存,文件并没有改。
2006-7-8 06:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我就奇了怪了为什么我用od f7 f8 f9 怎么就第一次按管用 以后怎么安都不管用谁可以告诉我是什么原因 小弟我在这先谢了
2006-7-8 07:41
0
雪    币: 215
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
哥哥们这样写对吗
2006-7-8 12:51
0
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
最初由 KrisCn 发布
004263C2 JMP 0057AF00 //(0057AF00处是空白区)

0057AF00 MOV DWORD PTR DS:[EDX+28D78],EAX //恢复代码
0057AF10 MOV DWORD PTR DS:[0057AF20],EAX //将EAX值放入0057AF10中
0057AF20 JMP 004263C8 //再


首要你这样做的目的是什么?
“0057AF10   MOV DWORD PTR DS:[0057AF20],EAX ”不知你啥意思

如果你的意思是让血的值为一个固定值,可以尝试这样改:
004263C2   JMP 0057AF00

0057AF00   MOV DWORD PTR DS:[EDX+28D78],02345  //就是将原来的EAX改成一个合理的常数
0057AF20   JMP 004263C8                      //再跳回去

改好后,然后选中修改后的汇编代码,右击-->复制到可执行文件-->保存文件.
2006-7-8 14:02
0
雪    币: 215
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
对我是想固定那个值 所以写的补丁
0057AF00   MOV DWORD PTR DS:[EDX+28D78],02345
哥哥你说的那个常数02345什么意思 把血的值变成02345? 那还能读出血?
2006-7-9 01:13
0
游客
登录 | 注册 方可回帖
返回
//