一、图片隐写[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://xiahunao.cn/news/2906837.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【力扣hot100】两数之和、字母异位词分组

【1】两数之和 public class TwoNumAddiction {public static void main(String[] args) {int[] nums {3,3};int target 6;int[] indexArr new SolutionNumAddiction().twoSum(nums, target);for (int index : indexArr) {System.out.println(index);}} }class SolutionNumA…

数据分析之Power BI

POWER QUERY 获取清洗 POWER PIVOT建模分析 如何加载power pivot 文件-选项-加载项-com加载项-转到 POWER VIEW 可视呈现 如何加载power view 文件-选项-自定义功能区-不在功能区中的命令-新建组-power view-添加-确定 POWER MAP可视地图

AIGC-Stable Diffusion发展及原理总结

目录 一. AIGC介绍 1. 介绍 2. AIGC商业化方向 3. AIGC是技术集合 4. AIGC发展三要素 4.1 数据 4.2 算力 4.3 算法 4.3.1 多模态模型CLIP 4.3.2 图像生成模型 二. Stable Diffusion 稳定扩散模型 1. 介绍 1.1 文生图功能(Txt2Img) 1.2 图生图功能&…

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

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

5、axios请求、动画、组件、路由重定向、UI组件

一、axios请求 Axios是一个基于Promise的HTTP状态库&#xff0c;封装ajax。ajax包含axios安装 npm install axios 引入 import axios form “axios” 1、get请求 <script> // 1.本页面引入 import axios from "axios";data() {return {imgSrc: ""…

ICLR2024:南洋理工发布!改几个参数就为大模型注入后门

随着大语言模型&#xff08;LLMs&#xff09;在处理自然语言处理&#xff08;NLP&#xff09;相关任务中的广泛应用&#xff0c;它们在人们日常生活中的作用日益凸显。例如&#xff0c;ChatGPT等模型已被用于各种文本生成、分类和情感分析任务。然而&#xff0c;这些模型潜在的…

系统分析师-参考模型

前言 网络术语中的参考模型指的是OSI参考模型&#xff0c;由ISO&#xff08;国际标准化组织&#xff09;制定的一套普遍适用的规范集合&#xff0c;以使得全球范围的计算机平台可进行开放式通信。 ISO创建了一个有助于开发和理解计算机的通信模型&#xff0c;即开放系统互联OS…

vivado 生成比特流或器件镜像

在生成比特流或器件镜像之前 &#xff0c; 请复查其设置 &#xff0c; 确保这些设置对于您的设计都正确无误 &#xff0c; 这一点至关重要。 Vivado IDE 中的比特流和器件镜像设置分为 2 种类型 &#xff1a; 1. 比特流或器件镜像文件格式设置。 2. 器件配置设置。 在 V…

【MySQL】DQL-基础查询-语句&演示(查询多个字段 / 所有字段/并设置别名/去重)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

【探索Linux】—— 强大的命令行工具 P.31(守护进程)

阅读导航 引言一、守护进程简介1. 概念2. 特点 二、用C创建守护进程⭕代码✅主要步骤 温馨提示 引言 当谈到计算机系统中运行的特殊进程时&#xff0c;守护进程&#xff08;daemon&#xff09;无疑是一个备受关注的话题。作为在后台默默运行并提供各种服务的进程&#xff0c;守…

Linux(4)常见操作整理-静态路由-双网卡-文件上传下载-运维思路-性能监测方法-jar包查找

五、常见操作 1、静态路由配置 【描述】&#xff1a;当前ifconfig eno16777728 对应ip&#xff1a;172.41.0.120 【解决】&#xff1a; &#xff08;1&#xff09; [rootlocalhost ~]# cd /etc/sysconfig/network-scripts/ &#xff08;2&#xff09; 添加文件&#xff1a…

LeetCode_1.两数之和

一、题目描述 二、方法 1.方法1&#xff08;暴力枚举法&#xff09; 利用两个for循环&#xff0c;对数组进行逐一的遍历&#xff0c;直到找到两个数的和为目标值时返回这两个数的下标。以下为c实现的完整代码。 # include<iostream> using namespace std; #include<…

C语言例4-35:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡、问鸡翁、鸡母和鸡雏各几何?

方法一&#xff1a; 代码如下&#xff1a; //鸡翁一&#xff0c;值钱五&#xff1b;鸡母一&#xff0c;值钱三&#xff1b;鸡雏三&#xff0c;值钱一。百钱买百鸡、问鸡翁、鸡母和鸡雏各几何&#xff1f; //方法一&#xff1a; #include<stdio.h> int main(void) {int x…

智慧城市一屏统览,数字孪生综合治理

现代城市作为一个复杂系统&#xff0c;牵一发而动全身&#xff0c;城市化进程中产生新的矛盾和社会问题都会影响整个城市系统的正常运转。智慧城市是应对这些问题的策略之一。城市工作要树立系统思维&#xff0c;从构成城市诸多要素、结构、功能等方面入手&#xff0c;系统推进…

Paper Digest|基于在线聚类的自监督自蒸馏序列推荐模型

论文标题&#xff1a; Leave No One Behind: Online Self-Supervised Self-Distillation for Sequential Recommendation 作者姓名&#xff1a; 韦绍玮、吴郑伟、李欣、吴沁桐、张志强、周俊、顾立宏、顾进杰 组织单位&#xff1a; 蚂蚁集团 录用会议&#xff1a; WWW 2024 …

CSS之动画

一&#xff0c;动画的制作 实现盒子绕圈走 二&#xff0c; 动画的常用属性 三&#xff0c;动画简写属性 前面两个属性一定要写&#xff0c;第三个linear是指匀速的意思&#xff08;默认是ease&#xff09;

【Java多线程】4——特定场景解决办法

4 特定场景解决方法 ⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记仓库&#x1f449;https://github.com/A-BigTree/tree-learning-notes 个人主页&#x1f449;https://www.abigtree.top ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个st…

C语言结合体和枚举的魅力展现

前言 ✨✨欢迎&#x1f44d;&#x1f44d;点赞☕️☕️收藏✍✍评论 个人主页&#xff1a;秋邱’博客 所属栏目&#xff1a;人工智能 &#xff08;感谢您的光临&#xff0c;您的光临蓬荜生辉&#xff09; 引言: 前面我们已经讲了结构体的声明&#xff0c;自引用&#xff0c;内存…

排序C++

题目 法1 sort升序排序&#xff0c;再逆序输出 #include<iostream> #include<algorithm> using namespace std;const int N 5e53;//注意const&#xff0c;全局 int a[N]; int main() {//错误int N5e53;//错误const int a[N];int n;cin >> n;for (int i 1;…

【数据结构】新篇章 -- 顺序表

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;python从入门到精通&#xff0c;魔法指针&#xff0c;进阶C&#xff0c;C语言&#xff0c;C语言题集&#xff0c;C语言实现游戏&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文…