https://monyer.com/game/game1/
第一关
https://monyer.com/game/game1/first.php



| |
输入值为俩个空格就可以到下一关了
第二关
https://monyer.com/game/game1/hello.php

| |
需要计算一下 a 的值,
直接在控制台计算就可以了(计算器计算可要费一番功夫了):

第三关
https://monyer.com/game/game1/424178.php

| |
https://www.w3school.com.cn/jsref/jsref_fromcharcode.asp
JavaScript String String.fromCharCode() 方法
定义和用法
<font style="color:crimson;background-color:rgba(222, 222, 222, 0.3);">String.fromCharCode()</font>方法将 Unicode 值转换为字符。
<font style="color:crimson;background-color:rgba(222, 222, 222, 0.3);">String.fromCharCode()</font>是 String 对象的静态方法。语法始终是
<font style="color:crimson;background-color:rgba(222, 222, 222, 0.3);">String.fromCharCode()</font>。您不能使用 myString.fromCharCode()。
实例
如何将 Unicode 值转换为字符:
<font style="color:rgb(0, 0, 0);background-color:rgb(253, 252, 248);">let char = String.fromCharCode(65);</font>
<font style="color:rgb(0, 0, 0);background-color:rgb(253, 252, 248);">let char = String.fromCharCode(72, 69, 76, 76, 79);</font>语法
String.fromCharCode(n1, n2, …, nX)
控制台解出源码

| |
第四关
输入 d4g 之后,会跳转回第三关
那抓包吧:

看看第四关的源码:
| |

- 第一个混淆脚本 直接用控制台解码就可以 了
| |
- 第二个混淆脚本
| |
第五关的密码就是 3BHE1.php
第五关
https://monyer.com/game/game1/3BHE1.php****

第六关
https://monyer.com/game/game1/asdf.php
提示密码在图片中,那应该是涂黑的部分,

那我们在 Google 中搜索这一句明文:

大概就是这个了

密码:seventeen
第七关
https://monyer.com/game/game1/seventeen7.php

MD5 是:eighteen8
提示2:不要被你的所见、经验及习惯蒙蔽了你的双眼,看不到的正是你想要的。
进入之后发现是一个高仿的 404 页面,实际上我们已经到了第八关了

第八关
https://monyer.com/game/game1/eighteen8.php
查看源码:

10000以内所有质数和.php
5736396
| |

第九关
https://monyer.com/game/game1/5736396.php

记事本打开图片:

MonyerLikeYou_the10level
第十关

在 cookie 中找到 username=simpleuser;
将他修改后发包

doyouknow
第十一关


smartboy
第十二关

base64 解码 && URL 解码:
| |

但 sobeautiful.php 并不是十三关

也就是不能直接在 URL 中跳转,
但是可以发现十二关的输入框还没用
这里留了一个 xss 漏洞
<script>alert('xss')</script>

可以用 <a href="sobeautiful.php">111</a>


第十三关
https://monyer.com/game/game1/sobeautiful.php

输入内容抓包:

发现注释中有数据库链接的东西:

关键的 SQL 语句:
| |
那就直接用万能密码查找 user 表:' or '1'='1
返回了密码:whatyouneverknow

第十四关
https://monyer.com/game/game1/whatyouneverknow.php****

这里设计到 exe 的逆向:

分析如下:
该图片显示的是使用 Exeinfo PE 工具分析的一个名为 crackme.exe 的可执行文件的详细信息:
主要信息解读:
- Entry Point (入口点): 0006A410
- EP Section (入口点节): UPX1
→ 说明入口点在被UPX压缩后的首个节,基本可以判定该文件已用UPX壳保护/压缩过。 - File Offset (文件偏移): 00026810
- First Bytes (文件前几个字节): 60 BE 00 40 44
- Linker Info (链接器版本): 2.25
- SubSystem (子系统): Windows GUI
→ 表示此可执行文件为标准的Windows图形界面应用。 - File Size (文件大小): 00027A00h (即约160KB)
- Overlay (文件叠加): NO 00000000
→ 无附加数据或隐藏数据流。 - Image is 32bit executable
→ 32位可执行文件。 - RES/OVL : 2 / 0 %
→ 有2个资源,0重叠/无覆盖数据。 - 年份: 1992(PE格式标志,可能为默认值��
UPX相关信息:
- 检测到UPX壳,具体版本区间:UPX 0.89 - 4.0x (此文件实际匹配UPX 2.02特征)。
- 工具提示如何脱壳:
| |
意味着可通过UPX工具自身使用 upx.exe -d crackme.exe 命令进行“脱壳”操作,将文件还原回未压缩状态,便于进一步静态分析或逆向工程。
总结建议
- 文件已被UPX压缩,分析或逆向需先脱壳(可用upx命令行工具)。
- 脱壳后可以用IDA Pro, x32dbg等工具继续深入分析其行为。
- 文件无叠加数据、无.NET标记,是常规PE结构。
UPX 脱壳:


主要信息
- 文件名:crackme.exe
- 入口点 (Entry Point):00053B08(程序入口地址)
- 入口节 (EP Section):CODE(说明程序入口现在在标准的代码节里)
- 文件偏移 (File Offset):00052F08
- 首字节 (First Bytes):55 8B EC 83 C4
这是典型的x86汇编函数开头,说明为标准未加壳代码。 - Linker Info:2.25
- 子系统 (SubSystem):Windows GUI(窗口图形界面程序)
- 文件大小 (File Size):00061C00h(约398,336字节)
- Overlay:NO 00000000(无附加数据块或文件流)
- 位数:32位可执行程序
- 资源数量 (RES/OVL):5个资源 / 0重叠
- 年份:1992(PE格式标识,通常不变)
“9eeee9eb50eff979”


密码:ipasscrackme.asp



隔得时间长了就得回去重做 O(∩_∩)O
但是我的不行。。