外挂技术
文章平均质量分 80
singlerace
这个作者很懒,什么都没留下…
展开
-
暴雪和黑客的战争一:外挂的幸福时光
如前一篇文章所说,D2X中hacks的发展大约可以分为三个阶段,即前1.10的发展成熟期,1.10的过渡期以及1.11的衰落期。一直到1.09d(1.10前的最后一个版本)为止,D2X中几乎没有作弊检测机制,这一时期是hacker们最幸福的时期。说没有是因为它没有专门的检测代码,而说几乎没有是因为它有些机制还是可以用来做作弊检测用途的。一处是它的自动升级机制。在战网上玩过的玩家都知道,每次连到战网原创 2006-11-01 23:37:00 · 5993 阅读 · 1 评论 -
暴雪和黑客的战争六:Warden和外挂的进化(一)
Warden的机制使得暴雪能够在不需要更新客户端的情况下任意更新作弊检测代码。事实上,自从D2升级到1.11以来,Warden的检测mod和外挂双方一直都在针对对方的改变而进化。这一篇介绍外挂如何躲避前一篇提到的.mod使用的三种检测方法:DLL扫描、进程扫描和窗口扫描。躲避DLL扫描前面介绍过,外挂一般是做为一个普通的DLL远程注入到游戏进程进行工作的,因此Warden mod最早的检测原创 2006-11-27 23:26:00 · 8126 阅读 · 0 评论 -
暴雪和黑客的战争七:Warden和外挂的进化(二)
外挂凭着前一篇介绍的三板斧算是应付过了warden的第一轮攻击。但是还有一个问题没有解决:外挂的工作原理是通过安装旁路点(detour patch)修改原有游戏代码的流程,从而获得游戏的控制权。但是从反检测的角度来看,这种工作方式简直是噩梦-检测起来太容易了。在这方面那些不依赖于截获游戏代码工作的外挂(d2hackmap和基于AutoIt的MMBOT等都是)具有天然的优势。对于Maphack这种原创 2006-11-29 21:59:00 · 7040 阅读 · 0 评论 -
Anti-Warden技术之外挂的自我卸载
外挂Anti-warden的方法之一是给warden mod做数字签名,在检测到不安全或者未知的warden mod时,停止工作。对于以注入到游戏进程的方式运行的外挂来说,应该在warden开始执行检测之前自动卸载。这一篇介绍外挂自动卸载技术,也就是说如何在检测到不安全的.mod时把自己卸载掉。可能有人会想,这有什么难的,不就是调用FreeLibrary(假设加载用LoadLibrary)吗。调用原创 2006-11-28 23:00:00 · 6771 阅读 · 0 评论 -
暴雪和黑客的战争五:Warden的不完全技术分析
前一篇提到了Warden的基本工作原理,这一篇从具体实现上来看看它到底是如何运作的。首先要说明的是,我在warden上没有花很多功夫,只是一些不完整的分析,也不保证我说的都是正确的。在游戏客户端连接到game server进入游戏的时候(WOW为登录的时候),客户端和服务器端先negotiate一个新的session key(128位RC4)用于随后的warden通信。negotiate过程原创 2006-11-25 14:40:00 · 6141 阅读 · 4 评论 -
规避网络游戏的外挂检测机制
译注:这是一篇发表在rootkit.com上的讨论怎么规避warden检测机制的文章,原文在这里。作者Darawk是D2的黑客。之前,暴雪通过Module32First/Module32Next对D2 1.11中的外挂进行了第一次打击,很多使用外挂的玩家尤其是netters EasyMap的玩家损失惨重。黑客们开始思考Anti-warden的问题,这篇文章就是一些这方面的尝试。后来,在Dar翻译 2006-12-01 17:48:00 · 19784 阅读 · 1 评论 -
Hacking Diablo II之完整性检查(Integrity Scan)
d2hackmap有一个完整性检查的功能(Integrity Scan),用来检查游戏进程的代码有没有被改过。这个功能在d2hackmap的“安全开地图”中有所应用。所谓的“安全开地图”,其原理大致是在游戏进程分配一块空间,把“开地图”的相关代码(不是一个完整的DLL模块)注入这块空间,这段代码会在游戏的主线程context下运行,调用游戏的内部函数实现“开地图”逻辑,完事儿后再释放分配的空间。原创 2006-12-11 22:29:00 · 8059 阅读 · 1 评论 -
我为什么做外挂
我只有两天,一天用来听许巍,一天用来干别的。今年没去outing,也很少给自己放假,积到年末就剩下了很多。这两天给自己放羊,计划 写点技术文章。起床后打开电脑,顺手放些音乐,是许巍的《每一刻都是崭新的》,不料上了瘾,又把《在别处》、《那一年》以及05年的北京演唱会折腾来,就 这么听了一整天。许巍的音乐,什么歌都一个调调,可它就有一种力量能让人沉迷进去,然后什么也干不了。今天起来学了乖,许巍还是想听原创 2006-12-23 00:29:00 · 9813 阅读 · 11 评论 -
Hacking Diablo II之D2HACKIT技术详解
趁着圣诞又歇了几天,没博,倒是主动被动的看了不少片子。我发现我的观影口味挺杂,什么都看,还什么都能看的津津有味。这些片中,有肥皂剧型的“Ally McBeal”(甜心俏佳人),柯恩兄弟的黑帮型的"Millers Crossing",闷骚型的“Country Life”,一直想看的“北京乐与路”,还有成龙大叔的“神话”。前几天有博友留言希望我多谈点儿d2hackit,那我就随便说说。D2中的外挂,原创 2006-12-29 20:54:00 · 13670 阅读 · 3 评论 -
旧文重贴,悼念我的第一个电子邮箱:在同一个进程空间运行两个程序
前天偶然点开了我的网摘(以前一直不知道CSDN这个网摘是怎么回事),竟然发现里面保存了我在2001年写的这篇文章。于是翻了一遍,不想看到了后面留的email地址,勾起了我的伤感回忆。 fenny@163.net,这是我在互联网上申请的第一个email地址,那还是在1996年的时候,在学校的开放实验室里。记得Forest还拿这个名字打趣过我,说你怎么起了这么个名字,好歹也得叫个dollar什么的呀(原创 2006-11-10 00:18:00 · 13688 阅读 · 5 评论 -
暴雪和黑客的战争四:暴雪的杀手锏-The Warden
本来想写点儿别的东西。但是看来大家还是对外挂比较感兴趣,就接着再写写吧。1.10时期的成功,使得一些黑客不免自我得意,Mousepad甚至扬言,暴雪应该请他来做hacks检测。2005 年8月1号,暴雪正式发布1.11 patch,紧接着在9月13号又更新到1.11b,宣告了1.11时代的到来。从功能上来讲,1.11相对于1.10的改变,远远小于1.10相对于 1.09d的改变。最大原创 2006-11-10 18:43:00 · 6991 阅读 · 12 评论 -
Hacking Diablo II之前言
前几天偶然逛到Rootkit,看到一篇文章讲WOW hacking, 里面谈到魔兽世界hacks的开发和anti-warden的一些技术,让我想起了我的Diablo II岁月。自从几年前开始hack Dialbo II以来,我做了不少现在回想起来很疯狂的事(比如说,曾经用C把一个程序从二进制完全还原了出来),在Diablo II的hacks制作上也积累了非常丰富的经验。国内的game ha原创 2006-11-01 13:17:00 · 4932 阅读 · 7 评论 -
Diablo II中的各种hacks
Game hacks,也就是通常所说的游戏作弊软件。在网络游戏时代,也许是因为针对传奇这类游戏的作弊软件大都利用WPE之类的抓包工具来制作,因此hacks又叫外挂。不过Diablo的hacks绝大多数是和游戏代码紧密结合在一起的,也许应该叫内挂才对。Diablo II LOD(以下简称D2X)中的hacks大概可分为exploit、bot和mod三大类。exploit即漏洞,就是利用游戏设计上的缺原创 2006-11-01 13:23:00 · 13469 阅读 · 16 评论 -
Hacking Diablo II之外挂的工作原理
这一篇介绍外挂的工作原理。如果对外挂是怎么工作的没有一个大概的了解的话,那这一系列文章只能当故事看了。如下图所示,大方框表示Diablo II.exe的进程空间,框内左侧的虚线表示游戏的主线程循环。游戏主线程循环所做的工作大约有:绘制客户端画面、响应服务器端的命令,以及接收玩家的鼠标键盘输入等。框内右侧的小方框就是所谓的外挂程序(Injected DLL)。外挂要工作首先要加载到游戏进程空间,原创 2006-11-03 14:09:00 · 9628 阅读 · 3 评论 -
暴雪和黑客的战争二:暴雪的第一击
暴雪在WOW开发的后期,终于能够腾出人手来升级持续了2年之久的D2X 1.09d。由于1.09d时期hacks泛滥,暴雪觉得有必要打击一下这种嚣张的气焰,于是加入了hacks检测机制,这就是在1.10时期经常提起的packet 64/65检测。何谓packet?packet即网络数据包,D2中服务器端和客户端之间的交互是通过互相发送packet进行的。D2中的packet又分为out-of原创 2006-11-04 16:33:00 · 4513 阅读 · 4 评论 -
WOW中的一种外挂设想,兼看老外骂人
自从魔兽世界公测的那一天起,无数玩家就在琢磨着如何骗过游戏的防作弊系统使用外挂。后面两幅图就是某位外国玩家给出的一种方案。 这位玩家的主要想法是在游戏的server端和client端之间插入一个agent。对server端,agent模拟client端的行为而对真正的client端agent又模拟server端的行为。这样agent可以截获、分析并甚至伪造数据包从而干预游戏行为;另外agent本原创 2006-11-04 22:56:00 · 6232 阅读 · 3 评论 -
Hacking Diablo II之外挂实战教程:去除D2JSP试用版显示的Trial Version信息
前几天一个网友给我发消息请我帮他个忙。他的问题是,他正在使用的D2JSP是免费试用版,试用版在运行时会在游戏的所有游戏画面中央显示一行很大的“Trial Version”字样(见下图中的红圈),很烦人,他想去掉这行字。我想正好用此做个教程解释前面介绍过的hack工作原理,于是答应帮他看看。 我已经很久没有开BOT了,最后一次使用D2JSP还是2003年1.09d时期的事。根据我以前的理解原创 2006-11-05 12:00:00 · 10870 阅读 · 11 评论 -
暴雪和黑客的战争三:黑客的反击
暴雪在1.10补丁中加入hack检测机制,在某种程度上直接导致了原本和谐的D2X游戏黑客社群的分裂。一部分出于对检测机制的顾虑,停止更 新自己的作品,如d2hackit;另一部分则把他们的hack具有的反检测功能当成卖点开始收费,如d2maphack和d2jsp;还有一部分黑客出 于不满开始制作这些收费hacks的替代品,如d2hackmap,C3PO,d2bs等;甚至有些黑客出来破解这些收费ha原创 2006-11-07 20:07:00 · 13142 阅读 · 9 评论 -
[旧文存档]Introduction to Remote Run Library
也是2001年在vchelp发表的一篇相关文章。原文在这里。代码可以在vchelp下,不过比较旧。也可以直接向我要。做做这个library的原因是当时正热衷于玩代码远程注入。远程注入的代码编写的时候有很多限制,比如说必须关掉/GZ编译选项,不能使用全局/静态变量,远程运行的代码由于没有调试符号只能做汇编级调试,等等。因此做了这么一个可以把整个EXE模块远程注入到其他进程的东西。再次提醒,不要再原创 2006-11-10 00:30:00 · 6482 阅读 · 3 评论 -
Hacking Diablo II之Uploading
我知道很多人一直对Uploading感兴趣,很早以前我也说过要写一篇关于Uploading的文章,但一直也没有写。主要原因是我没想好该不该写,担心被人滥用了。很久不玩暗黑,现在连硬盘上的游戏都删了,今天心血来潮到暗黑论坛转了一下,发现居然又出了新补丁。这个补丁出的挺奇怪,就一个免CD的功能,其他任何改进都没有。这个。。。我的第一反应,是暴雪玩一手釜底抽薪,抄了D2Loader的后路。1.11以来,原创 2008-06-27 17:05:00 · 8752 阅读 · 14 评论