- 博客(10)
- 资源 (13)
- 收藏
- 关注
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 完整结合综合应用[原创]
所谓的完整综合应用就是将前面介绍的API检测法、线程检测法、内存检测法、窗口检测法、事件和行为以及封包检测等全部内容综合纳入一个系统组合起来工作而已,在这里凑一个篇幅。也算对整篇文字做一个结束标志吧。其实写外挂与封外挂,本质上与病毒和杀毒一样属于一对攻防系,你攻我防,知己知彼方能百战不殆。多了解一些对方的手段,再想出相应的策略去应对。
2024-06-26 20:00:43
145
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 游戏客户端编写加壳免误报篇[原创]
现在的杀毒软件普遍存在这种偷懒行为,以某六零程序最为严重,只要你的程序调用了内存、进程、网络和文件相关方面的API,达到一定数量就会报毒,就算没有调用,只要在导入表里面存在也会报毒。第七步、修复tls : 严格来说这个不是第七步,而是在生成加壳后程序的时候生成的,有些程序有tls,而本项目的壳是属于完全加密壳,需要手动生成tls节和相关数据,以及调用 tls回调函数。第四步、解密:解密原始的PE文件数据,解密算法可以自行设计即可,一般就是亦或、加减、位移这些简单的、运算速度快的算法组合起来就可以了。
2024-06-26 19:37:38
1696
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 封包监测篇[原创]
使用游戏封包检测当前玩家是否使用了外挂的方式是最正统,最常见直接的检测方式。一般用在自家开发的游戏上面比较常见,能正常加密、解密和解释自家游戏的封包数据的情况下。当然游戏封包可以设计一些隐晦一些的暗装,可以检测出完全脱离游戏客户端的脱机挂。但是比如传奇这种老游戏则没有做好这一点,这就需要开发第三方的程序来额外处理计算封包的合法性了。游戏开发中还需要注意一个问题就是数据的溢出问题、这是所有程序员都知道,但是又很容易忽略而犯错的问题。当然游戏设计时还应该所有的资源的产出和销毁做跟踪日志记录,方便后期追溯数据。
2024-06-26 18:26:12
313
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 事件和行为篇[原创]
线程事件包含线程的创建和销毁事件,在线程监测篇有提到,检测线程的方法有通过CreateToolhelp32Snapshot、Thread32First、Thread32Next函数枚举线程,也能通过DllMain函数的来获取进程线程的启动和销毁事件;这里的事件和行为包含线程的启动销毁事件和鼠标键盘事件、游戏角色在游戏内的行文。记录游戏客户端每次线程事件的,行为、ID、线程入口地址、启动时间,存活时间以入口函数所在模块,将所有的这些线程信息一并发到服务器上,然后通过人工观察采集一些数据之后生成一些判断规则。
2024-06-26 17:59:13
419
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 封加速篇[原创]
同时还要加入服务器端时间的效验,具体设计方案很多,而且这块内容看似简单,其实还要考虑网络延迟卡顿等情况,总之就是要判定客户端计算机的时间是正常在跑字,而非加速跑字即可。注入式加速外挂,通过前面的API监测、内存监测一般都能监测出来。不管它是注入式还是非注入式,我们都可以采用统一的方案来处理,那就是每秒向服务器提交GetTickCount 、QueryPerformanceFrequency、QueryPerformanceCounter和GetSystemTime获取的值给服务器端,让服务器端来进行判断。
2024-06-26 17:35:06
471
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 窗口监测篇[原创]
本篇的方法也是较早些年封挂常用的方法,包括检测进程名称,模块名称等等。窗口检测就比较简单、就是通过窗口的类型和文本文字以及窗口大小位置特征来判断拥有指定特征外挂程序的方法。本方法比较简单、外挂作者也比较容易通过修改和隐藏这些特征来逃脱检测,但是本文还是要讲解一下,在实际的应用中还是能起到一定辅助作用的。将PID,类型、窗口类名标题和窗口坐标尺寸信息组合上传到服务器,在通过人为判断生成窗口特征库。2、 存在 className ="buffton" , text = "加速" ,父窗口 = 窗口1。
2024-06-26 17:06:06
267
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 内存监测篇[原创]
需要注意的是:有些外挂作者会很聪明地将自己的代码写入到PE节间的空白处理,或者程序的其它空白处,所以校验的时候要一并纳入监测。正常方式编写的程序,代码节与数据节是分开的,我们可以认为代码节数据以及PE头数据以及节间空白区域的内存是不会变动的,通过定时计算他们的校验合来检测非法外挂。但凡发现该区域属性变化,也可能是外挂程序所位。一个常规的PE文件包括:Dos头 + Nt头 + 数据目录 + 节表和节内容组成,有些PE文件在节内容最后还包含附加数据,但是附加数据是不会载入内存的、可以作为特殊数据存贮之用。
2024-06-26 16:01:35
855
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 线程监测篇[原创]
编写游戏外挂时、免不了需要用到线程知识。一般会使用到远程线程注入(远程CALL)和代码注入并启动线程来运行被注入的代码(或DLL)。通过对线程的监控可检测到非法外挂的使用情况。本文主要介绍通过野线程判定法判断是否正在使用外挂的情况。
2024-06-26 15:01:32
1473
原创 分享一个编写传奇封外挂(反外挂)系统的完成过程 - API检测篇[原创]
游戏外挂的编写离不开对API的操作调用。通过逆向思维思考,我们要反外挂第一个要保护和监测的就是游戏进程的API函数。比如ws2_32.dll里面的send、recv,WSASend,WSARecv ,connect是必须要监测的,外挂程序可能会通过hook这些函数来达到监听和篡改游戏封包的目的。hook API函数常用的方法有使用微软提供的detours库或者使用inline hook 来修改。下面我们来了解一下hook api函数的方法。
2024-06-26 12:38:57
445
一款隐藏真实服务器IP的软件V1.0.0
2023-05-06
script56.chm
2010-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人