【愚公系列】2021年11月 攻防世界-进阶题-MISC-030(red_green)

举报
愚公搬代码 发表于 2021/11/25 16:53:42 2021/11/25
【摘要】 一、red_green文件:攻防世界下载对应文件 二、答题步骤 1.zsteg下载得到一张图片解法一:pytho脚本#生成脚本from PIL import Imageimport osimport bitstring#image_name = 'flag.jpg'image_name = input("请输入当前文件夹下图片的名称>>>\n")current_path = os.path...

一、red_green

文件:攻防世界下载对应文件

二、答题步骤

1.zsteg

下载得到一张图片
解法一:pytho脚本

#生成脚本
from PIL import Image
import os
import bitstring

#image_name = 'flag.jpg'
image_name = input("请输入当前文件夹下图片的名称>>>\n")
current_path = os.path.dirname(__file__)
with open(os.path.join(current_path,image_name),'rb') as f:
    bin_content = bitstring.Bits(f)
    im = Image.new("RGB",(1024,780),(255,0,0))
    pim = im.load()
    for i,val in enumerate(bin_content.bin):
        if val == '0':
            pim[i%1024,i/1024] = (0,255,0)
    im.save(os.path.join(current_path,'red_green.png'))

#还原脚本
from PIL import Image
import os
import bitstring

image_name = 'red_green.png'
current_path = os.path.dirname(__file__)
im = Image.open(os.path.join(current_path,image_name))
image_width = im.size[0]
image_height = im.size[1]
# load pixel
pim = im.load()
bin_result = ''
for row in range(image_height):
    for col in range(image_width):
        if pim[col,row][0] == 255:
            bin_result += '1'
        else:
            bin_result += '0'
with open(os.path.join(current_path,'result.jpg'),'wb') as f:
    f.write(bitstring.BitArray(bin=bin_result).bytes)

解法二:stegsolve,lsb隐写保存二进制
在这里插入图片描述

在这里插入图片描述
解法三:zsteg

zsteg -E b1,r,lsb,xy 2ec5da20345342909d2336aa7418afed.png > new.jpg

总结

  • zsteg
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。