08067CTF-Misc-坚持60s

文章目录

  • 坚持60s
    • 题目分析
    • 总结

坚持60s

08067CTF-Misc-坚持60s_第1张图片

题目分析

题目给了一个.jar文件,打开后发现是一个小游戏,这种游戏要么比较简单,过关后给你提示信息,要么就是很难过不了。这里属于第二种情况,对于jar文件,我们需要Java Decompiler 来查看这个.jar文件的源码。这里我们使用jd-gui这个工具来打开这个jar文件,如下图。
08067CTF-Misc-坚持60s_第2张图片

通过这个软件我们可以查看这个小游戏的源码,由于代码量很小,我们可以把每一个.java文件都看一遍。
08067CTF-Misc-坚持60s_第3张图片

最终可以找到存在敏感信息的.java文件。我们也可以使用这个软件的search功能直接搜索敏感字符串。可以定位到含有flag的.java文件。
08067CTF-Misc-坚持60s_第4张图片
很明显,flag是经过base64编码的。写一个python脚本解码。

import base64
str = base64.b64decode("RGFqaURhbGlfSmlud2FuQ2hpamk=").decode("utf-8")
print("flag is :" + str)

"""
运行结果:
flag is : DajiDali_JinwanChiji
"""

当然我们也可以用360解压软件解压这个jar文件,会得到.class文件。.class文件是.java文件编译后生成的字节码文件,我们使用一般的文本编辑工具打开的话,里面的内容是乱码。使用专业的集成开发工具(IDE)可以打开.class文件,如eclipse,IDEA等。假如我们在没有.java文件的情况下想要修改代码,就需要用到java文件的反编译工具了(上面的那种做法就是这个),该工具可以将.class文件反编译成.java文件,然后修改java文件后再编译成.class文件即可。

总结

对jar文件我们可以使用Java反编译工具对其源码进行分析。

你可能感兴趣的:(ctf解题)