一、图片隐写[Stegsolve、binwalk、010editor、WaterMark、BlindWaterMark、文件头尾]

工具配置

1.Stegsolve

工具地址:http://www.caesum.com/handbook/Stegsolve.jar
解释:该工具需要安装jar包后才能配合使用,下面同时会给出快速打开工具的代码,需要两个文件,启动的时候启动vbs文件

start.bat

java -jar Stegsolve.jar

start.vbs

set ws=createobject("wscript.shell")
ws.Run """start.bat""",0

2.binwalk:

  1. 下载:https://github.com/ReFirmLabs/binwalk/archive/refs/tags/v2.3.2.zip

  2. setup:python setup.py install

  3. 便捷化配置:自己写一个快速启动binwalk的py然后打包成exe然后放置于python下面的Scripts目录就能直接在cmdbinwalk xxxx执行命令

    import subprocess
    import sys# 获取命令行参数(除了脚本名称之外的部分)
    args = sys.argv[1:]# 指定 Python 解释器和 binwalk 脚本的路径
    python_path = "python"
    binwalk_script = "D:\\python\\Scripts\\binwalk"# 使用 args 中包含的参数构造命令
    command = [python_path, binwalk_script] + args# 调用 subprocess.call 来执行命令
    subprocess.call(command)
    
    pyinstaller --onefile binwalk.py
    

3. 010editor

下载:https://www.sweetscape.com/010editor/

复制16进制到左边:Ctrl+Shift+V
复制文本到右边边:Ctrl+V
插入内容:光标放至要插入内容处,然后在软件最上方一栏选择Edit然后选择插入选择Hex与大小即可
对代码进行异或操作等等:
在这里插入图片描述

4.WaterMark

解释:一款普通破解盲水印的工具(适合单图片),下载非官网,请注意
https://pan.quark.cn/s/ab1aaa012cd0#/list/share

5.BlindWaterMark

解释:一款普通破解盲水印的工具(适合多图片)
https://github.com/chishaxie/BlindWaterMark

一、LSB隐写

解释:LSB隐写即最低有效位隐写,LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位,写入数据,这样做的目的是人眼最难分辨出来,但是通过工具可以很容易的检测出来

知识补充:

  1. PNG图片,png图片是一种无损压缩的图片,因为无损压缩所以可以实现LSB隐写。
  2. JPG图片,jpg图片是一种有损压缩的图片,修改的数据会在压缩中损失,不可以实现LSB隐写。
  3. BMP的图片,是没有经过压缩的。BMP图片文件大小一般较大,bmp图片也可以实现LSB隐写。

Stegsolve查看red blue green三通道最低二进制位的方法:

  1. 查看
    在这里插入图片描述
  2. 导出
    在这里插入图片描述

普通情况:

  1. 选择图片在这里插入图片描述
  2. 切换不同的颜色通道在这里插入图片描述

二、Gif动图

解释:通过该工具能够一帧一帧的对Gif里面的内容进行查看

  1. 选择此功能对Gif图片进行一帧一帧查看
    在这里插入图片描述
  2. 在线网站:https://tu.sioe.cn/gj/fenjie/(对动图,特别是多张图片需要拼接在一起的很有效)

三、图片隐写

解释:指的是一个文件里面包含其它格式文件与图片,此时可以通过binwalk将它们分开,不能完全相信binwalk,这个工具有时候分辨不出来里面混杂的音频文件,建议使用010editor查看,或配合foremost,或者用010editor进行查看

1.binwalk

解释:下面这三款工具要轮流使用直到完成任务,目前看来,binwalk一般能分析对隐写的文件,但是拆分不出来,反而foremost能够拆分出来

binwalk xxxx -e自动分离图片里面的内容

2.foremost

foremost xxx

3.dd

解释:dd需要结合binwalk显示的块数,例如下图
在这里插入图片描述

dd if=hong.mp3 of=hong1.jpeg skip=138170 bs=1if=:输入文件,即源图片。
of=:输出文件,即提取出来的数据。
skip=N:跳过输入文件的前N个字节。
bs=1:设置块大小为1字节,配合skip可以准确定位到具体的字节。
N是你想要跳过的字节数,根据隐藏信息可能出现的位置来决定。

4.strings

解释:对于隐写而言,strings命令往往能看到图片里面写着的字符串,对于CTF而言,很可能就是出题人给的暗示

strings 1.png

四、图片高宽隐藏

解释:因为图片给的高度或宽度很小,当更改图片高或宽时,隐藏的内容就能看到了,可以使用工具TweakPNG,通过Stegsolve的File Format对比CRC,如果CRC与计算出来的有出入可能就是高度修改了,或者使用pngcheck工具查看CRCapt install pngcheck

五、图片模糊

解释:给的图片特别模糊看不清里面的内容,可以通过SmartDeblur进行调整对比度来看尝试让图片清晰一点

六、识别码

解释:有二维码、条形码等等,可能普通的扫码器扫描不出来,可以在在线网址上进行扫码https://online-barcode-reader.inliteresearch.com/

七、双图结合

解释:当题目中给出双图时,可能要用到Stegsolve的Image Combiner功能,先打开一张图再点击Image Combiner然后切换打开新图的色道有时候会出现二维码
在这里插入图片描述

八、盲水印(单图)

解释:我们遇到一些题可能暗藏着盲水印,需要我们来解决,
使用文章开头提到的WaterMark软件

九、盲水印(多图)

解释:适合于多张图片最后合成一个图片的使用BlindWaterMark脚本

安装依赖:

pip install opencv-python
pip install matplotlib

合成

python bwm.py encode hui.png wm.png hui_with_wm.png
python bwm.py encode A图 B图 生成的图片路径python2版本使用bwm.py文件
python3版本把bwm.py改为bwmforpy3.py

提取

python bwm.py decode hui.png hui_with_wm.png wm_from_hui.png
python bwm.py decode A图 B图 生成的图片路径python2版本使用bwm.py文件
python3版本把bwm.py改为bwmforpy3.py

补充

1.文件头尾

文件文件头hex文件头ascii文件尾
PNG89 50 4e 47 0d 0a 1a 0a‰ P N GAE 42 60 82
GIF47 49 46 38G I F 800 3B
BMP42 4D 36 0C 30B M 6 0
JPGff d8 ff e0 00 10 4a 46 49 46ÿ Ø ÿ à J F I FFF D9
pyc03 F3 0D 0A ó
ZIP50 4B 03 04P K 50 4B
RAR452 61 72 21 1A 07 00R a r !C4 3D HEAD_TYPE
RAR552 61 72 21 1A 07 01 00R a r !1D 77 56 51 HEAD_SIZE HEAD_TYPE
7Z37 7A BC AF 27 1C7 z ¼ ¯ ’
Wav52 49 46 46 XX XX XX XX 57 41 56 45 66 6D 74 20RIFF ™WAVE

2.压缩文件特征

解释:用010editor打开压缩文件,如果看到里面出现文件名或其它文本数据,很有可能其就是压缩文件,一般可以尝试ziprar两种

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/290765.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker-compose部署postgresql

1、docker-compose.yml文件 version: "3.9" services:postgis:image: postgis/postgiscontainer_name: postgisrestart: alwaysdeploy:resources:limits:cpus: 1.00memory: 1Greservations:cpus: 0.50memory: 1Ghealthcheck:test: [ "CMD", "pg_isre…

2020年天津市二级分类土地利用数据(矢量)

天津市,位于华北平原海河五大支流汇流处,东临渤海,北依燕山。地势以平原和洼地为主,北部有低山丘陵,海拔由北向南逐渐下降,地貌总轮廓为西北高而东南低。天津有山地、丘陵和平原三种地形,平原约…

Linux系统命令whereis详解-用于查找某个命令的执行文件、源代码文件和手册页的位置

目录 一、whereis命令介绍 二、命令语法 三、常用选项 1、常用选项 2、命令的帮助消息 四、示例 1、查找所有与 ls 相关的文件: 2、只查找 ls 的二进制文件: 3、只查找 ls 的手册页文件: 4、注意事项 五、命令输出 1、输出位置信…

C#_泛型_委托

文章目录 泛型泛型的使用泛型的约束委托委托的实例化多播委托委托的调用内置委托类型委托练习泛型委托Lambda表达式(进阶)上期习题答案本期习题 泛型 泛型(Generic) 是一种规范,它允许我们使用占位符来定义类和方法,编译器会在编…

Golang实战:深入hash/crc64标准库的应用与技巧

Golang实战:深入hash/crc64标准库的应用与技巧 引言hash/crc64简介基本原理核心功能 环境准备安装Golang创建一个新的Golang项目引入hash/crc64包测试环境配置 hash/crc64的基本使用计算字符串的CRC64校验和计算文件的CRC64校验和 高级技巧与应用数据流和分块处理网…

鸿蒙OS开发教学:【编程之重器-装饰器】

HarmonyOS 有19种装饰器 必须【2】 绘制一个页面,这两个肯定会用到 EntryComponent 可选【17】 StatePropLinkObjectLinkWatchStylesStoragePropStorageLinkProvideConsumeObservedBuilderBuilderParamLocalStoragePropLocalStorageLinkExtendConcurrent 如果…

141.环形链表 142.环形链表II

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索…

你管这破玩意叫网络

你是一台电脑,你的名字叫 A 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了起来。 用一根网线连接起来怎么就能…

R语言赋值符号<-、=、->、<<-、->>的使用与区别

R语言的赋值符号有&#xff1c;-、、-&#xff1e;、&#xff1c;&#xff1c;-、-&#xff1e;&#xff1e;六种&#xff0c;它们的使用与区别如下: <-’&#xff1a;最常用的赋值符号。它将右侧表达式的值赋给左侧的变量&#xff0c;像一个向左的箭头。例如&#xff0c;x …

ethers.js:sign(签名)

Signers 在ethers中Signer是以太坊账户的抽象&#xff0c;可以用来签名消息和交易&#xff0c;如将签名的交易发送到以太坊网络以执行状态更改的操作。 npm install ethers5.4.0// 引入 import { ethers } from ethers签名 this.provider new ethers.providers.Web3Provider(…

<QT基础(4)>QLabel使用笔记

Label 前面的文章里面把QLabel批量引入ScrollArea作为预览窗口&#xff0c;这篇把图像填充到QLable的PixelMap展示指定图像。 参数设置 设置QLabel的大小格式 QWidget* widget new QWidget; widget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); widget->…

Go打造REST Server【二】:用路由的三方库来实现

前言 在之前的文章中&#xff0c;我们用Go的标准库来实现了服务器&#xff0c;JSON渲染重构为辅助函数&#xff0c;使特定的路由处理程序相当简洁。 我们剩下的问题是路径路由逻辑&#xff0c;这是所有编写无依赖HTTP服务器的人都会遇到的问题&#xff0c;除非服务器只处理一到…

数据结构进阶篇 之 【二叉树链序存储】的整体实现讲解

封建迷信我嗤之以鼻&#xff0c;财神殿前我长跪不起 一、二叉树链式结构的实现 1.二叉树的创建 1.1 手动创建 1.2 前序递归创建 2.二叉树的遍历 2.1 前序&#xff0c;中序以及后序遍历概念 2.2 层序遍历概念 2.3 前序打印实现 2.4 中序打印实现 2.4 后序打印实现 2.…

HTTP(1)

目录 一、认识HTTP协议 理解 应用层协议 二、fiddler的安装以及介绍 1、fiddler的安装 2、fiddler的介绍 三、HTTP 报文格式 1、http的请求 2、http的响应 五、认识URL 六、关于URL encode 一、认识HTTP协议 HTTP 全称为&#xff1a;“超文本传输协议”&#xff0c;是…

鸿蒙开发之了解ArkTS

鸿蒙开发者官网 &#xff1a; https://developer.huawei.com/consumer/cn/ 开发鸿蒙要用的软件是 DevEco Studio ArkTS建立在JS和TS的基础之上&#xff0c;扩展了声明式UI开发范式和状态管理&#xff0c;提供更简洁和自然的开发方式。 ArkTS引入了渲染引擎的增强&#xff0c…

【机器学习300问】56、什么是自编码器?

一、什么是自编码器&#xff1f; 自编码器&#xff08;Autoencoder&#xff0c;AE&#xff09;本质是一种特殊的神经网络架构。主要用于无监督学习和特征学习任务。它的目标是通过编码然后解码的过程&#xff0c;学会重构其输入数据&#xff0c;试图还原其原始输入的。 当时我学…

信息安全之网络安全防护

先来看看计算机网络通信面临的威胁&#xff1a; 截获——从网络上窃听他人的通信内容中断——有意中断他人在网络上的通信篡改——故意篡改网络上传送的报文伪造——伪造信息在网络上传送 截获信息的攻击称为被动攻击&#xff0c;而更改信息和拒绝用户使用资源的攻击称为主动…

AI智能分析网关智慧食安监管系统方案

3.15晚会刚过不久&#xff0c;淀粉肠的“屈辱”终于得以洗清&#xff0c;但某些品牌奶茶、梅菜扣肉、预制菜等等&#xff0c;生产过程仍是触目惊心。如何提升食品安全管理水平&#xff0c;保障食品从生产到消费环节的质量和安全&#xff1f;TSINGSEE青犀智利用智能分析网关V4Ea…

旺店通·旗舰奇门与金蝶云星空对接集成销售出库单查询连通销售出库新增(WDT 线下销售出库单对接(关联)-ok-不适用)

旺店通旗舰奇门与金蝶云星空对接集成销售出库单查询连通销售出库新增(WDT 线下销售出库单对接&#xff08;关联&#xff09;-ok-不适用) 源系统:旺店通旗舰奇门 慧策最先以旺店通ERP切入商家核心管理痛点——订单管理&#xff0c;之后围绕电商经营管理中的核心管理诉求&#xf…

Nginx(Docker 安装的nginx)配置域名SSL证书

1.首先确保Linux环境上已经安装了docker&#xff08;可参考Linux安装Docker-CSDN博客&#xff09; 2.通过docker 安装nginx&#xff08;可参考Linux 环境安装Nginx—源码和Dokcer两种安装方式-CSDN博客&#xff09; 3.安装SSL证书 3.1 在宿主机中创建证书目录并上传证书&…