查看: 580|回复: 0

[玩家交流] 辅助分析

[复制链接]
发表于 2015-8-2 20:28 | 显示全部楼层 |阅读模式
muiop890 2015-8-2 20:28 580 0 显示全部楼层
功能描述:
启动游戏,开启辅助,进入副本,可以实现,超级评分,无敌,秒杀,吸怪,按v键可以实现全屏捡物,按alt+方向键可以实现瞬间过图。
实现原理:
1、无敌功能实现原理:修改dnf.exe偏移0xB8CCC0出代码,0x45改为0x4d,如下所示:

                               
登录/注册后可看大图

原来的代码为:MOV DWORD PTR SS:[EBP-18H],EAX,其中eax表示本次攻击的伤害值,更改以后代码为MOV DWORD PTR SS:[EBP-18H],ECX,其中ecx是当前被攻击单位对象的基址,由于怪物与人物对象都是堆内存,一般来说数值较大,改为ecx后就可以实现秒杀了。
2、超级评分功能实现原理:
修改dnf.exe[[02A8B7AC]+1a0]处的数据实现的,辅助实现过程如下图所示:

                               
登录/注册后可看大图


                               
登录/注册后可看大图

经手动修改验证,修改[[02A8B7AC]+1a0]处的数据确实可以达到修改超级评分的效果。
3、无敌功能实现原理:
通过调用dnf.exe模块中的函数实现,如下图所示:

                               
登录/注册后可看大图

经过分析发现,上图中的人物对象指针与秒杀时候ecx(如果被攻击的是玩家的话)的值一样。
4、吸怪功能实现原理:
首先读取人物的坐标包括xy坐标及高度,读取x坐标,x坐标保存在[02b110e0]+1a4中如下所示:

                               
登录/注册后可看大图

读取y坐标,y坐标保存在[02b110e0]+1a8中,如下所示:

                               
登录/注册后可看大图

读取人物高度,高度值保存在[02b110e0]+1ac中,如下所示:

                               
登录/注册后可看大图

然后读取数据遍历所有的怪物,怪物数组(当然此数组保存的不止是怪物,还有其他东西如物品等,此处姑且称之为怪物数组)起始地址保存在[[02b110e0]+b8]+c4中,终止地址保存在[[02b110e0]+b8]+c8中,辅助计算两处数据差除以4得出此数组的大小,然后依次遍历数组中的元素,通过怪物对象基址偏移0x94出的数据判断是否为怪物,如果是,则调用怪物对象虚表的0x39号函数来改变怪物的地址。
辅助更新怪物坐标方法如下图所示:

                               
登录/注册后可看大图

V键全屏捡物的实现方法与吸怪相同,只是在筛选的时候的条件不同而已,如下图所示:

                               
登录/注册后可看大图

alt+方向键瞬间过图实现方法也是通过调用函数来实现的,如下图所示:

                               
登录/注册后可看大图

经验证,直接调用上图中的函数确实可以实现快速过图的效果。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表 发新帖

快速回复 返回顶部 返回列表