Monyer's Game 6~10关过关方法
从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关过关方法的更多相关文章
- Monyer's Game 11~15关过关方法
到目前为止,玩这个小游戏并过关的人数已经达到了81人,首先Monyer要感谢各位的捧场与支持.继续上次的<Monyer's Game 6~10关过关方法>,我们来看剩下几关的过关方法. 但 ...
- Monyer's Game 0~5关过关方法
自从Monyer编写了这个通关小游戏,可谓是好事坏事参半吧! 好事是Monyer认识了许多电脑高手,包括netpatch.luoluo等,连LCX这种骨灰级选手也过来了,可谓是收获不小(所以既然我已经 ...
- Monyer's game Google Hack关的BT玩法
玩Monyer's game的朋友都知道里面有Google Hack这关,其实这里本来应该用到的技术是逆向回溯搜索,但因为有好几个人都说利用其他方式看到的密码,所以Monyer不得不重新站在玩家的角度 ...
- Effective Java 第三版——10. 重写equals方法时遵守通用约定
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- 在vs2010中编译log4cxx-0.10.0详细方法(从下载、编译、解决错误详细介绍)
在vs2010中编译log4cxx-0.10.0详细方法(从下载.编译.解决错误详细介绍) http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html
- Python中list常用的10个基本方法----list的灰魔法
########################list 的常用的10个基本方法################################## list 类 列表# 1 列表的基本格式#2 可以 ...
- 从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 ...
- 处理PHP字符串的10个简单方法;mysql出现乱码:character_set_server=utf8
PHP处理字符串的能力非常强大,方法也是多种多样,但有的时候你需要选择一种最简单且理想的解决方法.文章列举了10个PHP中常见的字符串处理案例,并提供了相对应的最理想的处理方法. 1.确定一个字符串的 ...
- 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盘作为 ...
随机推荐
- python——第一天
两种循环: for x in …… while range(n) 生成整数序列,并且是从0开始一直到n-1的整数 raw_input() 读取的内容永远以字符串的形式,必须先用 int() 把字符串转 ...
- jQuery--捕获键盘敲击
功能 当页面加载完成后,用户键盘按下某个键后,jQuery能够捕获到一个数字,从而执行一系列动作. 格式 1 2 3 4 5 6 7 8 9 10 11 12 $(function(){ $ ...
- 在VS中使用TinyFox调试OWIN应用(转)
在很早一段时间之前,我曾经写过一篇关于Katana的使用方法的文章<如何安装并简单的使用OwinHost——Katana>,上面就有介绍如何在VS中调试使用Katana作为Host的App ...
- $.ajax、$.post、from表单序列化工具
$.ajax\$.post <script type="text/javascript" language="javascript" src=" ...
- 一个让echarts中国地图包含省市轮廓的技巧
背景知识及应用简介 本文主要介绍一个使用ECharts地图组件的取巧方法,该技巧源于实际需求中遇到的问题,一般没有该需求的话这个技巧也是用不到的.有前端基础和以及对ECharts有了解的人基本可以读懂 ...
- DataSet与DataTable对象
DataSet与DataTable对象 摘自:http://www.cnblogs.com/fttbfttb/articles/1509662.html DataSet对象 DataSet是ADO.N ...
- Servelet面试题
1. Servlet与JSP有什么区别? Servlet和JSP完成的功能是相同的,都可以接收用户的请求,可以对用户进行响应,可以调用业务方法. 不同点在于JSP是在html或者xml中嵌入了Java ...
- Titanium开发环境搭建第三个坑
Nodejs版本的问题 首先,如下引用:http://docs.appcelerator.com/titanium/latest/#!/guide/Installing_Node To run all ...
- Apns推送中的的json格式介绍
在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送.下面接受我在进行apns推送时候总结的一点apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 a ...
- JavaWebSession
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...