图片xor的脚本

和图片进行xor or and 运算的脚本

from PIL import Image
#import pil
def loadImage(filename):
img = Image.open(filename)
width, height = img.size
img = img.convert("RGB")
pixel = img.load()
return width, height, pixel def combineImage(file1, file2, file3):
w1, h1, p1 = loadImage(file1)
w2, h2, p2 = loadImage(file2)
width = min(w1, w2)
height = min(h1, h2)
img = Image.new("RGB", (width, height))
pix = img.load()
for y in xrange(0, height):
for x in xrange(0, width):
r1, g1, b1 = p1[x, y]
r2, g2, b2 = p2[x, y]
pix[x, y] = r1^r2, g1^g2, b1^b2
img.save(file3) if __name__ == "__main__":
combineImage("pic1.bmp", "pic2.bmp", "pic_new.bmp")
# -*- coding:utf-8 -*-

from PIL import Image

def xorFun(x, y):
return x^y
def orFun(x, y):
return x|y
def andFun(x, y):
return x&y def loadImage(filename):
img = Image.open(filename)
width, height = img.size
img = img.convert("RGB")
pixel = img.load()
return width, height, pixel def combineImage(file1, file2, file3, func):
w1, h1, p1 = loadImage(file1)
w2, h2, p2 = loadImage(file2)
width = min(w1, w2)
height = min(h1, h2)
img = Image.new("RGB", (width, height))
pix = img.load()
for y in xrange(0, height):
for x in xrange(0, width):
r1, g1, b1 = p1[x, y]
r2, g2, b2 = p2[x, y]
pix[x, y] = func(r1,r2), func(g1,g2), func(b1,b2)
img.save(file3) if __name__ == "__main__":
combineImage("pic1.bmp", "pic2.bmp", "xor.bmp",xorFun)
combineImage("pic1.bmp", "pic2.bmp", "or.bmp",orFun)
combineImage("pic1.bmp", "pic2.bmp", "and.bmp",andFun)

图片隐写--XOR&OR&and的更多相关文章

  1. 使用fireworks解决图片隐写的问题

    同样也可以用ps来解决图层间隐写的问题

  2. 一个蛋疼的CTF图片隐写

    话不多说,直接上原题 TIPS:心中无码 打开解题链接,是一张png图片,直接用16进制编辑器打开,没有附加其它文件.看下文件区段信息也很正常. 又拖进stegsolve,Blue的0位很不正常 多次 ...

  3. bugku的一道图片隐写

    可以看到图片是不完整的就联想到其高宽问题.使用winhex打开 将高里面的01改成11 get flag{He1I0_d4_ba1}

  4. IceCTF 图片隐写

    blue monday 下载一个文件,知道是MIDI文件,后缀改为.mid可以直接播放 一开始以为是两种乐器构成摩斯密码,后来在winhex里看字符发现了每一段的第一个字母恰好有flag的形式,于是提 ...

  5. XCTF(MISC) 图片隐写

    题目描述:菜猫给了菜狗一张图,说图下面什么都没有 1.给了个pdf,打开是这玩意 2.盲猜flag是图片后面,右键直接删除图片试试. 答案出来了.

  6. 图片隐写之Image Steganography软件的使用

    CTF_论剑场 MISC 坏掉的图像 writeup 把图片丢进winhex里,发现头部的 0D 1A 0A 1A是不正确的,正确的应该为 0D 0A 1A 0A,所以需要更改. 更改完成后打开图片可 ...

  7. png图片隐写

  8. 隐写技巧——利用JPEG文件格式隐藏payload

    0x00 前言 继续对图片隐写技巧的学习,这次是对JPEG文件格式的学习和理解.同PNG文件的格式对比,JPEG文件相对简单,读取其中隐藏payload的方式大同小异,两者区别在于文件格式不同,可供利 ...

  9. F5隐写工具使用

      0x00 前言 今天在实验吧看到一个图片隐写的题目,用了stegslove和winHex分析一通发现并没有什么有效信息.看了评论区大佬的提示说用到了F5隐写工具,所以百度教程用了一下,发现确实解决 ...

随机推荐

  1. dev richEditControl控件 设置文字 字体 大小

    Document doc = NoticeContentRichEditControl.Document; doc.BeginUpdate(); doc.Text = "需要设置格式的文字& ...

  2. java面向切面编程总结-面向切面的本质

    面向切面的本质:定义切面类并将切面类的功能织入到目标类中: 实现方式:将切面应用到目标对象从而创建一个新的代理对象的过程.替换: 使用注解@Aspect来定义一个切面,在切面中定义切入点(@Point ...

  3. [SCOI2012]奇怪的游戏

    题目 话说有没有跟我一样直接猜了一个最大值不会改变这样一个二乎乎的结论之后交上去保龄的呀 首先看到棋盘,选择相邻的格子,非常经典的黑白染色 显然那个二乎乎的结论是错的,随便就能\(hack\)了 于是 ...

  4. [AHOI2009]飞行棋

    嘟嘟嘟 刚开始想这道题的时候确实很蒙,只想到矩形对边做对应的弧长相等,然后想办法凑出相等的弧长.其实正解很简单,不要去想边,应该想对角线,因为根据初中园的知识,这个矩形的对角线是圆的直径,而直径所对的 ...

  5. JS 兼容大全

    //获取浏览器可视区宽度 function getWidth() { if (window.innerWidth){ return window.innerWidth; } else{ if (doc ...

  6. 使用CSS3的“transition ”属性控制长宽度的缓慢变化

    有时候我们可能会想要改变某个资源信息的长宽度,比如改变某个div的宽度,而且需要让这个宽度缓慢改变,而不是突然就改变了.这时候你可能会想到使用jquery的animate()函数,不过这个方法既得引用 ...

  7. MHA实践操作

    1.MHA部署解读: 1.1MHA Manager可以部署在一台slave上.MHA Manager探测集群的node节点,当发现master出现故障的时候,它可以自动将具有最新数据的slave提升为 ...

  8. 【jq】插件—缓存jquery.cookie.js

    jquery.cookie.js插件   轻量级cookie管理 1°下载地址:http://plugins.jquery.com/cookie/ 2°引入方式:(基于jquery) <scri ...

  9. 数据库分库分表和带来的唯一ID、分页查询问题的解决

    需求缘起(用一个公司的发展作为背景) 1.还是个小公司的时候,注册用户就20w,每天活跃用户1w,每天最大单表数据量就1000,然后高峰期每秒并发请求最多就10,此时一个16核32G的服务器,每秒请求 ...

  10. modbustcp封装使用获取设备数据示例

    //接受数据请求public function client($pz){    //参数1是:网络协议,    //AF_INET:   IPv4 网络协议.TCP 和 UDP 都可使用此协议.一般都 ...