翱翔.Net

释放.Net的力量
posts - 74, comments - 1117, trackbacks - 4, articles - 17
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

用OD和CE结合跟踪查找基址

Posted on 2008-07-01 22:32 Hover 阅读(1053) 评论(3)  编辑 收藏 网摘

以前看过的教程是用CE找武林的一级基址。如果游戏都那样的就按他的方法很好找了。用OD跟踪也很块就定位真正的基址。

 

用CE搜索血值后。一般都能定位到有几个。最好的是只有一个。多了直接用第1个的地址。

 

用OD附近游戏。来到他的内存区(左下角) 转到地址输入刚才第一个的地址。

然后在此下内存断点。

这里有两种断点 写断点 访问断点  按字面理解 

不管下哪种断点最终根据汇编代码都是可以跟到基址的。

 

切到游戏OD中断后。

都是类似的代码mov [esi+2d8],EAX

这时要去找谁给ESI赋值了。在CE中是要接着下断点。在OD里需要往上找看谁给ESI附值了。

 

就拿CE的第8步说吧。

按上面显示的是1291.搜索只有一个值。。如果有多个可以点一下change value改变看哪个变。

00D65318 地址处存放着1291

 

用OD附加此程序

转到00D65318地址后下内存断点。回到程序点change value

OD中断后的汇编代码

0045662B    A1 20CC4500     MOV EAX,DWORD PTR DS:[45CC20]
00456630    8B40 0C         MOV EAX,DWORD PTR DS:[EAX+C]
00456633    8B40 14         MOV EAX,DWORD PTR DS:[EAX+14]
00456636    8B00            MOV EAX,DWORD PTR DS:[EAX]
00456638    8970 18         MOV DWORD PTR DS:[EAX+18],ESI

直接看汇编代码就能知道45CC20是基址 +偏移最后才放着这个1291

 

这是CE的这个Cheat Engine tutorial程序这里都放一起了。游戏的程序不是这样的。

 

一般都需要往上跟。可以看寄存器的值看哪里改变他了再找相应的汇编代码

Feedback

#1楼    回复  引用    

2008-07-02 09:11 by lnt [未注册用户]
好好写,我支持你

#2楼    回复  引用    

2008-07-25 10:34 by othene [未注册用户]
用OD附近游戏。来到他的内存区(左下角) 转到地址输入刚才第一个的地址。

这一点没看明白

#3楼    回复  引用    

2008-07-31 11:36 by dava [未注册用户]
#2楼 回复 引用
2008-07-25 10:34 by othene [未注册用户]
用OD附近游戏。来到他的内存区(左下角) 转到地址输入刚才第一个的地址。

这一点没看明白


就是刚刚搜索出来的最上面的那个地址

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: