外挂和封包有怎样的区别? DATE: 2024-05-06 04:51:15
咳咳 ,区别这个我来解释一下 ,外挂外挂,和封从本质上讲,区别共计有三种方式:
分别是外挂模拟挂,内存挂,和封封包挂.
其中模拟挂是区别以按键精灵为代表的一类,他本质上不进入游戏内部 ,外挂只是和封在外围通过识别游戏图片、文字等方式来模拟点击,区别所以一般简单的外挂辅助类 ,用按键的和封比较多 ,因为开发方便,区别小白学学也可以入手,按键挂一般分为前台按键和后台按键,其中前台按键是操作鼠标实现指针移动到指定位置进行点击,所以必须保持游戏窗口一直在前台 ,而后台按键则不然,采用窗口消息 ,例如WM_LBUTTONDOWN ,向游戏窗口发送点击指令,从而实现窗口内部点击 ,那么这种模式,即时你窗口最小化也没有关系 ,更适合做窗口多开情况下的点击 ,举个例子,在RGP游戏中 ,你点鼠标砍了怪一下,那么在按键系的处理中 ,就是通过图形识别出怪的位置,用鼠标左键在怪身上模拟点击 ,从而使得人物跑到怪身边挥刀一砍。
优点 :简单易学 ,容易上手
缺点:对流程控制、稳定性不好 ,容易出问题
第二类是内存挂,介于按键和封包之间,通过OllyDebug、CE等诸多调试工具,对游戏的主程序以及载入的DLL进行动态追踪调试,一般称作找基址 、找CALL,其实就是找某个数值或者某个功能,例如在RGP游戏中,你点鼠标砍了怪一下,那么如果是内存挂,就首先要找怪物在内存中的数据,例如怪物的编号、怪物的坐标、怪物的血条等等数值,然后通过OD调试出打怪这个功能CALL所在的代码段,当然都是反汇编的ASM代码 ,找到以后,通过CALL测试工具进行测试,看是否正常 ,如果对的,那就记录下来,最后整个外挂设计脚本流程调用各个不同的CALL,一般内存挂都会将主文件封装成DLL,然后用一切办法让游戏启动的时候加载起来 ,这样 ,内存挂就变成了游戏的一部分,都是内部调用,一般体现形式是游戏一启动以后 ,会多出一个外挂窗口,可以设置修改各种参数。
优点 :响应速度快 ,稳定性高(控制好内存指针) ,容易利用游戏漏洞实现BT功能
缺点:学习难度高,需要对内存、堆栈、进程、线程、各种数据结构 、C语言 、ASM都有一定了解,而且外挂必须跟游戏窗口共存亡,无法单独生存,对多开数量有影响
第三类是封包挂:是比较高端的一种模式,调试方式很多种,可以用封包截取软件(例如WPE)截取封包 ,或者还用OD ,来bp send,拿到封包数据 ,一般封包数据都是16进行的字节,同样的 ,拿砍怪来说,游戏再调用了砍怪CALL之后,他最终必须经过send方法,将结果发给服务器 ,而这个结果才是重中之重 ,封包就是分析这的,一旦破解了封包的数据结构 ,可以自己模拟封包以后,那么就OK了 ,完全不用依赖游戏客户端 ,自己写程序跟服务器连接发送封包 ,从登陆到打怪的一系列封包,不仅速度快 ,而且可以多开N多个窗口 ,因为不需要游戏渲染,只是纯字节的收发 。
优点:速度快 ,可操作性更强 ,可以多开到不知道多少开
缺点 :不出三天,准被封号
在DNF,外挂分为四种
A 内存挂
B 封包挂
C 钩子挂
D CALL挂
为什么DNF这款游戏会有如此多的外挂呢?
DNF是一款网络游戏 ,但是除了一些数据交互之外(例如进入游戏时,获取下自己身上的装备和数据),在游戏过程中 ,对于属性这一类,都是在本地进行处理的 。
先简要介绍下几种外挂的方式
A内存挂
首先你需要大致的了解内存是个什么东西
内存是计算机中重要的部件之一 ,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在
内存中进行的,因此内存的性能对计算机的影响非常大 。
内存(Memory)也被称为
内存储器,其作用是用于暂时存放CPU中的运算数据,以及与
硬盘等
外部存储器交换的数据。只要计算机在运行中 ,CPU就会把需要运算的数据调到
内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。 内存是由
内存芯片、电路板、
金手指等部分组成的。
内存就是储存你人物属性 ,装备属性的“容器”。内存挂,也就是修改了这些属性,达到倍功 、无敌、秒杀等效果 。
B封包挂
目前DNF的封包挂的原理几乎都是因为“特殊地下城” ,既大转移后的,“遗忘之森”⋯⋯类似的地下城 。在此类地下城中 ,会获取到BUFF ,这种BUFF是可以通过工具来进行截取,从而达到进行其他地下城时,也可以有此类BUFF的效果,或者比这个BUFF多几倍效果的BUFF。
C钩子挂
我对这类稍微了解一些,因为最近正在处理Script.pvf的解包。当然,这种方式在如今,DNF几乎已经没有出现了,具体原因是大转移后 ,.pvf(下文的pvf都指Sciprt.pvf)的打包方式进行的转变 。
----------------------我是正文------------------
DNF的大部分游戏数据文件都在本地 ,例如地下城(durgon),怪物(monster),装备(equipment)等⋯⋯
那么我们只要将pvf文件解包后,进行修改,就可以达到外挂的效果了 。
等有时间了 ,再回来补更解包的过程
D call挂 (答主默默的补齐一下)
大家应该都知道,程序中有函数,也就是call
比如说 在你攻击的时候 实际上是触发了一个
attack(x,y,伤害,半径,类型)
而外挂作者就是通过逆向找到这个函数,并调用
比如所谓的全屏攻击就是先找到所有怪物的坐标位置,并对怪物的坐标位置进行攻击
封包属于外挂的一种
封包挂简单点说就是不依赖原有客户端去发送一段数据包来达到客户端限制了你的目的 比如加速点某个npc 远程点某个不在你地图里的npc之类的 依赖的后端逻辑漏洞 还有就是通过解析服务端的一些数据 来显示一些客户端判断后不显示的一些效果 比如显示敌方位置之类的
外挂分的是模拟挂 ,内挂和脱机。
模拟挂就是模拟按键
内挂就是找call一类
脱机就是封包
讲到什么是封包首先给大家推荐一下文章 ,如果不想看呢,可以继续往下看简单介绍。梅Mayoz:[游戏封包]什么是封包外挂?如何利用游戏封包挖功能?
发送和接收封包就是和本地主机和游戏服务器进行通讯,利用通讯直接操作游戏 。
而除了封包之外的基本都需要利用游戏代码,然后利用游戏自身的代码去操作游戏,可能有人会问 ,那直接利用代码操作游戏的话就不进行封包操作了吗?回答是:不是的 ,这些游戏代码会自己进行封包操作 。
那么大家发现区别了没有 ,无论想做什么操作,最终都是利用封包来实现的,甚至不需要登录游戏,只要合理利用封包都可以进行游戏内的操作(当然这些操作你看不见但是服务器执行了)
可能还会有人问 ,那封包不就是中规中矩的调用特定功能吗?我的回答依然是否定的,只要脑洞大开 ,什么操作都能做得出来,比如一个游戏不让你远距离打怪,但是你利用封包告诉服务器你在怪物身边然后打怪 ,然后立刻发封包调整自身位置(复位),那么全世界的怪物都能被你打到,下面这篇文章介绍利用封包超远距离打怪。
梅Mayoz:《魔域》超远距离攻击漏洞分析(思路适合所有游戏)如果想详细了解封包可以在我的文章进行查看封包系列教程,看完文章如果觉得不错希望能得到大家的点赞 ,祝所有看官技术进步 ,祝点赞的朋友技术更强!哈哈哈
封包有一种优势 ,因为不走代码 ,所以比较稳定,不容易被检测,而且基本不需要更新。但是比起内存挂,可能在对封包的解密方面需要更高,更费时间 。
其实内存学好了同样是很稳定的,而且更简单 。可以看下面这个天龙N部文章了解内存挂的制作过程 ,手把手教学,欢迎大家分享点赞 !
中国制作外挂为什么这么厉害 ?