MISC第四篇——gif
程序员文章站
2022-06-17 11:56:34
...
题目描述:菜狗截获了一张菜鸡发给菜猫的动态图,却发现另有玄机
解题:题目给的附件解压后是如下104张的黑白图片,先考虑二进制来解,通常白格为0,黑格为1,将104张图片的二进制形式表示出来后,再转换为字符串,获得flag。
- 遍历图片,拿到二进制
01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101
遍历图片代码如下:
static StringBuffer bin =new StringBuffer();
public static void getBin(String filepath){
File file=new File(filepath);
BufferedImage bi = null;
try {
bi = ImageIO.read(file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (bi.getRGB(1,1)==-1) { //RGB为-1 表示白图,否则黑
bin.append("0");
}
else {
bin.append("1");
}
}
public static void main(String[] args) {
//遍历图片
for(int i=0;i<104;i++){
getBin("E:\\CTF\\newhand\\dbbc971bf4da461fb8939ed8fc9c4c9d\\gif\\"+i+".jpg");
}
System.out.println(bin);//打印二进制
}
2. 二进制转换为字符串
用的是在线网站:http://www.txttool.com/wenben_binarystr.asp
得到flag{FuN_giF}。