再玩黑客游戏
刚刚在雷锋群群友优子的博客上看到一篇文章《试玩黑客游戏》,心里一阵激动,我激动个啥呢?因为高中的时候曾玩过这个,那个时候马马虎虎只能过第一关,而且还花了我不少时间。事隔多年,我又回来了,看看技术有没有长进。 打开游戏入口:http://game.enet.org.cn。
第一关:Escape 解密
看到页面,别的不说,先把这个页面下载下来,然后再本地打开分析。打开后我们可以看到变量 “Words” 的值都是经过 Escape 加密的,再看下面,通过 unescape 函数再将变量 “Words” 解密,然后通过 write 函数打印出来。 解题方法有两种,第一种就是到
Escape加密/UnEscape解密 这个页面讲加密的变量进行解密,然后得到解密后的值;第二种就是直接在下面用 alert(); 函数讲 “Words” 变量弹窗显示,这两种方法都可以得到明文值。 解密后得到关键的代码,如下:
1 | function PassConfirm() { |
本关密码:hackervip.com
下关页面:errror.html
第二关:Encode 解密
老方法,把页面下载到本地。所有 JS 代码都是 Encode 加密过了的,解铃还须系铃人,我们找一个 JScript.Encode脚本加密与解密 的网站进行解密,然后得到关键代码,如下:
1 | function PassConfirm() { |
本关密码:********
下关页面:jpg.htm
第三关:网页源码
额,这个页面一进去就要求输入帐号密码,这也没办法查看源文件,所以这里可以借助QQ旋风把当前页面下载下来。新建一个任务,下载路径就写这个页面的路径就可以了。
下载完成后我们查看源代码,里面都是明文显示的,但是我看半天没看明白进入的ID和PW是什么。我们不管了,关键是看下关的入口在哪。
1 | function PassConfirm() { |
进入帐号密码:这个我没看明白,本关密码:htm
,虽然是密码,但是貌似没用。
下关页面:3.14159265358979323846264.htm
第四关:XXOO 解密
这关大部分都是明文显示,只不过关键的显示密码的地方却被加密了,这里因为不知道是什么加的密,所以折腾了很久。但是后来想到以前玩软件破解的原理,把等于改成不等于,这样就大功告成了。
1 | function PassConfirm() { |
这里我们把if (hackervip_compile(x) == unescape
中的等于符号改成!=
,然后再本地运行页面,什么都不需要输入,单击确定,这样就能够获得到下一个页面的地址。
本关密码:不知道
下关页面:my_hackervip.html
第五关:乱码
本人不才,到这里就卡壳了,页面一进去都是乱码,源文件里面也是乱码,让我无从下手。想到
优子那去看看他的解题方法,结果他也和我一样,看到的都是乱码。到底是我们的问题还是这网页有问题? 问问百度谷歌大叔,发现很多人都卡在这一关,网上也有解密方法,但是感觉牛头不对马嘴,写的方法和我看到的完全不同。 不过也差不多了,过了四关,比以前多了三关,嘿嘿。