Monyer's Game开通到现在,已经有50多人通关了。其中绝大部分人,不管是自己独立完成也好,参考别人也罢,都是自己一步一步过去的。像陆羽兄弟甚至已经为游戏做好了整个通关的教程,在此Monyer对他的热心表示感谢。

但是毕竟通关时只需要一种方法,但通关的思路却有无数种,而我更希望想让大家把该学到的东西学到。所以继续上次的讲解《Monyer's Game 0~5关过关方法》,我们来看一下6~10关的过关方法。而有不同通关思路的朋友,请一定不要吝惜,把思路共享给大家,这样我们都会进步,谢谢!

6-7关

进入第六关后,显示出来的是一张google搜索的图片,图片中的关键词即是本关的通关密码,但已经被黑色涂掉了。所以这关的本意即是通过未涂掉的文字去在google中搜索关键词本身,即google hack。

有些人说即使不通过google搜索亦能猜出来密码是什么,这里Monyer非常佩服其眼力!但我们这里选择按部就班地去寻找蛛丝马迹。

google列出的搜索结果有三个,第三个是维基百科的结果,并且只能看见一部分(由于截图的撕边效果),这个撕边效果是故意做的——原因就是搜索百科上的内容,是最容易还原关键字的,其中因由不用说吧,呵呵。

所以这里我们直接瞄准百科上的关键字,Monyer攫取的关键字有“published in 1944、magazine”,我们直接提取到google里去搜索一下,密码关键词立即出现:

对比game中的图片你可以看到,没有任何怀疑,密码就是seventeen。有人说是因为十七大,呵呵,或许。因为当时确实到这里头脑中出现的单词就是这个。但有些人说,这些密码大都具有一定的可猜性,这点Monyer表示赞同。

7-8关

来到第七关,提示有三个:

提示1:这关需要简单的社会工程学,请联想本关特点进入下一关。

提示2:不要被你的所见、经验及习惯蒙蔽了你的双眼,看不到的正是你想要的。

提示3:与社会工程学相仿的是暴力破解,所以Monyer给你MD5:5e023995fb3f5e840ee684784f8f0799(小于10的数字+字母)

提示给的再清楚不过——你得“猜”,并且你有可能“看不到”。

至于提示3仅仅是给某些想象力没有发挥出来或者是被“看不到”所迷惑的人一个确定密码的机会。可是另我异常兴奋的是——这个MD5居然被很多人爆破出来了,佩服!

“猜”这种东西,我们无法给出一个准确的理解,但无论如何,当我看到本关的唯一特点——seventeen7.asp,我都会毫不犹豫地去猜下一关密码为eighteen8的。看了看陆羽兄弟也是这样猜出的,因为再没有别的特点了。

所以当你提交密码后出现了“找不到网页”的提示错误时,“看不到的正是你想要的”。并且为了防止大家迷糊,我特意将第八关的title很醒目地放在那里。

8-9关

依旧查看源文件,直拖到底,你将看到第九关的提示:10000以内所有质数和.asp。

所以这关你甭想使巧劲过去,只能老老实实地编码吧!

陆羽兄用的是JS:(由于陆羽兄仅仅是做POC,所以代码没有规格化。这里Monyer对源代码进行适当更改,对于编程初学者来说,编程的格式甚至比编程本身更重要。

<script>
b=0;
for(i=1;i<10000;i=i+1){
    pd=false;
    if(i==2) pd=true;
    else{
        for(j=2;j<i;j=j+1){
            if(i%j==0){
                pd=false;
                break;
            }else pd=true;
        }
    }
    if(pd) b=b+i;
}
document.write(b+".asp");
</script>

如果你的CPU够强劲,在浏览器崩溃之前,你会看到运算结果:5736396.asp

当然你也可以编出更优化的代码来(红粟):

<script>
var sum=2;
for(var x=3;x<10000;x++){
flag=true;
for(var temp=2;temp<=Math.sqrt(x);temp++)
if (x%temp==0){flag=false;break;}
if(flag) sum+=x;
}
alert(sum);
</script>

由于编写这关时正好开着eclipse,所以索性就用java编写的函数,但和用C编写几乎没有区别,事实上这么简单的算法,大虾们用十种八种编程语言编出来也没丝毫问题。

class Test{
public static void main(String[] args){
   int a = 10000;
   int[] b = new int[a/2];
   int bp=0;
   for(int i=2;i<=a;i++){
    for(int j=2;j<=i;j++){
     if(i%j==0 && j!=i) 
      break;
     if(j==i){
      b[bp]=j;
      bp++;
     }
    }
   }
   bp=0;
   for(int i=0;i<b.length;i++){
    if(b[i]!=0) bp+=b[i];
   }
   System.out.println(bp);
}
}

结果会在毫秒级显示出来,估计C会更快(horseluke的代码)。但如果你仔细看代码,你也会发现这个算法同样不够好,甚至很差。你可以开发出更快的算法来,譬如i无须等于2的倍数,j取值b[i]中已存在元素,j小于i的平方根即可等等,这里不深入研究了。

9-10关

进入第九关,居然又是一张图片,美女哦!有些人问我:已经把RF放大十多倍了,还是没看到密码!

:-)!无语!但经常浏览我博客的好友会发现这关过起来异常简单。

我们先假设这关是图片与RAR的COPY吧,下载图片后winrar打开发现数据错误;那么再假设是图片与TXT的COPY吧,用NOTEPAD打开,直拖到底,即可看到密码。

所以到现在你几乎没费什么力气,无须什么特殊的工具就直接来到了第十关。

在自己明白原理的情况下直冲十关,是不是有些莫名的兴奋呢?

如果来到这里,不妨在没有提示的情况下通过剩余的关卡,虽然涉及的知识点很多,但都是各个知识点中的初级。100度一下你就知道,如果还不知道,就360度一下,哈哈!

Monyer!

Monyer's Game 6~10关过关方法的更多相关文章

  1. Monyer's Game 11~15关过关方法

    到目前为止,玩这个小游戏并过关的人数已经达到了81人,首先Monyer要感谢各位的捧场与支持.继续上次的<Monyer's Game 6~10关过关方法>,我们来看剩下几关的过关方法. 但 ...

  2. Monyer's Game 0~5关过关方法

    自从Monyer编写了这个通关小游戏,可谓是好事坏事参半吧! 好事是Monyer认识了许多电脑高手,包括netpatch.luoluo等,连LCX这种骨灰级选手也过来了,可谓是收获不小(所以既然我已经 ...

  3. Monyer's game Google Hack关的BT玩法

    玩Monyer's game的朋友都知道里面有Google Hack这关,其实这里本来应该用到的技术是逆向回溯搜索,但因为有好几个人都说利用其他方式看到的密码,所以Monyer不得不重新站在玩家的角度 ...

  4. Effective Java 第三版——10. 重写equals方法时遵守通用约定

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  5. 在vs2010中编译log4cxx-0.10.0详细方法(从下载、编译、解决错误详细介绍)

    在vs2010中编译log4cxx-0.10.0详细方法(从下载.编译.解决错误详细介绍) http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html

  6. Python中list常用的10个基本方法----list的灰魔法

    ########################list 的常用的10个基本方法################################## list 类 列表# 1 列表的基本格式#2 可以 ...

  7. 从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法

    从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法 2018-10-18 21:08:39作者:ywnz稿源:云网牛站 本文提供从Ubuntu 18.04 LTS(Bionic ...

  8. 处理PHP字符串的10个简单方法;mysql出现乱码:character_set_server=utf8

    PHP处理字符串的能力非常强大,方法也是多种多样,但有的时候你需要选择一种最简单且理想的解决方法.文章列举了10个PHP中常见的字符串处理案例,并提供了相对应的最理想的处理方法. 1.确定一个字符串的 ...

  9. ceph hammer 0.94.10手动部署方法Ceph Hammer版(0.94.10)手动部署for CentOS 7.x

    Ceph Hammer版(0.94.10)手动部署for CentOS 7.x --lin.wang 20190310 环境有三个节点node-1,node-2,node-3,每个节点三个ssd盘作为 ...

随机推荐

  1. LeetCode——Contains Duplicate III

    Description: Given an array of integers, find out whether there are two distinct indices i and j in ...

  2. Android 学习笔记之AndBase框架学习(四) 使用封装好的函数实现单,多线程任务

    PS:Force Is Meaningless Without Skill 学习内容: 1.使用AndBase实现单线程任务... 2.使用AndBase实现多线程任务...   AndBase内部封 ...

  3. hive的内部表与外部表创建

    最近才接触Hive.学到了一些东西,就先记下来,免得以后忘了. 1.创建表的语句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_na ...

  4. GPUImage滤镜之锐化

    应用锐化工具可以快速聚焦模糊边缘,提高图像中某一部位的清晰度或者焦距程度,使图像特定区域的色彩更加鲜明. 在应用锐化工具时,若勾选器选项栏中的“对所有图层取样”复选框,则可对所有可见图层中的图像进行锐 ...

  5. 正则表达式:re--python核心编程(3),chapter 1

    最近听吴老的电台,收获颇多,给人映像最深的就是:学会编程 和 坚持学习:作为一名测试员,要从一名手工测试转化成 测试开发 或者资深的测试工程师,编码水平是必须具备的基本素质:吴老所说,撸1W到2W行代 ...

  6. ChartDirector应用笔记(一)

    ChartDirector介绍 ChartDirector是一款小巧精细的商业图表库.其适用的语言范围非常广泛,包括.Net, Java, Asp, VB, PHP, Python, Ruby, C+ ...

  7. 字符串 --- KMP Eentend-Kmp 自动机 trie图 trie树 后缀树 后缀数组

    涉及到字符串的问题,无外乎这样一些算法和数据结构:自动机 KMP算法 Extend-KMP 后缀树 后缀数组 trie树 trie图及其应用.当然这些都是比较高级的数据结构和算法,而这里面最常用和最熟 ...

  8. sencha panel的头header上添加刷新按钮

    var plet3=Ext.create('portaltest3.view.Portlet',                   { title: '提醒',                   ...

  9. [moka收藏]php正则表达式验证

    手机号验证规则[['mobile'], 'match','pattern' =>"/^1[34578]\\d{9}$/"], [['sendmail_limit'],'mat ...

  10. PHP学习笔记:对命名空间(namespace)学习资料的翻译

    Name collisions means: you create a function named db_connect, and somebody elses code that you use ...