魔兽知名外挂开源

    本着好东西共享给大家的原则,在这里本人将以连载的形式把两款热销于魔兽世界的内挂——“魔兽好用”“魔兽超人”“魔兽魔方”开源。仅供大家学习和交流之用。虽然这些资料能让不懂外挂的朋友了解一些外挂的知识,能让热衷于外挂的朋友们找到一些思路和方法的借鉴,能给做游戏开发、游戏安全的朋友们更多的反外挂的线索从而把游戏做得更安全、更好;但我公开这些资料的主要目的是:希望所有热衷于网络游戏的朋友们能正确认识游戏,游戏有趣可以消遣,但是没有必要痴迷!人不是挂,痴迷只会让人累死。远离游戏和外挂,让我们的生活真正轻松和快乐起来。
    亲爱的朋友,如果你对这个开源项目有兴趣,欢迎你也多来顶顶贴,把心得和经验在这里也留给大家伙一些。

    郑重申明:请勿将此处的技术资料用在商业交易和非法行为中,本人将不为您承担任何因使用此处技术而造成的后果及法律责任。

    转载、使用或修改此处代码或资料的朋友,请务必注明本贴的原始链接:http://blog.csdn.net/dj0379/archive/2009/07/05/4323376.aspx,建议在源代码首部以注释形式注明。

    我会不定期的将代码和资料传到网上并链到这里来。有任何疑问的朋友可以在此留言或发邮件到:[email protected] 我会尽快回复,谢谢!

    发行程序结构:http://www.programsalon.com/downloads111/sourcecode/windows/detail464583.html(包含VC++8.0运行时环境的安装程序)
    启动程序源代码:http://www.programsalon.com/downloads111/sourcecode/windows/detail464427.html
    主界面程序源代码:http://www.programsalon.com/downloads111/sourcecode/windows/detail464489.html
    自动更新程序源代码:http://www.programsalon.com/downloads111/sourcecode/windows/detail464432.html
    被注入模块源代码:http://www.programsalon.com/downloads111/sourcecode/windows/detail464422.html

    谢谢hellzealot<[email protected]>提醒,先前忘记提交这部分代码了特此补上:2009-10-28
    公共头文件:http://www.pudn.com/downloads202/sourcecode/game/detail952238.html

    工程代码均为VC++ 2005所写,运行前请先安装VC++8.0运行时环境。

------------------------------------------------------------------
    通常我们将游戏挂件分为三类:外挂、内挂、脱机挂。

    外挂:不需要注入模块到游戏客户端中,通过ReadProcessMemory和WriteProcessMemory等系统API函数直接读写其他进程内存,从而控制游戏客户端,达到自动挂机的目的;

    内挂:需要通过CreateRemoteThread函数在游戏进程中创建一个线程来执行LoadLibrary函数将某些自己编写的模块载入游戏进程,从而与已注入到游戏进程中的模块进行进程间通讯,注入模块在游戏进程空间内直接读写游戏进程的内存,达到控制游戏客户端、实现自动挂机的目的;

    脱机挂:通过破解封包加解密过程和分析、归类、模拟游戏客户端的通讯封包,从而脱离游戏客户端、直接模拟游戏客户端和服务期间的所有通讯动作,达到全脱机或半脱机的控制游戏客户端、实现自动挂机的目的。(在只模拟了小部分封包的情况下结合了外挂或内挂方式的挂称为半脱机挂。)

    前两者都必须依附于游戏客户端,然而最后一者可以脱离游戏客户端独立的工作。所以一旦游戏客户端更新改变了自身运行时的内存分布或使用规则,对前两者来说都必须立即作相应的程序更新,否则用户将无法在新版本的游戏客户端下继续挂机;而对于脱机挂来说,这种影响就要小很多了,一个网络游戏的封包一旦确定是不太容易轻易作更改的,一旦封包作出了改变游戏的更新无疑是一个比较耗时的工程,目前还很少有游戏开发商会这么做,所以一旦分析清楚了封包,就可以像吸血虫一样挂着游戏不放,也就是说这样的挂基本不受游戏更新的影响。

    不过按照前面叙述的先后次序,这三种挂的制作难度和制作时间也是依次成倍增加的。所以应该根据不同游戏的特点和实际用户的需求决定选用何种方式制作外挂。从上面的描述我们也不难看出,技术最棒的挂当然完全脱机的外挂啦。

    一般软件有了源代码就万事大吉了,但是对于外挂这类和游戏直接息息相关的特殊软件来说:光有源代码那是远远不够的,因为源代码只是经过长时间分析所有游戏信息而得到的规律的一个暂时的表现形式,一旦游戏更新变化了,这个表现形式必然要随之变化,否则结果就是外挂不能用了。所以掌握游戏信息的分析方法和过程,从而得到具体而又正确的表现形式才是至关重要的。

    后续的跟贴中我将针对魔兽世界讲述查找和分析游戏信息,以及使用和维护开源代码的方法和一般过程。

 

 

杜晶 2008年著

 

猜你喜欢

转载自blog.csdn.net/dj0379/article/details/4323376