【游戏逆向】逆向基础之OD和CE结合找数据

本文讨论了逆向工程中常用的动态调试工具OD和CE的特点,比较了它们在检测、内存搜索和复杂场景下的优势与不足,强调了结合使用这两种工具在追踪数据时的互补性,以及如何在困难情况下灵活运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我们逆向动态调试的过程中最常用的两款工具OD和CE。

两者相辅相成,各有优缺点,彼此互补。

如果说谁强大,并没有,不同的情况,应用不同的工具才算是最明智的选择。

首先,二者在检测和过驱动上,OD更为困难一些,所以有的逆向人员只用CE,也是有一定原因的,而并不是他不习惯用OD。

CE的主要功能是搜索内存,在这个方面,OD是无法替代的,尤其是那种模糊的数值,我们只有用扫描的办法才能找到突破口。

OD的主要功能是动态代码分析。

OD和CE结合找数据情况一,CE找突破口,锁定目标内存地址,在CE中查看其访问代码,然后到od中追踪其来源,这是最常见的情况,优点在于可以查找到所有的访问代码(前提是下断以后要尽量的做和地址数据相关的动作,比如人物血量,你就要考虑到扣血,加血,吃药,被怪物攻击,换装备等等一系列的可能导致人物血地址被访问的动作,这样才能得到更全面的访问代码),不会漏掉任何的线索,然后逐条到OD找来源,一旦某几条找不到来源,还有更多代码可以使用。缺点是,有的游戏对内存断点有一定的检测,这样的访问会导致多次崩溃以及这样比较耗时。

OD和CE结合找数据情况二,CE找突破口,锁定目标内存地址,到OD中对该地址进行下断处理,直接用OD断到访问代码。然后顺着访问代码找到其来源。这样做的优点在于,有一些地址的访问代码比较频繁,不拿OD直接断是断不到的,例如,我们在找字符串数据的时候,往往断到的代码都是非游戏领空代码,这个时候如果是CE中拿到的代码,然后到OD中去断,下断立刻会断,因为很多游戏里的字符串都会访问该处,断到的也不是我们想要的数据或则调用,有的同学会说,那么我们用条件断呢?是不可以的,因为这种地方访问频繁,条件断会导致游戏直接卡死,那么这个时候这个方法就成了必然了,我们在OD中直接对数据下断而不是代码,然后继续返回找来源即可。当然缺点也很明显,容易漏掉很多访问代码,毕竟od中下断,每次只能断到一条代码不是吗?

OD和CE结合找数据情况三,OD遇见复杂循环,VM,非游戏领空,线程等不好追踪的时候,借助CE过度,这也是比较常见的情况,OD追数据不是那么一帆风顺的,否则CE找到地址,OD直接找来源就可以了,哪来那么多的复杂数据呢?往往所谓的复杂,其实大多是因为遇见复杂循环,VM,非游戏领空,线程等,或则是思路不对。那么遇见这些情况,几乎绝望,OD无法继续下去的时候,不妨用CE扫描下你想找的目标值,或则会给你提供出来更多的追踪代码,如果运气好,还有可能直接获得偏移来到下一级的查找,也不是没有可能哦。总之,遇见困难的时候,不妨一试。

在OD和CE都运用熟练,逆向功夫足够的情况下,OD和CE能够完美的结合运用,将让你的逆向过程事半功倍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

douluo998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值