2024网鼎杯玄武组REVERSE02游戏时间限制破解方法
题目概述
2024网鼎杯玄武组REVERSE02是一道Java小游戏逆向题目,需要获得20分才能得到flag,但游戏设置了5秒的时间限制。本文介绍通过修改时间限制来轻松通关获得flag的方法。
破解步骤
1. 启动游戏
使用以下命令启动原始游戏:
java --module-path E:\program\javafx-sdk-17.0.13\lib --add-modules javafx.controls,javafx.fxml -jar WhackAMoleGame_flag1.jar


2. 分析代码
使用Recaf工具打开WhackAMoleGame_flag1.jar文件,在startGame函数中可以找到时间限制相关的代码:


3. 修改时间限制
在startGame函数名上右键选择"Edit with assembler",将5000(5秒)修改为5000000(约83分钟):


按Ctrl+S保存修改,然后通过"File->Export program"导出为patched.jar文件:

4. 运行修改后的游戏
执行修改后的jar文件:
java --module-path E:\program\javafx-sdk-17.0.13\lib --add-modules javafx.controls,javafx.fxml -jar patched.jar


破解结果
成功获得flag:wdflag{yma9vtcmfJxtP33qQ2ZGY58SHMawuK2V}
游戏通关画面提供了"复制内容"功能,方便用户复制flag值。
其他解法说明
字符串搜索方法
通过搜索包含flag字符串的文件:
grep -rl "flag" .strings ./lLilllL1lIL1/I111LL1lL11/iIIilIii11.class |grep flag

JavaFX下载
JavaFX SDK下载地址:https://gluonhq.com/products/javafx/
工具资源
标签: Reverse_Engineering,Java,Game_Cracking,Recaf,网鼎杯,CTF,JavaFX
|