一个蛋疼的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图片隐写
随机推荐
- 转:Spring FactoryBean源码浅析
http://blog.csdn.net/java2000_wl/article/details/7410714 在Spring BeanFactory容器中管理两种bean 1.标准Java Bea ...
- OC基础了解篇
.h文件存放声明 .m文件存放实现(支持c语言和OC的混编) .mm文件存放实现 (支持OC就和C++的混编) 异常处理,很少被用到/** *#import功能与#include功能一样就是包含文件 ...
- android Android性能优化之如何避免Overdraw
什么是Overdraw? Overdraw就是过度绘制 怎么来消灭overdraw呢?总的原则就是:尽量避免重叠不可见元素的绘制,基于这个原则,我们大概可以想出以下几招: 第一招:合理选择控件容器 ...
- CSS 专业技巧
使用CSS复位 CSS复位可以在不同的浏览器上保持一致的样式风格.您可以使用CSS reset 库Normalize等,也可以使用一个更简化的复位方法: * { box-sizing: border- ...
- PLSQL程序流程
IF语句结构: if(条件表达式)- -then- -执行语句;- -end; IF-THEN-ELSE语句结构: if(条件表达式)- -then- -执行语句;- -else- -执行语句;- e ...
- java 继承的学习(转)
转自:http://www.cnblogs.com/happyframework/p/3332243.html,非常感谢啊 public class test { /** * @param args ...
- Java生成、解析二维码
今天遇到需求,使用Java生成二维码图片,网搜之后,大神们早就做过,个人总结一下. 目标:借助Google提供的ZXing Core工具包,使用Java语言实现二维码的生成和解析. 步骤如下: 1.m ...
- Docker网络代理设置
背景 在一些实验室环境,服务器没有直接连接外网的权限,需要通过网络代理.我们通常会将网络代理直接配置在/etc/environment./etc/profile之类的配置文件中,这对于大部分操作都是可 ...
- 利用Flume采集IIS日志到HDFS
1.下载flume 1.7 到官网上下载 flume 1.7版本 2.配置flume配置文件 刚开始的想法是从IIS--->Flume-->Hdfs 但在采集的时候一直报错,无法直接连接到 ...
- [学习心得][Introduction to ASP.NET Core 1.0]3-2 ASP.NET Core and MVC Pattern
We need SMART Models, THIN Controllers, and DUMB Views. VeryBeginning 要使用MVC,要先将MVC服务加到程序中去 Nuget包里添 ...