合天安全实验室CTF之基础100
2015-03-12 18:54
162 查看
下载一个文本misc.txt,打开来一看,什么鬼,全是3个一组的数字
马上想到是RGB三原色,一共61366组,就先创建一个256*256的白色画布
这就是白色画布,不用怀疑,你马上就能看到了
然后就是对白色画布的填充
创建一个PicTest.java,代码如下:
什么鬼,调整一下图片的高和宽,变成256和245
OK,找到了flag{ youc@n'tseeme }
提交,通过!
马上想到是RGB三原色,一共61366组,就先创建一个256*256的白色画布
这就是白色画布,不用怀疑,你马上就能看到了
然后就是对白色画布的填充
创建一个PicTest.java,代码如下:
public class PicTest { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("G:\\misc100.txt"))); int i,j; String line = br.readLine(); int rgb[] = new int[3]; File file = new File("G:\\1.jpg");// 实例化file对象,并设置读取图片路径 BufferedImage bi = null; // 像素缓冲区开始为空 bi = ImageIO.read(file); int width = bi.getWidth(); int height = bi.getHeight(); int minx = bi.getMinX(); int miny = bi.getMinY(); for (i = 0; i < width; i++) { for (j = 0; j < height; j++) { // int pixel = bi.getRGB(i, j); // rgb[0] = (pixel & 0xff0000) >> 16; // rgb[1] = (pixel & 0xff00) >> 8; // rgb[2] = (pixel & 0xff); // System.out.println("i=" + i + ",j=" + j + ":(" + rgb[0] + "," // + rgb[1] + "," + rgb[2] + ")"+pixel); if(line == null) break; String[] rgbs=line.toString().split(","); rgb[0]=new Integer(rgbs[0]); rgb[1]=new Integer(rgbs[1]); rgb[2]=new Integer(rgbs[2]); bi.setRGB(i, j, Integer.parseInt(Integer.toHexString(rgb[0])+Integer.toHexString(rgb[1])+Integer.toHexString(rgb[2]),16)); //bi.setRGB(i, j, Integer.parseInt("ffffff",16)); line = br.readLine(); } } ImageIO.write(bi, "JPEG", file); //写入文件 br.close(); } }OK,我们来看看效果
什么鬼,调整一下图片的高和宽,变成256和245
OK,找到了flag{ youc@n'tseeme }
提交,通过!
相关文章推荐
- 合天安全实验室CTF之解密100
- 合天安全实验室CTF之Web100
- 合天实验室CTF 基础100 flag就在这儿
- 合天安全实验室CTF之基础50
- 合天安全实验室CTF之Steg150
- 示波器基础知识100问
- java基础_求100以内的素数
- java基础-编写程序计算1到100的平方和
- 基础班-系统班英语词汇补充讲义后100题(下半部分)
- 越南CTF的crypto 100
- java基础入门1到100的奇数求和
- 【CTF】逆向基础知识1
- Java基础知识强化100:jsp和servlet有什么区别
- 备战CTF刷题(一)网络信息安全攻防学习平台——基础题
- 越南CTF的crypto 100
- 合天安全实验室CTF之解密200
- Java基础知识(51-100)
- c基础100例子
- java基础代码实例 求1-100之间的奇数和偶数
- Java基础知识强化100:JVM(Java虚拟机)内存体系 与 对象访问