一个蛋疼的CTF图片隐写
话不多说,直接上原题
TIPS:心中无码
打开解题链接,是一张png图片,直接用16进制编辑器打开,没有附加其它文件。
看下文件区段信息也很正常。
又拖进stegsolve,Blue的0位很不正常
多次尝试主要是因为:1.图像数据是“先行”还是“先列”处理;2.b0去除打码部分后的数据怎么利用的问题。3.如何确定黑白问题
直接上代码吧
#coding:utf-
from PIL import Image lena = Image.open('Lena.png')
pic = Image.new("RGB",(,))
b0 = '' #将像素点弄为0,1代码
bnum = #总共多少位不是为黄 width,heigth = lena.size for x in range(width):
for y in range(heigth):
if (lena.getpixel((x,y))) != (,,): #使像素点不要为黄
if (lena.getpixel((x,y))[] & 0x01):
bnum +=
b0 += "" #无所谓,反位一下即可
else:
bnum +=
b0 += "" print bnum
print "\n"
#print b0 #根据之前的输出,得知总长度为90000,为300* nums = #90000长度 ,长乘宽
for i in range():
for j in range():
if b0[nums] =="":
pic.putpixel([i,j],(,,))
else:
pic.putpixel([i,j],(,,))
nums +=
pic.save("11.png")
黑是(255,255,255)扫不出来,改为了253
一个蛋疼的CTF图片隐写的更多相关文章
- 使用fireworks解决图片隐写的问题
同样也可以用ps来解决图层间隐写的问题
- IceCTF 图片隐写
blue monday 下载一个文件,知道是MIDI文件,后缀改为.mid可以直接播放 一开始以为是两种乐器构成摩斯密码,后来在winhex里看字符发现了每一段的第一个字母恰好有flag的形式,于是提 ...
- bugku的一道图片隐写
可以看到图片是不完整的就联想到其高宽问题.使用winhex打开 将高里面的01改成11 get flag{He1I0_d4_ba1}
- 图片隐写--XOR&OR&and
图片xor的脚本 和图片进行xor or and 运算的脚本 from PIL import Image #import pil def loadImage(filename): img = Imag ...
- XCTF(MISC) 图片隐写
题目描述:菜猫给了菜狗一张图,说图下面什么都没有 1.给了个pdf,打开是这玩意 2.盲猜flag是图片后面,右键直接删除图片试试. 答案出来了.
- 图片隐写之Image Steganography软件的使用
CTF_论剑场 MISC 坏掉的图像 writeup 把图片丢进winhex里,发现头部的 0D 1A 0A 1A是不正确的,正确的应该为 0D 0A 1A 0A,所以需要更改. 更改完成后打开图片可 ...
- 利用Audacity软件分析ctf音频隐写
分析音频得到摩斯电码 看波的宽度分辨长短音 比较细的就是短音,代表"." 比较粗的就是长音,代表"-" 中间的间隔就是" " 得到摩斯电码
- CTF之隐写总结
目测要更很久,因为今年有一件非常重要的事要完成,希望一切顺利 All The Best.
- png图片隐写
随机推荐
- Fiddler 模拟请求的操作方法
此文记录使用Fidder Web Debugger工具,模拟请求的操作步骤! 首先简述一下fiddler的使用: 1.下载安装Fidder抓包工具. 2.打开fiddler发现有左边的栏有请求的url ...
- IOS获取经度纬度
仔细研究了一下SDK文档,再结合网上的方法,写了这一个简单的获取经纬度的方法,大家看看就好. 首先要导入CoreLocation.Frame 包 .h 文件 1 2 3 4 5 6 7 8 9 #im ...
- linux 中用python实现终端命令行命令
在python代码中实现和在终端中输入的命令行一样的效果,以命令(audacious -p &)为例,该代码实现用audacious在后台播放音乐的功能,当然前提是安装了audacious. ...
- 《JAVASCRIPT高级程序设计》JSON语法/解析/序列化
JSON是一种数据格式,不是一种编程语言. 一.语法 JSON语法可以表示以下三种类型的值:简单值.对象.数组. 1.简单值 最简单的JSON数据值就是简单值: 5 "hello world ...
- ThreadLocal模式的原理
在JDK的早期版本中,提供了一种解决多线程并发问题的方案:java.lang.ThreadLocal类.ThreadLocal类在维护变量时,实际使用了当前线程(Thread)中的一个叫做Thread ...
- ArcGIS制图表达Representation实战篇3-控制点
ArcGIS制图表达Representation实战篇3-控制点 by 李远祥 这一章讲述的是一个非常专业的名词,叫控制点.此控制点非测绘行业术语的控制点,而是制图表达里面的控制点,所以不能混为一谈. ...
- 如何在linux下制作一个windows的可启动u盘?
如何在linux下制作一个windows的可启动u盘? 情景是这样的,有一个windows10的iso,现在想通过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),因为有一 ...
- C#读取XML方式
前言 前一篇我们简单给大家做了XML的介绍,现在咱们继续这个系列 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的 ...
- Socket.io+Nodejs通讯实例
具体源码:Socket 目录结构 D:. │ package.json │ server.js │ └─public index.html socket.io.js 需要的条件 socket.io.j ...
- localStorage 如何存储JSON数据并读取JSON数据
localStorage是HTML5提供的再客户端实现本地存储的一种方法,但是localStorage方法只能存储字符串数据,有时候我们需要存储对象到本地比如:JSON:那么,localStorage ...