危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章1889 浏览13695258

揭秘外挂开发全过程QQ对对碰辅助程序开发之加速篇

在之前网上有篇关于QQ对对碰角色版辅助程序开发的文章完成后不久,QQ对对碰游戏就进行了更新,在功能上并没发现什么变化,但是一些游戏基址发生了改变,更新后的数据如下:

揭秘外挂开发全过程QQ对对碰辅助程序开发之加速篇 黑客技术 第1张

编写外挂程序是体力和技术的双重考验,每次游戏更新都要对相应代码或游戏地址进行更新,不过好在游戏更新后的基址都在原来的基址附近,说明游戏并没有什么太大的改动,这也给我们重新寻找基址带来了一些方便,将那篇文章的源代码中的数据进行相应的更改就可以继续使用了。

本文危险漫步将继续增强外挂程序的功能,对外挂进一步的优化,主要任务是增加“终极加速”功能。终极加速功能可以通过很多方法来实现,我使用的方法是在不影响系统的情况下只修改游戏中的数据,来实现最稳定的终极加速,比如可以通过去掉游戏中的延时效果的方法来实现。

揭秘外挂开发全过程QQ对对碰辅助程序开发之加速篇 黑客技术 第2张

我想到了sleep函数可以实现延时的效果,那么游戏会不会是通过调用这个函数来实现的延时呢?下面我们就来验证一下。

使用OD附加对对碰进程,并使用命令“bp Sleep”对函数下断,然后进行游戏,当点击游戏中的图标后,程序被断了下来。

在OD的标题栏中可以清楚的看到是在操作系统的kerne132模块中断了下来,来分析一下这段代码:

揭秘外挂开发全过程QQ对对碰辅助程序开发之加速篇 黑客技术 第3张

我们关注的是程序对Sleep函数的调用,因此主要分析最后两句代码,“push dword ptr [cbp+8]”是压入参数,“call SlccpEx”是调用延时函数。这里我说明一下,SleepEx函数和Sleep函数的功能和参数部是一样的,可以看做是同一个函数。断下后按FS单步调试,当执行到7C80244D的时候发现堆栈中的数据是14,也就是传入的参数是14,而我们知道Sleep函数的参数就是延时的时间长度,因此可以猜测这个14就是延时时间。

为了验证我们的判断,使用OD的汇编功能修改7C80244D处的指令,使其传入的参数为1,来看看程序会有什么变化。具体步骤如下:首先在7C80244D的指令处点右键,然后选择“汇编”,在弹出的汇编窗口中修改相应指令,将其更改为“push 1”,即传入的参数更改为1。需要注意的是,要勾选上“使用NOP填充”,因为我们修改后的指令长度和原来的指令长度是不一样的,因此多余的空间要使用nop进行填充。

点击“汇编”后我们就发现指令已经变了样子,修改完成后按F9继续游戏,发现延时效果已经没有了,但是却发现系统反应变慢了,打开任务管理器,发现CPU的使用率高达100%。

因为我们修改的是系统模块kerne132中的数据,会对系统造成一定的影响,所以最好是寻找到对对碰程序本身调用Sleep的地方。通过函数调用的关系查找,在对对碰进程中发现了代码,对代码进行简单分析如下:

揭秘外挂开发全过程QQ对对碰辅助程序开发之加速篇 黑客技术 第4张

首先在0041E41D处,将KERNNEL32模块中Sleep函数的地址传给ebx寄存器,然后在0041E442处调用ebx,也就是调用Sleep函数。那么“call  ebx”之前的“push ecx”就是传入的延时时间参数了,因此只要修改这个参数就可以实现去掉延时效果了。在修改的时候要注意指令长度,因此要修改0041E43D至0041E441处的所有指令。修改指令的方法同上。

继续进行游戏,发现同样实现了加速效果。实现加速的方法我总结如下:

1、方法:通过修改指令的方法实现加速效果

2、修改地址:0041e43d

3、原速指令:EB,02,33,C9,51

4、加速指令:6A,O1,90,90,90

使用delphi编程实现该功能,具体代码如下,首先定义常量SleepBase,也就是要修改的地址,然后定义OldSpeed和NlewSpeed存放原速指令和加速指令以供后面使用。

揭秘外挂开发全过程QQ对对碰辅助程序开发之加速篇 黑客技术 第5张

实现加速功能的函数代码如下:

揭秘外挂开发全过程QQ对对碰辅助程序开发之加速篇 黑客技术 第6张

揭秘外挂开发全过程QQ对对碰辅助程序开发之加速篇 黑客技术 第7张

将以上代码添加到我们的外挂过程中,使用的时候只要调用addSpeed函数就可以实现加速游戏的功能了。如果大家对于本文还有更好的方法或者不足,也希望能够多多指教。在外挂开发中会遇到很多问题,如果大家能相互帮助、互通有无,相信在技术上就一定会有很大的进步。


本文来自 危险漫步博客 转载请注明;

本文地址:http://www.weixianmanbu.com/article/1829.html

发表评论

  • 红尘一梦

    又是编程大牛,感觉确实很牛逼啊,技术决定出路,像楼主这样的技术一定很厉害吧

  • 巴斯克维尔的猎犬

    想学技术 不过编程实在是又枯燥又无聊 看来我的黑客之路 人责任道远啊!

  • 惹我

    编写**确实蛮厉害的 自己动手 丰衣足食

  • 组织权限

    看着头晕晕的,我觉得是时候该好好认真对待,学习一下技术了,要不然的话只能这样一辈子碌碌无为下去了。