# 2048 本题是根据 https://github.com/volltin/flxg-2048/ 改变,所有方块的名称来自于某位老学长的长篇连载小说。 ## 简单做法 通关,合并出「大成功」,就能得到 flag。 注意:如果在合并出「大成功」的同时方块无法移动了,算输 qwq。 ## 复杂做法 查看网页源代码,发现提示: ```html ``` 进而打开 `static/js/html_actuator.js` 这个文件,找到和游戏胜利有关的逻辑: ```javascript var url; if (won) { url = "/getflxg?my_favorite_fruit=" + ('b'+'a'+ +'a'+'a').toLowerCase(); } else { url = "/getflxg?my_favorite_fruit="; } let request = new XMLHttpRequest(); request.open('GET', url); ``` 如果访问 `/getflxg?my_favorite_fruit=` 可以得到返回信息: > 还没有大成功,不能给你 flxg。 这正是游戏失败时的提示信息。 我们打开 Chrome 浏览器的开发者工具,切换到 Console 标签页,执行一下 `('b'+'a'+ +'a'+'a').toLowerCase()`,得到正确的应该填入的值为 `banana`,访问 `/getflxg?my_favorite_fruit=banana`,则可以得到正确的 flag。 有的同学可能会好奇为什么 `('b'+'a'+ +'a'+'a').toLowerCase()` 的计算结果是 `banana`,这个问题可以参考:https://stackoverflow.com/questions/57456188/why-is-the-result-of-ba-a-a-tolowercase-banana 。