java mangodb 在游戏中 java游戏jar_java

JAR 文件就是 Java Archive File,顾名思意,它的应bai用是与 Java 息息相关的,是 Java 的一du种文档格式。JAR 文件非常类似 ZIP 文件——zhi准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。

step1、下载题目给的文件:heiheihei.jar

发现是java的jar文件,直接运行:

在控制台执行命令:java -jar heiheihei.jar

注:需要java运行环境,如果没有,先搭建java的环境。

弹出一张动图:

java mangodb 在游戏中 java游戏jar_java_02


题目说需要60s,额,有技术的话,玩60s应该是可以的,但本人没成功过60s。然而,这游戏不知是bug还是彩蛋,可以躲在绿帽发现不了的地方,就是游戏的右边,一直往右边走,就会进入边界外面,绿帽过不去。

java mangodb 在游戏中 java游戏jar_java mangodb 在游戏中_03


step2、还是另想办法:使用binwalk分析下:binwalk heiheihei.jar

java mangodb 在游戏中 java游戏jar_java mangodb 在游戏中_04


发现好多文件——》直接用binwalk -e heiheihei.jar提取

java mangodb 在游戏中 java游戏jar_java_05


发现要查找的文件太多了

step3、于是将文件拿到 JD-GUI(Java反编译工具)下 用 jd-gui 分析代码

了解编译和反编译

java mangodb 在游戏中 java游戏jar_java_06

java mangodb 在游戏中 java游戏jar_Java_07


flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}

发现大括号里面是一串base64编码

java mangodb 在游戏中 java游戏jar_Java_08


最终得到flag{DajiDali_JinwanChiji} ——》 correct!

base32和base64的判断

base64中包含大写字母(A-Z)、小写字母(a-z)、数字0——9以及+/;
base32中只有大写字母(A-Z)和数字234567

分辨方法:

首先看有没有符号,base64和base32都以’=‘作为空白补足符符号,如果结尾没有’='有可能是base16。如果出现了+和/,那么一定是base64。
然后看大小写字母,如果有大写有小写就一定是base64。如果全是大写的情况就看具体字母有没有F之后的字母出现,因为base16就是16进制,字母部分只到F。
当然这个base32的数字部分只有2-7,不过数字一般不好判断,所以这里不推荐用数字进行判断。
最后基本上就可以判断出来了,实在不行就拿去在线网站挨个方式解码,也不麻烦。