补充:
(一)
JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一类文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容里,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。
(二)
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,不过数字一般不好判断,所以这里不推荐用数字进行判断。
最后基本上就可以判断出来了,实在不行就拿去在线网站挨个方式解码,也不麻烦。
解题流程
1.下载题目给的文件:heiheihei.jar
发现是java的jar文件,直接运行:
在控制台执行命令:java -jar heiheihei.jar没有发现有价值的信息
注:需要java运行环境,如果没有,先搭建java的环境。
2.通过binwalk分析下:binwalk heiheihei.jar
发现好多文件——》
发现要查找的文件太多了
3.于是将文件拿到 JD-GUI(Java反编译工具)下 用 jd-gui 分析代码
flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}
发现大括号里面是一串base64编码
解码即可得到flag