发布于:2015-7-17 12:04 | 365575次阅读 作者: 管理员 | 原作者: TP | 来自: 原创
外挂版本:威武辅助0915A 功能描述: 启动游戏,开启辅助,进入副本,可以实现,超级评分,无敌,秒杀,吸怪,按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、吸怪功能实现原理: 首先读取人物的坐标包括x,y坐标及高度,读取x坐标,x坐标保存在[02b110e0]+1a4中如下所示: 读取y坐标,y坐标保存在[02b110e0]+1a8中,如下所示: 读取人物高度,高度值保存在[02b110e0]+1ac中,如下所示: 然后读取数据遍历所有的怪物,怪物数组(当然此数组保存的不止是怪物,还有其他东西如物品等,此处姑且称之为怪物数组)起始地址保存在[[02b110e0]+b8]+c4中,终止地址保存在[[02b110e0]+b8]+c8中,辅助计算两处数据差除以4得出此数组的大小,然后依次遍历数组中的元素,通过怪物对象基址偏移0x94出的数据判断是否为怪物,如果是,则调用怪物对象虚表的0x39号函数来改变怪物的地址。 辅助更新怪物坐标方法如下图所示: V键全屏捡物的实现方法与吸怪相同,只是在筛选的时候的条件不同而已,如下图所示: alt+方向键瞬间过图实现方法也是通过调用函数来实现的,如下图所示: 经验证,直接调用上图中的函数确实可以实现快速过图的效果。 |
最新评论
查看全部评论(1)
发表评论