stegsolve图片隐写解析器的使用_黑朱雀的博客-程序员宝宝_图片隐写解析

技术标签: 网络安全  


layout: post
title: “ctf-隐写图片解析器-stegsolve的使用”
categories: [ctf]
tags: [stegsolve]


CTF隐写术————隐写图片解析神器----stegsolve

stegsolve下载地址:http://www.caesum.com/handbook/Stegsolve.jar

stegsolve安装配置:配置好Java环境变量(就是需要安装Java,然后配环境变量,具体的配置过程上网一搜一堆,这里就不赘述)

配置好环境之后直接打开就可以使用

文件打开保存退出,没什么好说的

在这里插入图片描述

在分析里面从上到下的依次意思是

File Format:文件格式

Data Extract:数据提取

Steregram Solve:立体试图 可以左右控制偏移

Frame Browser:帧浏览器

Image Combiner:拼图,图片拼接

用法(使用场景)

1.File Format:这里你会看见图片的具体信息有时候有些图片隐写的flag会藏在这里

2.Data Extract:(好多涉及到数据提取的时候,很多博主在wp中都是一带而过,小白们还以为要一个个试。。)

在这里插入图片描述

左边一大部分主要是讲了RGBA(Alpha是透明度)的颜色通道

为了方便理解我们分开说

RGB是红绿蓝 但他们的值代表的实际上是亮度

R的数字越大,则代表红色亮度越高;R的数字越小,则代表红色亮度越低。G,B同理

R的亮度各有256个级别,GB同理。即从0到255,合计为256个。从数字0到255的逐渐增高,我们人眼观察到的就是亮度越来越大,红色、绿色或蓝色越来越亮。然而256是2的8次方 所以你会看见上图的7~0 一共8个通道

而Alpha就是透明度 该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域

alpha的值为0就是全透明,alpha 的值为 255 则表示不透明

因此左半部分就理解了

右半部分就是Extra By(额外的)和Bit Order(位顺序)和Bit Plane Order(位平面的顺序)

1).Extra By(额外的):分为row(行)和column(纵)

每个像素用R,G,B三个分量表示,那么一张图片就像一个矩阵,矩阵的每个单位就是(0255,0255,0~255)

也就会有是纵排列和行排列了,一般事先访问行再访问列(如果相反会引起ve使用方法)

2).Bit Order(位顺序):MSB是一串数据的最高位,LSB是一串数据的最低位。

3).Bit Plane Order(位平面的顺序)

 整个图像分解为8个位平面,从LSB(最低有效位0)到MSB(最高有效位7)随着从位平面0 到位平面7,位平面图像的特征逐渐变得复杂,细节不断增加。(一般我们的图片如果是RGB那么就是24位 3乘8嘛)

4)Bit Plane Order(位平面的顺序):一般图片是24位 也就是3个8 大家可以想像成三明治 比如BGR就是B为三明治第一层 G为第二层 R为第三层。

3.Steregram Solve:立体试图 可以左右控制偏移 可以放张图片试一下就知道这个是什么意思了

4.Frame Browser:帧浏览器 主要是对GIF之类的动图进行分解,把动图一帧帧的放,有时候会是二维码

5.Image Combiner:拼图,图片拼接(意思显而易见)

接下来会带大家实战去深入理解一下Data Extract里面ctf经常用到的LSB隐写

在这里插入图片描述

这个我们之前介绍的很详细

而LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位(LSB),而人类的眼睛不会注意到这前后的变化,(人类的眼睛只能识别一部分颜色的变化)

在这里插入图片描述

如果我们修改lsb那么颜色依然和没修改的一样,并且修改的话每个像数可以携带3比特的信息。

在这里插入图片描述

这个作用是在于把最低位的二进制全部提取出来

在这里插入图片描述

这个作用在于对提取出来的最低位使用lsb解码算法

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43639682/article/details/113857310

智能推荐

Linux modprobe 命令_我叫模日的博客-程序员宝宝

简介:modprobe命令 用于向内核装在模块或从内核中移除模块。modprobe可载入指定的个别模块儿,或是载入一组相依模块。modprobe会根据depmod(depmod是一个用来产生modules.dep和map文件的程序,depmod通过读取/lib/modules/version目录下的每一个模块来创建一个记录模块相依性的列表。这个列表就是/lib/modules/versio

换行符‘\n’和回车符‘\r’_weixin_34273479的博客-程序员宝宝

换行符‘\n’和回车符‘\r’顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符  '\n' 10 换行(newline)'\r' 13 回车(return) 也可以表示为'\x0a'和'\x0d'.(16进制)在windows系统下,回车换行符号是"\r\n".但是在Linux等系统下是没有"\r"符号的。在...

【阿里巴巴】面向2022届应届生,阿里启动史上最大规模校招_zenRRan的博客-程序员宝宝

点击下面卡片,关注我呀,每天给你送来AI技术干货!面向对象:2022届毕业生(毕业时间 2021.11-2022.10)职位类别:JAVA开发工程师算法工程师前端工程师数据工程师测试开发工...

自己初学UE4时遇到的新建项目时无法打开编译器的解决方法_FF1NN的博客-程序员宝宝

安装环境: WIN10系统中分别安装了VS2017和UE4.18.3问题概述: 在UE4中新建C++项目时,会报错Running E:/Program Files/Epic Games/UE_4.18/Engine/Binaries/DotNET/UnrealBuildTool.exe SikiProject Development Win64 -project="C:/Users/Doran/D...

python爬取公众号阅读量_如何快速、高效的爬取微信公众号阅读、在看数呢?_weixin_39584529的博客-程序员宝宝

​自从2013年,自媒体开始崛起。再到2014年,自媒体开始能够赚钱,自媒体逐渐成为这个时代的一个趋势性的潮流。随着公众号平台的不断火爆,各个自媒体平台如春笋班拔地而起。自媒体的蓬勃发展,很大程度上重塑了信息传播的格局,同时也催生了庞大的市场红利,越来越多的人进入。对于经济发展来说,这是是好事,但对于数据采集这个垂直领域来说,并不见得!自媒体平台的信息,几乎都是基于APP作为载体,很少有web端的...

随便推点

python_初始_ZHOU125disorder__zjing125的博客-程序员宝宝

在IDLE中输出全部的关键字—>>>!help()keywords退出help模式quit

Python笔记(商业数据分析)_clccley的博客-程序员宝宝_读取上海华谊商贸有限责任公司业务资料python

Python课程Python数据导入1、csv格式文件导入2、Excel格式文件导入3、txt格式文件导入Pandas1、读取数据2、查看前几行数据3、将物业费中的"暂无资料"变成缺失值4、查看后三行资料5、查看 DataFrame 信息(数据框)6、查看字段名称7、查看字段类型8、获取描述性统计信息9、发现缺失值10、删除缺失值的字段11、筛选字段Python数据导入import pandas as pd1、csv格式文件导入df1=pd.read_csv(r'E:\xzdate\14house

Docker出现"Cannot connect to the Docker daemon at unix:///var/run/docker.sock. ..."问题_ClouddRenn的博客-程序员宝宝

前言:发现无论怎么做 都会出现这种问题!而且docker启动后立即停止stop了sudo service docker start看一下确实启动了 但是之后sudo service docker status查看下 发现还是stop/waitingok!搞事情!查了一堆博文都没解决问题,但是发现一篇博文中有个关于docker的日志路径23333解决之道:1、[email protected]:/var/l...

为什么hashmap长度是2的n次方?如何判断取模和取余?_INeedMaserati的博客-程序员宝宝

1.如何判断取模和取余?取余,遵循尽可能让商向0靠近的原则取模,遵循尽可能让商向负无穷靠近的原则符号相同时,两者不会冲突。比如,7/3=2.3,产生了两个商2和37=3*2+1或7=3*3+(-2)。因此,7rem3=1,7mod3=1。符号不同时,两者会产生冲突。比如,7/(-3)=-2.3,产生了两个商-2和-37=(-3)*(-2)+1或7=(-3)*(-3)+(-2)。因此,7rem(-3)=1,7mod(-3)=(-2)作者:Aecced链接:https:/

ODI Studio(问题2)_咸鸭蛋豆腐的博客-程序员宝宝

1.工作表前缀2.数据库表修改时ODI这边怎么办3.什么是IKM,LKMODI的知识模块主要分为几个大类(RKM,CKM,LKM,IKM,SKM),其中最重要的是LKM(load KM)和IKM(Integration KM)RKM:RKM:完成从源系统和目标系统的数据结构的反向工程来形成数据模型的功能。CKM:完成数据质量检查。JKM:日志记录知识模块,记录单个表或视图等中的新数据和更新的数据。LKM:完成从数据库数据加载源到临时表。IKM:完成从临时表的数据加载到目标表。SKM:完成O

eclipse+Android SDK配置及运行实例_威化饼的一隅的博客-程序员宝宝_android sdk配置

文章目录预先配置Android SDK安装安装ADTAVD配置Hello world"编译运行"常见错误预先配置  在安装安卓环境前,假设已经安装好了eclipse和jdk,jdk注意要配置jdk1.8,否则后面会运行Android SDK manager会闪退!Android SDK安装  先要下载Android SDK,在https://www.androiddevtools.cn/...

推荐文章

热门文章

相关标签