当前位置: 首页 > news >正文

杂项-图片隐写

图片隐写的常见隐写方法:

在这里插入图片描述
三基色:RGB(Red Green Blue)

图片文件隐写

1.Firework

使用winhex打开文件时会看到文件头部中包含firework的标识,通过firework可以找到隐藏图片。
使用场景:查看隐写的图片文件
在这里插入图片描述

2.Exif

Exif按照JPEG的规格在JPEG中插入一些图像/数字相机的信息数据以及缩略图像,可以通过与JPEG兼容的互联网浏览器/图片浏览器/图像处理等一些软件来查看Exif格式的图像文件,就跟浏览通常的JPEG图像文件一样。

图片右键属性,查看exif或查看详细信息,在相关选项卡中查找flag信息。
在这里插入图片描述Linux:使用exiftool工具(格式:exiftool 图片名)

如果拍摄图片时,开启了GPS功能,则在图片的详细信息里会记录当前位置对应的经纬度。
在这里插入图片描述
可以下载谷歌地球查询对应经纬度的位置。

3.Stegsolve

当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行结合分析,即将两个文件的像素RGB值进行XOR、ADD、SUB等操作,看能否得到有用的信息,StegSolve可以方便的进行这些操作。
使用场景:两张图片信息基本相同。

在这里插入图片描述
在这里插入图片描述

4.LSB(最低有效位Least Significant Bit)

LSB替换隐写基本思想是用嵌入的秘密信息取代载体图像的最低比特位,原理的7个高位平面与替代秘密信息的最低位平面组合成含隐藏信息的新图形。
在这里插入图片描述

1. Stegsolve

在这里插入图片描述

2. zsteg工具

zsteg可以检测PNG和BMP图片里的隐写数据:
在这里插入图片描述

3. wbstego4工具

在这里插入图片描述支持解密的文件格式:.bmp格式的图片、pdf文件
在这里插入图片描述

4.python脚本处理

将以下脚本放在kali中运行,将目标文件放在脚本同目录下,将脚本中的文件名修改为文件名,运行python即可。

#LSB.py
#coding:utf-8
import PIL.Image
def foo():im = PIL.Image.open('01.bmp')im2 = im.copy()pix = im2.load()width,height = im2.sizefor x in xrange(0,width):for y in xrange(0,height):if pix[x,y]&0x1 == 0:pix[x,y] = 0else:pix[x,y] = 255im2.show()pass
if __name__=='__mian__':foo()print ('ok.')pass

修改脚本中的图片名,直接在kali中python3运行(python3 LSB.py)
在这里插入图片描述

5.TweakPNG

TweakPNG是一款简单易用的PNG图像浏览工具,它允许查看和修改一些PNG图像文件的元信息存储。
使用场景:

  1. 文件头正常却无法打开文件,利用TweakPNG修改CRC。
  2. 有时CRC没有错误,但是图片的高度或者宽度发生了错误,需要通过CRC计算出正确的高度或者宽度。
    在这里插入图片描述
    通过CRC计算出正确的高度或者宽度:
    在这里插入图片描述
#coding:utf-8
import binascii
import struct
crcbp = open("panda.png","rb").read()	#打开图片
print("读取中...")
crc32frombp = int(crcbp[29:33].hex(),16)        #读取图片中的CRC校验值
print("图片中的CRC校验值:",crc32frombp)for i in range(4000):for j in range(4000):data = crcbp[12:16] + struct.pack('>i',i) + struct.pack('>i',j) + crcbp[24:29]crc32 = binascii.crc32(data) & 0xffffffff#计算当图片大小为i:j时的CRC校验值,与图片中的CRC比较,当相同,则图片大小已经确定if(crc32 == crc32frombp):print("图片大小为:",i,j)print("hex:",hex(i),hex(j))exit(0)

6.Bftools

bftools用于解密图片信息。
使用场景:在windows的cmd下,对加密过的图片文件进行解密。
格式:

Bftools.exe decode braincopter 要解密的图片名称 --output 输出文件名
Bftools.exe run 上一步输出的文件

在这里插入图片描述

7.SilentEye

silenteye是一款可以将文字或者文件隐藏到图片的解密工具。
使用场景:windows下打开silentEye工具,对加密的图片进行解密。
在这里插入图片描述在这里插入图片描述

8.JPG图像加密

(1)Stegdetect工具探测加密方式

​ Stegdetect程序主要用于分析JPEG文件。因此用Stegdetect可以检测到通过 JSteg、JPHide、OutGuess、Invisible Secrets、F5、appendX和Camouflage 等这些隐写工具隐藏的信息。
在这里插入图片描述

(2)Jphide

Jphide是基于最低有效位LSB的JPEG格式图像隐写算法。
在这里插入图片描述

(3)Outguess

outguess一般用于解密文件信息。
使用场景:Stegdetect识别出来或者题目提示是outguess加密的图片。
在这里插入图片描述

(4)F5

F5一般用于解密文件信息。
使用场景:Stegdetect识别出来是F5加密或者题目提示是F5加密的图片。
进入F5-steganography_F5目录,将图片文件拷贝至该目录下,从CMD进入该目录。
在这里插入图片描述
运行结束后我们可以直接在目录下的output.txt中看到结果。

9.二维码处理

  1. 使用二维码扫描工具CQR.exe打开图片,找到内容字段
    在这里插入图片描述

  2. 如果二维码某个定位被覆盖了,该工具有时候也可以自动识别,如果识别失败,需要使用PS或画图工具将另外几个角的定位符移动到相应的位置,补全二维码。
    在这里插入图片描述

  3. 如果某个二维码的定位点中间是白色,可能被反色了,使用画图工具把颜色反色回来再扫描即可在这里插入图片描述

针对二维码颜色通道,可以使用Stegslove工具查看是否有加密的算法、密钥及密文。

课程链接:https://www.bilibili.com/video/BV1eq4y1x71H/?spm_id_from=333.999.0.0

相关文章:

杂项-图片隐写

图片隐写的常见隐写方法: 三基色:RGB(Red Green Blue) 图片文件隐写 1.Firework 使用winhex打开文件时会看到文件头部中包含firework的标识,通过firework可以找到隐藏图片。 使用场景:查看隐写的图片文件…...

【高性价比】初学者入门吉他值得推荐购买的民谣单板吉他品牌—VEAZEN费森吉他

“在未知的世界里,我们是一群不疲不倦的行者,执念于真善美,热衷于事物的极致。我们抽丝剥茧,不断地打败自己,超越自己,我们无所畏惧终将成为巨人。”这是VEAZEN吉他官网首页上很明显的一段话,也…...

2023年浙江交安安全员考试题库及答案

百分百题库提供交安安全员考试试题、交安安全员考试真题、交安安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 50.根据《建设工程安全生产管理条例》第65条规定,施工单位有下列()行…...

【新】华为OD机试 - 跳格子(Python)

跳格子 题目 地上共有 N 个格子,你需要跳完地上所有的格子, 但是格子间是有强依赖关系的,跳完前一个格子后, 后续的格子才会被开启,格子间的依赖关系由多组 steps 数组给出, steps[0] 表示前一个格子, steps[1] 表示 steps[0] 可以开启的格子: 比如 [0,1] 表示从跳完第…...

乡村能做社区团购吗?怎么做?我走访调查后发现机会很大

乡村能做社区团购吗?怎么做?我走访调查后发现机会很大#深度触网 #社区团购 #乡村振兴##乡村旅游##县域经济##市场经济##农文旅产业振兴研究院#乡村旅游能带动农产品加工业、服务业、商贸业等相关联产业的发展 乡村能做社区团购吗?怎么做&…...

态路小课堂丨下一代数据中心100G接口第二篇——SFP-DD封装

100G光模块根据封装模式可分为QSFP28、CXP、CFP、CFP2、FCP4、DSFP和SFP-DD等。态路小课堂之前已经大量介绍了相关内容(。 态路小课堂丨下一代数据中心100G接口——DSFP态路小课堂丨100G解决方案-425G NRZ光模块态路小课堂丨什么是100G QSFP28单波光模块&#xff1f…...

状态栏和导航栏高度获取

/*** 获取导航栏高度*/public static int getNavigationBarHeight(Context context){int navigationBarHeight 0;int resourceId context.getResources().getIdentifier("navigation_bar_height", "dimen", "android")if (resourceId > 0) {…...

插曲:第一桶金 1w 的来由

因为前天跟同事聊天,发现有个比较严重的认知,就是关于赚钱思维。 同事反馈说工作十来年,却没有接过私活,这里话分两头,有可能私 活钱少,但他给我的理由是:私活太麻烦,有时候不敢接&a…...

中国甲基异丁基甲醇行业头部企业市场占有率及排名调研报告

内容摘要 本文调研和分析全球甲基异丁基甲醇发展现状及未来趋势,核心内容如下: (1)全球市场总体规模,分别按销量和按收入进行了统计分析,历史数据2018-2022年,预测数据2023至2029年。 &#xf…...

streamlit自定义组件教程和组件开发环境配置

About create your own component: you can follow this tutorial streamlit tutorial 重要!以下步骤都是在教程的基础上更改的。这个教程做的很棒。 Component development environment configuration: 根据文章 https://streamlit-com…...

Windows CMD常用命令

目录 【打开CMD命令】 【网络测试命令】 ipconfig------查看本机网卡信息 ping------测试网络是否通畅 tracert------追踪路由,也可以用来查看网络连通性 telnet------查看目的主机ip的端口号是否开放 tcping------查看目的主机ip的端口号是否开放 【关于路…...

ChIP-seq 分析:数据比对(3)

读取 reads(二者含义相同,下文不做区分)1. ChIPseq reads 比对 在评估读取质量和我们应用的任何读取过滤之后,我们将希望将我们的读取与基因组对齐,以便识别任何基因组位置显示比对读取高于背景的富集。 由于 ChIPseq…...

并非从0开始的c++之旅 day2

并非从0开始的c之旅 day2一、变量1、 变量名的本质二、程序的内存分区模型1、内存分区运行之前运行之后三、栈区注意事项四、堆区1、堆区使用2、堆区注意事项五、全局变量静态变量1、静态变量2、全局变量六、常量1、全局const常量2、局部const常量七、字符串常量一、变量 既能…...

Linux进阶(Shell编程学习一)

由于shell脚本在java项目运维方面极其重要,比如服务的启动脚本,日志的分割脚本,文件的管理脚本大多都是shell脚本去实现的。所以作为java开发者懂linux的基本命令,会基本的shell编程是必要的。 Shell 是一个用 C 语言编写的程序&…...

sql 优化

sql 优化1. mysql 基础架构1.1 mysql 的组成2. mysql 存储引擎2.1MyISAM2.2 InnoDB2.3 MyISAM 和 InnoDB 的对比3. mysql 索引3.1 Hash 索引3.2 B-Tree 索引3.3 BTree 索引3.4 R-Tree 索引3.5 Full-Text 索引4. sql 优化4.1 避免 select *4.2 避免在where子句中使用or来连接条件…...

第7篇:Java的学习路径

目录 1、Java学习主要内容概览 1.1 Java基础 1.2 数据库技术 1.3 动态网页技术 1.4中间件技术...

对抗生成网络GAN系列——Spectral Normalization原理详解及源码解析

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊专栏推荐:深度学习网络原理与实战 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍🏼、…...

Solon2 开发之插件,一、插件

Solon Plugin 是框架的核心接口,简称“插件”。其本质是一个“生命周期”接口。它可让一个组件类参与程序的生命周期过程(这块看下:《应用启动过程与完整生命周期》): FunctionalInterface public interface Plugin {…...

使用nvm管理node

nvm介紹 node的版本管理器,可以方便地安装&切换不同版本的node 我们在工作中,可以会有老版本的node的项目需要维护,也可能有新版本的node的项目需要开发,如果只有一个node版本的话将会很麻烦,nvm可以解决我们的难点…...

Linux

第一章 Linux 1.1 计算机硬件软件体系 冯诺依曼 (数学家,计算机之父) 冯诺依曼体系 计算机的指令和数据都是二进制存储,并且存放到一起程序和指令都是顺序执行的计算机硬件由输入,输出,存储,运算器与控制器组成 输入设备 比如:键盘,鼠标等. 输出设备 打印机输出&#xff0…...

开源UI组件库深度解析:从设计系统到工程实践

1. 项目概述:一个开源UI组件库的诞生与价值如果你是一名前端开发者,或者正在负责一个需要快速搭建现代化界面的项目,那么你大概率听说过或者用过一些知名的UI组件库。今天我想深入聊聊一个在GitHub上拥有超过1.5万星标,被许多开发…...

基于CircuitPython与MCP9808的智能恒温控制器DIY指南

1. 项目概述作为一个常年鼓捣嵌入式系统和家庭自动化项目的爱好者,我一直在寻找那些能将技术融入日常生活的有趣点子。几年前开始在家酿造康普茶,立刻就遇到了一个经典难题:发酵温度控制。康普茶这种活菌饮料,其风味和健康度极度依…...

编写程序统计婚恋交友消费,相处长处度数据,分析理性婚恋模式,减少年轻人恋爱高频无谓消费。

构建一个婚恋交友消费与相处时长统计分析、理性婚恋模式识别的商务智能示例项目,去营销化、中立化,仅用于学习与工程实践参考。一、实际应用场景描述在当代年轻人的婚恋与社交生活中,存在一种普遍现象:- 约会高度依赖“消费型场景…...

手把手教你用Matlab搞定镜像电荷法仿真:从平面到半球导体的电场可视化

手把手教你用Matlab实现镜像电荷法仿真:从平面到半球导体的电场可视化 在电磁场理论的学习中,镜像电荷法是一个既经典又实用的计算方法。它通过引入虚拟电荷来简化复杂边界条件下的电场计算问题。本文将带你从零开始,用Matlab实现从简单平面到…...

5分钟掌握Diablo Edit2:暗黑破坏神II角色编辑器的终极指南

5分钟掌握Diablo Edit2:暗黑破坏神II角色编辑器的终极指南 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 还在为暗黑破坏神II的刷装备烦恼吗?想要快速体验不同build的乐趣…...

从六度空间到毫秒响应:HNSW图索引如何重塑向量检索

1. 从六度分隔到高维空间:HNSW的思想起源 1967年,社会心理学家斯坦利米尔格拉姆通过著名的"小世界实验"提出了六度分隔理论——地球上任意两个人之间平均只需要5-6个中间人就能建立联系。这个看似简单的社会学发现,却在半个世纪后成…...

英雄联盟智能助手Seraphine:免费开源的战绩查询与BP辅助神器

英雄联盟智能助手Seraphine:免费开源的战绩查询与BP辅助神器 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 还在为错过对局接受而懊恼吗?还在BP阶段犹豫不决错失最佳英雄选择吗&#…...

Linux网络运维实战:从ifconfig、ethtool到网络状态深度诊断

1. 从ifconfig开始:你的网络诊断第一课 刚接手一台Linux服务器时,我习惯性敲下的第一个命令永远是ifconfig。这个看似简单的命令就像汽车仪表盘,能快速告诉你当前网络接口的基本状态。记得有次凌晨处理线上故障,就是通过ifconfig…...

ME6206A 系列低压差线性稳压器

概述ME6206A 系列是高精度、低功耗、采用 CMOS 技 术制造的正电压稳压器。这些器件提供大电流,具有显 著的小电压差。 该系列与低 ESR 陶瓷电容器兼容,限流器的折返 电路也作为短路保护输出电流限制器和输出引脚。性能特点高精度输出电压:1%输…...

Cursor Free VIP:解锁AI编程助手完整功能的技术解决方案

Cursor Free VIP:解锁AI编程助手完整功能的技术解决方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your t…...