当前位置: 首页 > 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; {# 注…...

Phi-4-reasoning-vision-15B在研发协作中的应用:代码IDE截图理解与问题定位

Phi-4-reasoning-vision-15B在研发协作中的应用&#xff1a;代码IDE截图理解与问题定位 1. 引言&#xff1a;研发协作中的视觉理解需求 在软件开发团队中&#xff0c;工程师们每天都要处理大量代码截图和IDE界面。当遇到问题时&#xff0c;最常见的做法是把报错截图或代码片段…...

保姆级教程:在CentOS 7上配置sysstat实现24小时性能监控(含报警设置)

CentOS 7系统性能监控全攻略&#xff1a;从sysstat配置到智能报警实战 对于Linux系统管理员而言&#xff0c;持续监控服务器性能指标就像医生定期检查病人生命体征一样重要。sysstat工具包中的sar命令提供了这种"全天候体检"能力&#xff0c;但很多初学者往往止步于基…...

从零到一:在CentOS 8上构建LNMP环境并部署WordPress实战

1. 环境准备与基础配置 在开始搭建LNMP环境之前&#xff0c;我们需要确保CentOS 8系统处于最佳状态。我建议使用全新的系统环境&#xff0c;这样可以避免各种依赖冲突问题。首先通过SSH连接到服务器&#xff0c;使用dnf update命令更新所有系统软件包。这个步骤很重要&#xff…...

Python 3.14 JIT编译器调优实战:从默认0.8x到2.4x加速,7步完成生产环境级配置(附官方未公开env变量清单)

第一章&#xff1a;Python 3.14 JIT编译器性能调优配置详解Python 3.14 引入了实验性内置 JIT 编译器&#xff08;基于 GraalPython 兼容层与自研 Pyston-style 动态优化后端&#xff09;&#xff0c;默认处于禁用状态&#xff0c;需通过环境变量与运行时参数显式启用并精细调优…...

移动气象站 屏幕款便携式自动气象站

屏幕款便携式自动气象站&#xff0c;作为可移动观测型气象站&#xff0c;以“超声波测风高精度传感器一体化集成”为核心技术&#xff0c;突破传统气象站布设繁琐、便携性差、数据精度不足的痛点&#xff0c;凭借轻快便携的支架设计、免调试快速布置、多传输方式适配等优势&…...

微软发布的《生成式人工智能初学者.NET 第二版》课程浇

本课概览 Microsoft Agent Framework (MAF) 提供了一套强大的 Workflow&#xff08;工作流&#xff09; 框架&#xff0c;用于编排和协调多个智能体&#xff08;Agent&#xff09;或处理组件的执行流程。 本课将以通俗易懂的方式&#xff0c;帮助你理解 MAF Workflow 的核心概念…...

龙芯k - 走马观碑组MPU驱动移植儇

先回顾&#xff1a;三次握手&#xff08;建立连接&#xff09;核心流程&#xff08;实际版&#xff09; 为了让挥手流程衔接更顺畅&#xff0c;咱们先快速回顾三次握手的实际核心&#xff0c;避免上下文脱节&#xff1a; 第一步&#xff08;客户端→服务器&#xff09;&#xf…...

俄罗斯电商经营风险高?Captain AI为你的出海之路兜底

俄罗斯电商市场的红利很可观&#xff0c;但背后的经营风险也无处不在&#xff1a;平台合规风险、税务稽查风险、外汇管制风险、清关风险、知识产权风险、资金安全风险&#xff0c;任何一个风险点爆发&#xff0c;都可能让你之前所有的努力付诸东流——轻则面临高额罚款、货物没…...

一网推百度爱采购代运营助力泰铖自动化斩获海量精准询盘

在工业制造数字化升级的当下&#xff0c;百度爱采购已然成为机械设备企业开拓线上客源的核心阵地&#xff0c;然而诸多中小厂商因缺乏专业运营手段&#xff0c;难以发挥平台价值。张家港市泰铖自动化设备有限公司主营半自动弯管机、缩管机、倒角机与切管机&#xff0c;曾面临线…...

知识图谱嵌入评估实战:从MRR到HITS@n的指标解析与应用

1. 知识图谱嵌入评估指标入门指南 第一次接触知识图谱嵌入评估时&#xff0c;我被各种缩写搞得晕头转向。MRR、MR、HITSn这些指标就像天书一样&#xff0c;直到我在实际项目中踩了几个坑才真正理解它们的意义。现在我就用最直白的语言&#xff0c;带你快速掌握这些核心指标。 …...