偶然一次无聊想玩玩flash小游戏,于是就百度了一下,随意进了一个网站--4399,然后漫无目的瞎看,点了一个叫特技摩托3的小游戏,不玩不知道,一玩就从此爱不释手,可是每次玩都要打开网页,然后再等它加载完,有时候上不了网,又想玩,真是难受啊。于是就想,它是flash游戏,应该可以下载的,用了几种平常下视频的方法试了一下,不行,又去百度了一下,大家说法都差不多,都不行。哎…难道就真的下不了了?
郁闷……
今天也很无聊,不太想writting code,于是又偷偷的打开4399,趁没人的时候小玩一会,不亦乐呼……
玩了一会也没什么劲了,因为就三条命,玩一会就挂了,于是就想能不能把它下下来,然后再用什么flash反编译工具转成.fla源文件,再改改里的参数,不是就三条命嘛,我把你改成1K,嘿嘿,有的玩了…
理了理思路,要想把它下载下来,那肯定先要知道它的地址,再用迅雷就可以download了。那去哪找它的地址呢?只能从它这个html页找了,右击-->查看源文件,哇,好多代码啊,ctr+F,找下.swf(flash文件后缀名),找到 [str70 = '/upload_swf/ftp/20080504wen/4.swf'] ,只有一段路径,不是完整的,而且这段肯定是后半段了,那前半段呢?[http://www.4399.net/] 这个吗?感觉有点像,试一下,不行,迅雷无法下载,看来不对。再往下看,有个flashgame1,是不是在这个文件夹下呢?http://www.4399.net/flashgame1//upload_swf/ftp/20080504wen/4.swf ?试了下,还是不行,再仔细看了看,发现跟flashgame1没关系,可是后面的[src=/"" + webServer + str70 + "/"] 看着有点诡异,在HTML里src后面通常都是一个路径,但它是webServer + str70,而str70=/upload_swf/ftp/20080504wen/4.swf,那么webserver是不是就是那前半段呢,如果知道了它,那整个地址不就知道了嘛,问题又来了,webserver到底是多少呢?首先它肯定是个变量,那这个变量会不会在这个页面的某个地方被赋值呢?再CTR+F一下,发现只在底部有一个FullPlay(webServer+str70)里出现,还是不知道,这时一个后缀名引起我了的注意--.js,它会不会是在js文件里被赋值的呢?在哪个js文件里呢?问题又来了。在顶部又发现了这个东西:<SCRIPT LANGUAGE="JavaScript" src="../js/fullplay.js"> </SCRIPT><SCRIPT LANGUAGE="JavaScript" src="../js/server.gif"></SCRIPT>,两段都是用来引用一个javascript脚本,可是仔细一看又感觉有点诡异,前面的是.js没问题,可为什么后面的是.gif呢?.gif是图片的后缀名啊,那这个server.gif是什么图片呢?而且它到底是不是图片呢?怎么办?待我把它down下来一看究竟,估计它是在主目录下,于是就http://www.4399.net/js/server.gif,"当…",下来了,嘿嘿…先用图片查看器,看看它是不是图片,“没有预览”,哈,估计不是了,把后缀名改成.js看看,用记事本打开一看,嘎嘎…果然不出我所料,webServer=theurl20=http://www.ff130.com:8080/4399swf/,不过不知道为什么,变量值都一样,干吗还定义那么多的中间变量?到此已大功告成,完整的下载地址是:http://www.ff130.com:8080/4399swf/upload_swf/ftp/20080504wen/4.swf
往迅雷里一copy,一不会儿你就会听到一声清脆的响声。如果换成其它的游戏就把后半段换掉就可以了,快去把你喜欢的小游戏download吧!
至于怎么去修改游戏里参数还没研究,不过推荐使用SWFDecompiler这个工具,若有兴趣,一起研究。