主要观点总结
本文是关于2024网鼎杯玄武组的REVERSE02题目的解法介绍,提到了三种解法:硬逆解AES、非预期解和crack时间限制。文章详细描述了使用第三种解法,即通过修改游戏时间限制来通关获得flag的具体操作步骤。
关键观点总结
关键观点1: 题目背景及网上解法概述
文章开头介绍了题目的背景和网上已有的两种解法:硬逆解AES和非预期解。
关键观点2: 第三种解法:crack时间限制
文章提出了一种新的解法,即通过修改游戏的时间限制来通关。具体步骤包括启动游戏、推测时间限制在反编译代码中的表示、使用recaf打开jar文件、修改相关代码、保存并导出为新的jar文件,最终获得flag。
关键观点3: 其他说明
文章还提供了一些其他相关信息,如遍历当前目录找到含有flag的文件、JavaFX的下载地址、解密AES的参考链接、recaf的操作指南、看雪社区的优秀文章推荐等。
文章预览
这道题目是2024网鼎杯玄武组的REVERSE02,从答题率来看算是简单题了(难的也不会),不过作为一个Java的小游戏题目,感觉还是挺有意思的。关于这道题目,目前网上的WriteUP提到了两种解法,一种是硬逆,解AES,另一种是非预期解,直接可以在class文件中找到flag明文字符串。这里提出了第三种解法,crack时间限制,把5秒超时改为5000秒超时,因为游戏不难,进而很容易通关获得flag。具体操作过程如下。 启动游戏,提示得20分就可以获得flag,但是有时间限制,只有5秒。 java -- module -path E:\program\javafx-sdk- 17.0 . 13 \ lib --add-modules javafx.controls,javafx.fxml -jar WhackAMoleGame_flag1.jar 对编程熟悉的话,推测5秒在反编译代码中大概就是个5或者5000的整数,并且应该和时间函数或类有关。使用recaf打开WhackAMoleGame_flag1.jar,可以在startGame函数中看到相关代码。 接下来开始c
………………………………