MISC之LSB

news2024/12/23 22:23:43

LSB隐写

简介

LSB隐写(Least Significant Bit Steganography)是一种隐写术,它通过将秘密信息嵌入到图像、音频或视频等多媒体文件中的最低有效位中来隐藏信息。在数字图像中,每个像素由红、绿、蓝三个通道的颜色值组成。每个颜色通道的颜色值通常用8位二进制数表示,范围为0-255。而LSB隐写则是将秘密信息的二进制位依次替换为RGB值中的最低有效位,从而实现隐藏信息的效果。由于最低有效位的改变对图像的视觉质量影响较小,因此LSB隐写是一种常用的隐写技术。

 LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位(LSB),而人类的眼睛不会注意到这前后的变化,每个像数可以携带3比特的信息。

LSB隐写内容写入

将脚本文件在kali里运行

 用法:python  脚本名  encode 用来隐藏的图片名 要隐藏的文件名 输出的图片名

python LSB.py encode input.png flag.txt out.png
//input.png是用来隐藏信息的文件
//flag.txt是要隐藏的信息,隐藏的文件不只是文本文件,图片也可以隐藏
//out.png是隐藏完成输出的文件

 实操:

 xx.png隐藏在haha.png里了,输出的结果是34.png

 

 

 隐写出来的图片与原图相比没有什么区别,只是图片的大小明显是隐写后的图片文件大小要大一些,所以以后遇到图片文件的像素不是很高但文件大小却比普通的图片要大一些,那么就可以怀疑图片是否进行了隐写,图片内隐藏了一些信息

 LSB隐写内容提取

这里有两个方法将隐写进去的内容提取出来

方法一:Stegsolve.jar

用Stegsolve.jar打开图片文件,然后分析

 选择最低位隐写

 然后Save Bin以图片的形式保存文件,最后再打开新保存的文件得到的就是隐藏的文件

方法二:kali运行脚本

用法:python  脚本名  decode  字节数  含有隐写内容的图片名  输出的文件名

 依旧是同一个脚本文件

python LSB.py decode 20 34.png out.png
//20是输出的字节数
//34.png是要提取信息的文件
//out.png是输出的文件
//一般用脚本提取图片的内容是文本里的内容而不是图片,因为图片输出后字节数不对,输出的文件不会出现有用的信息,所以该脚本用来提取文本信息要好一些

总结:

LSB和MSB是二进制数字中的概念。

LSB表示最低位(Least Significant Bit),即二进制数字中的最右侧位,它代表数字的最小单位。

MSB表示最高位(Most Significant Bit),即二进制数字中的最左侧位,它代表数字的最高位,决定了数字的大小。

所以要注意隐写时要清楚时从头开始还是从尾部开始,从左侧开始还是从右侧开始,对应的最高位和最低位都会有所不同,因此在使用Stegsolve.jar时要注意文件头,以免出现LSB隐写的鲁棒性,导致文件隐写的内容丢失。

上面的隐写用法要注意隐写文本和图片的提取方法上会有一些不同,因为图片和文本之间本身就有区别,虽然隐写写入的方式是一样的,但提取呈现内容的格式不一样。

 

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

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

相关文章

c语言插入排序算法(详解)

插入排序是一种简单直观的排序算法,其主要思想是将一个待排序的元素插入到已经排好序的部分的合适位置。 插入排序的原理如下: 将序列分为两部分:已排序部分和未排序部分。初始时,已排序部分只包含第一个元素,未排序…

Unity 射线检测(Raycast)检测图层(LayerMask)的设置

目录 主要内容 拓展: 主要内容 Raycast函数有很多重载(函数的重载根据函数的参数来决定) 这里只涉及这个重载,其余重载可以很方便得在Visual Studio中看源码获取; public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hit…

成绩统计(oj题)

一道考验细节的题 最后是&#xff1f;&#xff1a;运算符用错了 代码如下&#xff1a; #include<stdio.h> #include<string.h> typedef struct Grade{int num;int inv; }Grade; Grade tmp[10]; int n, m, g, interval[10] {0};int main(void) {scanf("%d%d…

智能优化算法应用:基于鸟群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鸟群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鸟群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鸟群算法4.实验参数设定5.算法结果6.参考文献7.MA…

Vue3-15-事件处理的基本使用详解

什么是事件处理 事件处理 &#xff1a; 就是对页面上的事件进行捕获并进行逻辑上的处理。 例如 &#xff1a; 点击了一个按钮&#xff0c;捕获点击事件&#xff0c;并进行响应的逻辑处理。vue3中的事件处理的语法 主要使用到的是 v-on 指令&#xff0c; 这个指令的语法糖&…

【教程】如何将重要文件进行混淆和加密

怎么保护苹果手机移动应用程序ipa中文件安全&#xff1f; ios应用程序存储一些图片&#xff0c;资源&#xff0c;配置信息&#xff0c;甚至敏感数据如用户信息、证书、私钥等。这些数据怎么保护呢&#xff1f;可以使用iOS提供的Keychain来保护敏感数据&#xff0c;也可以使用加…

机器学习---TF-IDF算法

1、TF-IDF TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文本频率)。TF指词频&#xff0c;IDF指的是逆文本频率。TF-IDF是一种用于信息检索与数据挖掘的常用加权技术&#xff0c;可以评估一个词在一个文件集或者一个语料库中对某个文件的重要程度。一个词语在一篇…

创邻科技上榜中国信通院《高质量数字化转型产品及服务全景图》

近年来&#xff0c;数字化转型浪潮浩浩荡荡&#xff0c;已成为企业高质量发展的必由之路。 但是企业的数字化转型之路并不简单。一方面&#xff0c;企业对数字化转型仍面临着“战略缺位”“能力难建”“价值难现”等问题&#xff1b;另一方面&#xff0c;市场上众多的数字化转…

Day58力扣打卡

打卡记录 下一个更大元素 IV&#xff08;单调栈 x2&#xff09; 链接 class Solution:def secondGreaterElement(self, nums: List[int]) -> List[int]:ans [-1] * len(nums)s []t []for i, x in enumerate(nums):while t and nums[t[-1]] < x:ans[t.pop()] x # t…

班主任,再也不愁怎么给学生发成绩了

作为班主任&#xff0c;我们时常面临着如何有效地将学生的成绩信息传达给家长的问题。传统的纸质成绩单邮寄方式不仅效率低下&#xff0c;而且容易丢失&#xff0c;难以保证信息的及时性和准确性。现在&#xff0c;有了微信「群发成绩」小程序&#xff0c;班主任们终于可以摆脱…

ISP去噪(2)_np 噪声模型

#灵感# ISP 中的去噪&#xff0c;都需要依赖一个噪声模型。很多平台上使用采集的raw进行calibration&#xff0c;可以输出这个模型&#xff0c;通常称为 noise profile。 目录 名词解释&#xff1a; 标定方法&#xff1a; 校准出的noise profile: noise profile 作用域&am…

异常当做业务逻辑处理严重影响性能

一:背景 在项目应该或多或少的见过有人把异常当做业务逻辑处理的情况(┬_┬),比如说判断一个数字是否为整数,就想当然的用try catch包起来,再进行 int.Parse,如果抛异常就说明不是整数,简单粗暴,也不需要写正则或者其他逻辑,再比如一个字符串强制转化为Enum,直接用Enu…

Linux中的堡垒机搭建以及使用

JumpServer搭建 安装应用包 curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash 一路回车即可安装完毕&#xff08;可根据需求更改&#xff09; JumpServer的 配置文件路径 /opt/jumpserver/config/config.tx…

python request 不走代理proxy

遇到问题如&#xff1a; requests.exceptions.ProxyError: HTTPSConnectionPool(host‘quake.360.net’, port443): Max retries exceeded with url: /api/v3/search/quake_service (Caused by ProxyError(‘Cannot connect to proxy.’, OSError 解决如下&#xff1a; 一般…

分页存储管理

页框和页面 将内存空间分为一个个大小相等的分区 (比如:每个分区4KB)&#xff0c;每个分区就是一个“页框”(页框页内存块物理块物理页面)。每个页框有一个编号&#xff0c;即“页框号”(页框号页帧号内存块号物理块号物理页号)&#xff0c;页框号从0开始。 为了将各个进程的数…

基于Java SSM框架实现家用电器销售系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现家用电器销售系统演示 摘要 家用电器销售网站采用B/S模式&#xff0c;促进了家用电器销售的安全、质量、快捷的发展。传统的管理模式还处于手工处理阶段&#xff0c;管理效率极低&#xff0c;随着用户的不断增多&#xff0c;传统基于手工管理模式已经无法…

后端返回base64文件前端如何下载

1.后端返回base64格式文件 2.前端代码 <style lang"less" scoped> import "./style/common.less";.table-div-a {color: #409EFF;text-decoration: underline;cursor: pointer; } </style><template><div class"template-con…

​hashlib --- 安全哈希与消息摘要​

源码&#xff1a; Lib/hashlib.py 本模块针对许多不同的安全哈希和消息摘要算法实现了一个通用接口。 包括了 FIPS 安全哈希算法 SHA1, SHA224, SHA256, SHA384, SHA512, (定义见 the FIPS 180-4 standard), SHA-3 系列 (定义见 the FIPS 202 standard) 以及 RSA 的 MD5 算法 (…

HarmonyOS首次尝试-HelloWorld

我的旧手机是个HUAWEI PCT-AL10 HarmonyOS 3.0.0(Android 10) 插上后&#xff0c;studio能显示连接上了手机设备&#xff0c;创建的demo使用的是API9&#xff0c;也就是当前的最新版本。 点击运行报错&#xff1a; 点击去往帮助页&#xff0c;做的也挺好&#xff0c;有直达的…

OpenAI 承认 ChatGPT 最近确实变懒,承诺修复问题

文章目录 一. ChatGPT 指令遵循能力下降引发用户投诉1.1 用户抱怨回应速度慢、敷衍回答、拒绝回答和中断会话 二. OpenAI 官方确认 ChatGPT 存在问题&#xff0c;展开调查三. OpenAI 解释模型行为差异&#xff0c;回应用户质疑四. GPT-4 模型变更受人事动荡和延期影响 一. Chat…