新手也能吃透的C++逆向技巧,快速定位属性偏移

很多时候,同学们逆向锻炼的真实情况是这样的:
通过怪物血量逆向出了怪物遍历,但周围找不到怪物坐标,又重新去扫描逆向.
通过物品数量逆向出了背包遍历,但周围找不到物品名称,又重新去扫描逆向.
通过技能的ID逆向出了技能遍历,但周围找不到冷却时间,又重新去扫描逆向.

这样很浪费时间,因为我们需要大量的属性,不可能一个一个去扫描.(当然周围会发现一些,但是不全,或则一些根本不变的属性,没有办法扫描)
那么今天我们来学习一个新手也能吃透的C++逆向技巧,快速定位属性偏移,非常简单,零基础也能快速学会.

操作步骤:选中游戏内怪物 → 搜索未知初始值切换选中其他怪物 → 搜索变化的值取消选中怪物 → 搜索0来回扫描几次得到结果:

d2b5ca33bd20260401210041

这样扫描,结果里面只有2种可能,一种是怪物ID,一种是怪物对象,很明显第一个地址就是怪物对象,这样我们就可以通过选择不同的怪物获得2个怪物对象了!
得到2个不同怪物的对象(这里是一个普通怪物跳跳兔和一个BOSS兔更大)

d2b5ca33bd20260401210103

拿2个对象地址开始对比修改即可,比如把BOSS对象下的属性复制给普通怪对象下的属性,看普通怪是否发生变化,就能确定偏移了.注意:对象头部的第一条不要修改(一般是虚表地址)以及头部附近的ID不要修改, 否则都会有崩溃的风险.
BOSS对象+10的值复制给普通怪物对象+10以后,我们发现普通怪消失了(实际不是消失,细心的同学可以看到BOSS身上多了一个选中圈圈,说明是普通怪被我们修改到和BOSS完全重合了,也就是说+10偏移下存放的是怪物坐标怪物模型等等相关的属性)

d2b5ca33bd20260401210123

所以我们把2个对象都进入+10偏移以后继续比较
方法非常简单,一次类推几分钟我们就能
发现对象+10]+8]+60 就是怪物的模型大小属性
修改以后我们发现怪物像山一样大了.是不是很容易呢?

d2b5ca33bd20260401210206

NPC也可以变成巨人了.

d2b5ca33bd20260401210236

其他属性的分析一样, 这里就不多说了.道理一样.有的同学可能说一个个属性复制过去不是很麻烦吗,要很久当然不是,比如我们进入到对象+10以后,大家可以一次性复制前100偏移,然后用二分法逐一恢复,2分钟就可以确定下一层偏移了.

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
文章评论 抢沙发

请登录后发表评论

    暂无评论内容