专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
今天看啥  ›  专栏  ›  看雪学苑

一道jar包逆向题的crack解法

看雪学苑  · 公众号  · 互联网安全  · 2024-12-05 17:59
    

主要观点总结

本文是关于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 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览