网页游戏外挂的编写很简单,不需要研究其源代码,不需要懂得汇编知识,只需要分析发送到服务器和服务器发送到本地的数据包就可以写出来。
但是如果你想尽快分析数据包中的内容并得到结果,那么你可能还需要研究一下源代码。
如果游戏是Flash做的,那么你需要下载一个Flash反编译软件,有的反编译软件像ASV 6.0提供搜索IE Cache的功能,网页游戏的Flash文件就保存在IE Cache里,找到这些文件并反编译之,就可以得到网页游戏的源代码,像风靡一时的开心农场,和我将要提到的QQ摩天大楼,都可以用这种方法得到源代码。
有的游戏不是Flash做的,是JavasSript做的,那么你就需要分析一下那个页面的JavasSript的源代码,对网页直接查看源文件就可以得到源代码了。
当然,像开头所说的,不分析源代码也是可行的,只要有足够的耐心,有足够的数据,再加上你的聪明才智,外挂也是可以写出来的。
首先我要声明一句,现在的网络游戏不管是小型B/S的还是有大型客户端的,其数据的处理都已经全部放在了服务器端,也就是说,客户端不处理任何的数据,那客户端处理什么?客户端只负责向服务器端发送数据,接收数据,并向用户呈现数据。所以,现在所谓的外挂已经不能修改数据了,以开心农场为例,我们能做的无非是做点以最快的速度偷菜,自动收菜,种菜之类的工作。如果你硬是想修改数据,恐怕只有黑掉服务器或者贿赂GM两条路可走。
虽然我说过这种外挂很简单,但我还是不得不列出制作这种外挂需要的基本知识以及为什么需要这些知识。
(1)JavaScript。我们进入网页游戏是要先登陆的,像要进入校内(人人)网的应用就需要先登陆人人网,要进入QQ的应用就需要先登陆QQ校友或者QQ空间。没有登陆,我们连游戏都进不了,那么外挂就不能与游戏建立连接了,之后的偷菜又从何谈起?那么我们又是从哪里登陆呢?我们从网页登陆,由JavaScript负责发送与接收。所以看不懂(能看懂就行,不需要会写)JavaScript的人,请在此止步,回去翻翻书再继续。
(2)网络编程知识。任何一门语言都可以,在此我用的是C#,你用Java,C++或者其他的什么都行,只要可以发送Http数据包。当然,能熟悉多线程就再好不过了。如果不幸的是你都不会,那就只好赶紧去学了,切记要稳扎稳打,不要好高骛远,不然只能一事无成。
另外,如果你会Action Script,那么你就可以分析Flash游戏的代码,对外挂的编写是事半功倍的。
或许有人已经跃跃欲试,好的,下一篇就说如何分析JavaScript代码并登陆到游戏。