说明:这题我也是根据透明的胡萝卜_robots 的WP,写一下我的理解加上复现。

  1. 先看属性是48bit,我们可以用opencv读一下,看看是几个通道的
import cv2img = cv2.imread("./funnypng.png", cv2.IMREAD_UNCHANGED)
print(img.shape[-1])
运行结果:
3

cv2.IMREAD_UNCHANGED 表示,保持原图状态读取,如果你不加,那他只会读取8bit,这些小细节要注意。

根据运行结果3,我们就知道是RGB三个通道,再根据图片属性的48bit,也就是R和G和B每个通道占48 / 3 = 16(bit),也就比正常情况的8bit多了8bit,首先你能理解这个地方,后面就比较好理解了。

  1. 我们使用stegsolve读取图片,发现图片的R通道的最低位隐写了一个二维码,由于这个工具只会读取图片的8bit,也就是说原图是16bit,我们的前8bit被读取了,发现了半个二维码,另外半个二维码,其实被出题人放到了后8bit里面,所以现在的目标就是提取后面的8bit;也就是00000000 00000000,我们要提取后8bit的。

上才艺:

import cv2
import numpy as npimg = cv2.imread("./funnypng.png", cv2.IMREAD_UNCHANGED)img2 = img & 0xFF
img2 = img2.astype(np.uint8)cv2.imwrite("./fun.png", img2)
  1. 后8bit已经被我们提取到了,所以说会opencv真的很爽,虽然我会的也不多,哈哈哈

可以看到后8bit的B通道的最后一位隐写了另一半二维码,我们拿到了另一半了。

用ps稍微处理一下:

这种被涂鸦的使用:QRazyBox

找到二维码目录,导入二维码。

NSSCTF{fbef863db8331e8c63f73d7a04c1cf5b}

总结:出题人的思路是每个通道16bit,前8bit会默认被软件处理,后8bit不会被处理,所以就可以进行隐写,很有创意的题目~

[NSSRound#3 Team]funnypng相关推荐

  1. Reverse入门[不断记录]

    文章目录 前言 一.[SWPUCTF 2021 新生赛]re1 二.[SWPUCTF 2021 新生赛]re2 三.[GFCTF 2021]wordy[花指令] 四.[NSSRound#3 Team] ...

  2. Visual Studio 2005 Team System下载地址

    注册一个msn就可以去微软下载了,关于替换序列号变成正版的方法我没有试,team suite 我在用,但Team Foundation Server 我还没有安装好 Microsoft Visual ...

  3. 高级网络配置《 bond team桥接 》的建立

    bond 资料详情 一.链路聚合:以太网链路聚合简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的.同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效 ...

  4. 安装Team Services Agent Win7

    现状:项目现时使用的是Team Services,使用Team Services可以控制其中的一台Build Server,从Github提取代码,并在Build Server进入编译打包处理(son ...

  5. 微软MSIT部门招Sr SDE for FSS team

    Job Description: Qualifications Do you want to design and build the services and solutions that are ...

  6. 【拾贝】版本控制-git 建立Team项目

    提示一下:GitHub升级了 1. 网站升级后原来网站上有些教程图片有些问题 2. 客户端升级也引起了如下问题: 原来Git Shell 是这个路径 C:\Users\Administrator\Ap ...

  7. UVa540 Team Queue

    // 题意:有t个团队的人在排队.每次来了一个新人之后,如果他有队友在排队,那么这个新人会插队到队友的身后. // 要求支持三种指令:ENQUEUE x; DEQUEUE(队首出队); STOP.模拟 ...

  8. Team Foundation Server安装指南(转)

    1.说明 Team Foundation Server(以下简称VSTF)的安装并不是一件轻松的事情,在安装的过程中相信很多人都或多或少碰到一些问题而安装不成功,虽然手头有微软提供的所谓安装手册,也曾 ...

  9. 理解VMware Team中的虚拟网络

    VMware Workstation 5.0(及其以后的版本)提供了"Team"功能.每个Team都包括"一组"虚拟机,以及多个虚拟交换机.Team是VMwar ...

最新文章

  1. 比较数据库表结构之间的差异
  2. Vue 全家桶 + Express 实现的博客
  3. 【TypeScript】类的使用
  4. opencv 获取一个目录下子目录_OpenCV系列 --- OpenCV4.01配置VS2015
  5. 《大型网站技术架构》读书笔记之六:永无止境之网站的伸缩性架构
  6. 飞控计算机的作用,用于波音777飞机的主要飞控计算机
  7. 壁式框架内力计算_4种类型剪力墙的计算要点
  8. 从无到有:阿里巴巴中国站手机客户端项目设计
  9. Navicat打开保存的查询
  10. SGI opengl source code download
  11. StackOverflow热帖:Java整数相加溢出怎么办?Java8一步搞定~
  12. (2)从文件中解析JSON数据
  13. Linux桌面鼠标取词自动翻译
  14. 我的计算机加密,安装加密系统后,打开我的电脑速度变慢
  15. 禁用win10触摸屏手势_禁用和启用Win10平板边缘滑动手势的详细方法
  16. 算法设计技巧与分析 答案整理
  17. HTML文本框不能复制粘贴,word文本框无法复制粘贴
  18. A股永远3000点?量化指数增强策略,轻松多涨10倍。附代码【邢不行】
  19. python 使用pdfminer3k 读取PDF文档
  20. 华为的海外员工生活写实

热门文章

  1. .chm文件打开显示找不到网址
  2. QQ城市达人接口编程及经验分享
  3. 牛客小白月赛28 G.牛牛和字符串的日常
  4. msiexec.exe用于执行msi的安装操作
  5. linux系统du指令,教你在Linux系统中使用du命令,包括用du与其他命令结合使用
  6. Enfocus PitStop Pro 2019(PDF增强插件)
  7. 【实验教程】华为设备基础配置
  8. 98%的数据被浪费,企业该如何释放数据价值?
  9. css实现整体网页16 9,CSS实现宽度自适应宽高16:9的矩形的示例
  10. ubuntu离线安装deb应用包与python包