Skip to content

Commit 88a997f

Browse files
authored
Merge pull request #23 from ramified/master
my solution
2 parents 9587d9d + e6f7466 commit 88a997f

File tree

7 files changed

+132
-0
lines changed

7 files changed

+132
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
| [Ben "Pig" Chu](https://benpigchu.github.io/pikanote/article/ustc-hackergame-2021-writeup.html) | 总排名第 15 名 | 签到、进制十六——参上、去吧!追寻自由的电波、猫咪问答 Pro Max、透明的文件、Amnesia - 轻度失忆、旅行照片、卖瓜、图之上的信息、Amnesia - 记忆清除、FLAG 助力大红包、赛博厨房 - Level 0、赛博厨房 - Level 1、Easy RSA、马赛克、加密的 U 盘、minecRaft、Micro World、p😭q、JUST BE FUN、助记词 - 第一顿大餐、超 OI 的 Writeup 模拟器 - 果然还是逆向比较简单、阵列恢复大师 - RAID 0、阵列恢复大师 - RAID 5、卷王与野生的 GPA |
7575
| [4qwerty7](players/4qwerty7/writeup.md) | 总排名第 2 名 | 签到、进制十六——参上、去吧!追寻自由的电波、猫咪问答 Pro Max、卖瓜、透明的文件、旅行照片、FLAG 助力大红包、Amnesia第一问、轻度失忆、记忆清除、图之上的信息、Easy RSA、加密的 U 盘、赛博厨房、灯,等灯等灯第一问、只读文件系统、一石二鸟、Micro World、卷王与野生的 GPA、阵列恢复大师、链上预言家、助记词、Co-Program、马赛克、minecRaft、密码生成器、外星人的音游掌机、JUST BE FUN、fzuu、p😭q、超 OI 的 Writeup 模拟器前两问 |
7676
| [zhixi](https://zhangjk98.xyz/hackergame-2021-write-up/) | 总排名第 187 名 | 签到、进制十六——参上、去吧!追寻自由的电波、猫咪问答 Pro Max、卖瓜、旅行照片、Amnesia{轻度失忆}、图之上的信息、赛博厨房前两问、p😭q |
77+
| [zxx](players/zxx/README.md) | 总排名第 307 名 | 进制十六 -- 参上, 去吧!追寻自由的电波,FLAG 助力大红包,minecRaft |
7778

7879
## 其他资源
7980

players/zxx/251.png

77.4 KB
Loading

players/zxx/254.png

80.6 KB
Loading

players/zxx/256.png

85.5 KB
Loading

players/zxx/README.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
# Preface
2+
3+
来自数院的咸鱼选手,不会用python(就是玩玩),在这个过程中学到了一点东西(纯数学也需要很多代码的,比如说LaTeX,比如可视化数据库)
4+
5+
此文章同时发布于 [我的博客](https://blog.tinyume.com/2021/hackergame2021-writeup/)
6+
7+
# 题目
8+
9+
10+
11+
## 进制十六 -- 参上
12+
13+
直接使用[Mathpix Snipping Tool](https://mathpix.com/)截图转文本(这个软件本来是用来将图片转LaTeX的,不过每个月只能用50次,希望能找个开源版本),然后直接google“16进制转文本”。
14+
15+
## 去吧!追寻自由的电波
16+
17+
之前尝试本地调速调不出来,在网上查到个[在线调速](https://100audio.com/sound/100audio_editor/) 就调出来了,当时也不知道是啥原因。
18+
19+
伪证:用[Aboboo](http://www.aboboo.com/g/#/home)(学外语的软件,我平常用来加速看数学视频,也不是开源的)调速的时候发现有一部分能听出来另外一部分听不出来,观察波形图觉得是被添加了干扰音,尝试下载Cool Edit,发现不会用,于是放弃。
20+
21+
![wave](wave.png)
22+
23+
24+
25+
## FLAG 助力大红包
26+
27+
首先按照搭建网站的经验,直接在html里面看到hidden的文本框,修改文字即可修改前端。
28+
29+
然后按照提示,我需要知道后端是啥以及怎么伪造。那么知乎搜索“伪造IP地址 后端”找到[如何向PHP伪造自己的ip?](https://www.zhihu.com/question/25721080/answer/31941799),于是找到某款Google extension(最后用的是X-Forwarded-For Header),好!这样我就可以手动伪造前后端了。
30+
31+
于是我就手动修改了10分钟,助力了大约100来位链接就过期了...
32+
33+
好家伙!看来这种提交可能需要点脚本来帮我点,毕竟我修改一次需要5-6秒,但是它还有10分钟。于是上网搜索到软件[AutoHotKey](https://www.autohotkey.com/) ,学习第一个“脚本”的制作。(副产物:以后打LaTeX代码可以更快了) 不过就算是自动点击,修改一次也需要2秒多,中间的停止时间过短的话就会出现错误。在经过多次微调后(可能是20次左右吧),终于成功提交了所有的IP地址(中间有251次,254次的,有点担心256次是不是0.999999998个Flag,中途还尝试修改JavaScript和本地时钟试图将时间延长)
34+
35+
代码如下:
36+
37+
```
38+
#MaxThreadsPerHotkey 3
39+
^j::
40+
#MaxThreadsPerHotkey 1
41+
if KeepWinZRunning
42+
{
43+
KeepWinZRunning := false
44+
return
45+
}
46+
KeepWinZRunning := true
47+
rand := 0
48+
Loop
49+
{
50+
MyNumber := rand . ".233.233.233"
51+
Click, 1751 91 1
52+
Sleep, 120
53+
Click, 74 74 2
54+
Sleep, 50
55+
Send, %MyNumber%
56+
Sleep, 70
57+
Click, 429 346 2
58+
Sleep, 80
59+
Send, %MyNumber%
60+
Sleep, 40
61+
Click, 587 747 1
62+
;Click, 1073 31 1
63+
Send ^{Click 387 437 1}
64+
Sleep, 60
65+
rand += 1
66+
if not KeepWinZRunning
67+
break
68+
}
69+
KeepWinZRunning := false
70+
return
71+
```
72+
73+
中途的图如下:
74+
![251](251.png)
75+
![254](254.png)
76+
77+
![256](256.png)
78+
79+
## minecRaft
80+
81+
作为曾经写过30行左右javascript代码的人还是知道尝试处理flag.js的。(以前想copy别人网页的导航栏,也是要强行读javascript代码,最后失败了)在使用alart函数辅助之后终于大致看懂了代码,发现核心函数code()中的变换都是可逆的,于是反过来写了一个函数得到了第三盏灯点亮需要的代码。(出题人不提供LongToStr4()和Base16ToLong()的话我就放弃了)
82+
83+
于是花了1个小时小心翼翼地把第三盏灯点亮了。未果,Flag呢?为啥没弹出窗口?
84+
85+
脑子爆炸了10分钟后突然想到直接把解码的文本输到flag里,成功!
86+
87+
# 吐槽(or 错解)
88+
89+
### 透明的文件
90+
91+
一看是每个变量五个数据(并且后三个数据“光滑”变化),猜后三个数据是颜色,前两个数据是坐标,于是用正则表达式
92+
93+
```
94+
.{0,100}(?=;\d{0,3};\d{0,3}m\n);(\d{0,3});(\d{0,3})m\n
95+
```
96+
97+
修改之后在Mathematica中把图画出来:
98+
99+
![color](color.png)
100+
101+
观察图片无解,明明所有的变量都用上了呀,难道是表示啥频谱信息?遂放弃。
102+
103+
### 赛博厨房
104+
105+
这个就是吐槽题目的描述不清楚。
106+
107+
啥是物品?盘子是不是物品?锅是不是物品?
108+
109+
盘子是啥?有啥用?我怎么知道物品是否放进锅了?
110+
111+
那些图片都是啥?我一直以为那个白色的碗是盘子。。
112+
113+
编代码的时候没有注释就很无奈。另外“ 向上跳转 m 行”最开始理解成机器人在房间里“跳”上m行了。
114+
115+
看到Level2,3菜谱都没规律果断放弃,这要是程序哪里出了个bug都找不出来的节奏。。
116+
117+
### 灯,等灯等灯
118+
119+
我是当小游戏来玩的,并不是很想打代码。点击方块到一定程度的时候就很难看到中间的黄色文字了,就想吐槽下对色盲患者很不友好。。。
120+
121+
数学系的学生在math下的分数为0,对此我表示非常开心,反正这也不是纯数题
122+
123+
### 学到了啥
124+
125+
首先是如何阅读别人的javascript代码(似乎和阅读文献的方式类似:不需要全部搞懂,快速抓住主干信息后再补全细节)。
126+
127+
然后是学会了用软件[AutoHotKey](https://www.autohotkey.com/) 做一点简单的脚本。
128+
129+
最后是学会在Github上使用Pull Request(没错,数学系学生的信息技术水平就是这么low----这是自嘲)
130+
131+
最后希望以后遇到代码上的Bug能像大家请教;->

players/zxx/color.png

11.8 KB
Loading

players/zxx/wave.png

227 KB
Loading

0 commit comments

Comments
 (0)