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

图片隐写(一)

文件隐藏

binwalk

  • binwalk -e filename

foremost

  • foremost filename

steghide & stegseek

Install
  • sudo apt-get install steghide
  • stegseek
Use
  • steghide extract -sf filename -p password
  • time stegseek secret.file aaa.txt

dd

文本隐藏

  • 二进制文件末尾 or 文中(明文 & encode)
  • 属性
  • 010editor + 模板
  • xxd

WPS隐写

  • 背景色文字覆盖
  • 文字缩小
  • word隐藏文字
  • 文档加密

图片隐写

文件头

PNG

在这里插入图片描述

JPG
  • begin: FF D8
  • end: FF D9

在这里插入图片描述

BMP -----PS

在这里插入图片描述

GIF

在这里插入图片描述

考察形式
  • 虚假格式
  • 删除文件头
  • 文件逆写
  • exif信息 -----kali (exiftool filename)

拼图

ImageMagick

  • website:www.imagemagick.org
Use
  • magick.exe montage *.png -tile 宽x高 -geometry 被拼接图片宽高 输出文件位置

gaps

Install
git clone https://github.com/nemanja-m/gaps.git
cd gaps
pip install -r requirements.txt
sudo apt-get install python-tk
pip install -e .
Use
  • gaps --image=flag.jpg --generations=50 --population=180 --size=125 --verbose
  • gaps --image=图片名 --generations=拼图/迭代次数 --population=图片个数 --size=图片大小 --verbose实时显示

盲水印

  • 盲水印是一种特殊的图像水印,它利用光学技术将文字或图像的某一部分隐藏起来而形成特殊的水印

  • bwm

宽高隐藏

  • 一般来讲对于图像宽高不符的问题可以直接010修改
JPG

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VIe71GOJ-1684509046218)(\Pic\JPG1.png)]

BMP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W9aHkycj-1684509046219)(\Pic\BMP1.png)]

png

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PJT5Qov1-1684509046219)(\Pic\PNG1.png)]

  • pngcheck

  • 在linux中,宽高有问题的png图片,也就是CRC校验错误的图片无法打开,会有如下报错

    shack.png  CRC error in chunk IHDR (computed 52e1fc4b, expected be917539)
    ERROR: shack.png
    
  • CRC32宽高爆破

import struct
import zlibdef hexStr2bytes(s):b = b""for i in range(0,len(s),2):temp = s[i:i+2]b +=struct.pack("B",int(temp,16))return bstr1="49484452"			# IHDR
str2="0806000000"
bytes1=hexStr2bytes(str1)
bytes2=hexStr2bytes(str2)
wid,hei = 1918,864		# W & hcrc32 = "0x7dc73f7f"	# CRC32for w in range(wid,wid+2000):for h in range(hei,hei+2000):width = hex(w)[2:].rjust(8,'0')height = hex(h)[2:].rjust(8,'0')bytes_temp=hexStr2bytes(width+height)if eval(hex(zlib.crc32(bytes1+bytes_temp+bytes2))) == eval(crc32):print(hex(w),hex(h))

LSB

  • LSB
  • stegsolve.jar

GIF

单帧存放数据
  • 提取帧
  • Releases · evanolds/GIFFrame (github.com)
  • stegsolve
帧拼图
  • 提取帧 -----kali (convert)

  • 拼合 -----kali (montage)

  • GIF动态图片分解,多帧动态图分解成多张静态图片_图片工具网页版 (sioe.cn)

convert +adjoin glance.gif flag%03d.gif
convert +append flag*.gif res.gif

编码隐写

  • 对编码过程中无用的多余字节进行flag填充,从而打到隐藏数据的目的

Base64隐写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r2xAnbyd-1684509046219)(C:\Users\27770\Desktop\meet\Pic\base64.png)]

  • 特征:加密解密后结果不同
def base64_stego(lines):alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'flag = ''temp = 0bit = 0for i in lines:if i[-1] != '=':			# 无等号continueelif i[-2] != '=':			# 单等号,取出倒数第二个字符的后两位bit += 2				temp = (temp << 2) + (alphabet.find(i[-2]) & 0x3)else:						# 双等号,取出倒数第三个字符的后四位bit += 4				temp = (temp << 4) + (alphabet.find(i[-3]) & 0xf)if bit == 8:				# 所取bit够一个字节,转为chrbit = 0flag += chr(temp)temp = 0elif bit > 8:				# 4+2+4,取8位,保存多余两位bit = 2flag += chr(temp >> 2)temp = temp & 0x3return flag

Else

像素提取
from PIL import Image
# open file
filename = 
image = Image.open(filename)
# select format
image = image.convert("RGB")
# Select coordinates
x = 
y = 
rgb = image.getpixel((x, y))
print(rgb)
01串转二维码
import qrcode
from PIL import Image# 读取33*33的01矩阵
with open('matrix.txt', 'r') as f:matrix = [[int(x) for x in line.strip().split()] for line in f.readlines()]# 根据01矩阵生成二维码图片
img = Image.new('RGB', (33, 33), color='white')
pixels = img.load()
for y in range(33):for x in range(33):if matrix[y][x] == 1:pixels[x, y] = (0, 0, 0)  # 黑色像素
# 保存二维码图片
img.save('qrcode.png')

相关文章:

图片隐写(一)

文件隐藏 binwalk binwalk -e filename foremost foremost filename steghide & stegseek Install sudo apt-get install steghidestegseek Use steghide extract -sf filename -p passwordtime stegseek secret.file aaa.txt dd 文本隐藏 二进制文件末尾 or 文…...

Vivado 下 IP核 之ROM 读写

目录 Vivado 下 IP核 之ROM 读写 1、实验简介 2、ROM IP 核简介 3、ROM IP 核配置 3.1、创建 ROM 初始化文件 3.2、单端口 ROM 的配置 3.3、双端口 ROM 的配置 3.4、ROM IP 核的调用 &#xff08;1&#xff09;ROM 顶层模块代码 &#xff08;2&#xff09;ROM IP 核仿…...

朗诵素材-《诵四季诗韵,咏师恩师德》

女&#xff1a;中华五千年的悠久历史&#xff0c;孕育了底蕴深厚的民族文化。 男&#xff1a;华夏源远流长的经典诗文&#xff0c; 女&#xff1a;是文化艺苑中经久不衰的瑰宝。 男&#xff1a;在那些脍炙人口的诗句里&#xff0c;凝聚着华光熠熠的民族精魂。 女&#xff1…...

CHB-麻省理工学院头皮脑电图数据库

数据库介绍 该数据库在波士顿儿童医院收集&#xff0c;包括患有顽固性癫痫发作的儿科受试者的脑电图记录。受试者在停用抗癫痫药物后被监测长达几天&#xff0c;以表征他们的癫痫发作并评估他们手术干预的候选资格。 数据库链接&#xff1a;https://physionet.org/content/chb…...

传输层协议

目录 传输层 端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) netstat pidof UDP协议UDP协议端格式​编辑 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 TCP协议 TCP协议段格式 确认应答(ACK)机制 超时重传机制 连…...

公司新招了个字节拿36K的人,让我见识到了什么才是测试扛把子......

5年测试&#xff0c;应该是能达到资深测试的水准&#xff0c;即不仅能熟练地开发业务&#xff0c;而且还能熟悉项目开发&#xff0c;测试&#xff0c;调试和发布的流程&#xff0c;而且还应该能全面掌握数据库等方面的技能&#xff0c;如果技能再高些的话&#xff0c;甚至熟悉分…...

pytorch rpc如何实现分物理机器的model parallel

因为业务需要&#xff0c;最近接到一项任务&#xff0c;是如何利用pytorch实现model parallel以及distributed training。搜罗了网上很多资料&#xff0c;以及阅读了pytorch官方的教程&#xff0c;都没有可参考的案例。讲的比较多的是data parallel&#xff0c;关于model paral…...

APP服务端架构的演变

大家好&#xff0c;我是易安&#xff01; 早期2013年的时候&#xff0c;随着智能设备的普及和移动互联网的发展&#xff0c;移动端逐渐成为用户的新入口&#xff0c;各个电商平台都开始聚焦移动端App&#xff0c;如今经历了10年的发展&#xff0c;很多电商APP早已经没入历史的洪…...

EasyRecovery16适用于Windows和Mac的专业硬盘恢复软件

无论你对数据恢复了解多少&#xff0c; 我们将为您处理所有复杂的流程并简化恢复!适用于Windows和Mac的 专业硬盘恢复软件 硬盘数据无法保证绝对安全。有时会发生数据丢失&#xff0c;需要使用硬盘恢复工具。支持恢复不同存储介质数据&#xff1a;硬盘、光盘、U盘/移动硬盘、数…...

详解Jetpack Compose中的状态管理与使用

前言 引用一段官方描述&#xff0c;如下 由于 Compose 是声明式工具集&#xff0c;因此更新它的唯一方法是通过新参数调用同一可组合项。这些参数是界面状态的表现形式。每当状态更新时&#xff0c;都会发生重组。因此&#xff0c;TextField 不会像在基于 XML 的命令式视图中那…...

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 | 涨点杀器

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 论文地址:https://arxiv.org/abs/2107.08430 文章目录 改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv71. 解耦头原理2. 解耦头对收敛速度的影响3. 解耦头对精度的影响4. 代码改进方式第一步第二步第三步第四步第五步参…...

第七章 中断

中断是什么&#xff0c;为什么要有中断 并发是指单位时间内的累积工作量。 并行是指真正同时进行的工作量。 一个CPU在一个时间只能执行一个进程&#xff0c;任何瞬间任务只在一个核心上运行。 而CPU外的设备是独立于CPU的&#xff0c;它与CPU同步运行&#xff0c;CPU抽出一点…...

1116 Come on! Let‘s C(38行代码+详细注释)

分数 20 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 "Lets C" is a popular and fun programming contest hosted by the College of Computer Science and Technology, Zhejiang University. Since the idea of the contest is for fun, the award rules are f…...

深入学习《c语言函数》

&#x1f4d5;博主介绍&#xff1a;目前大一正在学习c语言&#xff0c;数据结构&#xff0c;计算机网络。 c语言学习&#xff0c;是为了更好的学习其他的编程语言&#xff0c;C语言是母体语言&#xff0c;是人机交互接近底层的桥梁。 本章学习函数。 让我们开启c语言学习之旅吧…...

Pytorch从零开始实现Vision Transformer (from scratch)

Pytorch从零开始实现Vision Transformer 前言一、Vision Transformer架构介绍1. Patch Embedding2. Multi-Head Attention3. Transformer BlockFeed Forward 二、预备知识1. Einsum2. Einops 三、Vision Transformer代码实现0. 导入库1. Patch Embedding2. Residual & Norm…...

ES6函数新增了哪些扩展?

目录 一、参数二、属性函数的length属性name属性 三、作用域四、严格模式五、箭头函数 一、参数 ES6允许为函数的参数设置默认值 function log(x, y World) {console.log(x, y); }console.log(Hello) // Hello World console.log(Hello, China) // Hello China console.log(…...

【firewalld防火墙】

目录 一、firewalld概述二、firewalld 与 iptables 的区别1、firewalld 区域的概念 三、firewalld防火墙默认的9个区域四、Firewalld 网络区域1、区域介绍2、firewalld数据处理流程 五、firewalld防火墙的配置方法1、使用firewall-cmd 命令行工具。2、使用firewall-config 图形…...

CNNs: ZFNet之CNN的可视化网络介绍

CNNs: ZFNet之CNN的可视化网络介绍 导言Deconvnet1. Unpooling2. ReLU3. Transpose conv AlexNet网络修改AlexNet Deconv网络介绍特征可视化 导言 上一个内容&#xff0c;我们主要学习了AlexNet网络的实现、超参数对网络结果的影响以及网络中涉及到一些其他的知识点&#xff0…...

云原生之深入解析Airbnb的动态Kubernetes集群扩缩容

一、前言 Airbnb 基础设施的一个重要作用是保证我们的云能够根据需求上升或下降进行自动扩缩容&#xff0c;我们每天的流量波动都非常大&#xff0c;需要依靠动态扩缩容来保证服务的正常运行。为了支持扩缩容&#xff0c;Airbnb 使用了 Kubernetes 编排系统&#xff0c;并且使…...

Django框架之模板其他补充

本篇文章是对django框架模板内容的一些补充。包含注释、html转义和csrf内容。 目录 注释 单行注释 多行注释 HTML转义 Escape Safe Autoescape CSRF 防止csrf方式 表单中使用 ajax请求添加 注释 单行注释 语法&#xff1a;{# 注释内容 #} 示例&#xff1a; {# 注…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程&#xff08;限时至2025/5/15&#xff09; Oracle AI Vector Search 1Z0-184-25考试&#xff0c;都顺利拿到certified了没。 各行各业的AI 大模型的到来&#xff0c;传统的数据库中的SQL还能不能打&#xff0c;结构化和非结构的话数据如何和…...