翱翔.Net

释放.Net的力量
随笔 - 75, 文章 - 17, 评论 - 1132, 阅读 - 53万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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

Posted on   Hover  阅读(20630)  评论(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程序这里都放一起了。游戏的程序不是这样的。

 

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

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示