隐写术--python隐写

news2024/11/23 21:30:00

0x00 背景

何为隐写术?

隐写术是一类可以隐藏自己写的一些东西的方法,是一门关于信息隐藏的技巧与科学。指的是采取一些不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容的方法。

可参考 一文让你完全弄懂Stegosaurus - 知乎 

本文要介绍python中的隐写术。工具为Stegosaurus,仅支持 Python3.6 及其以下版本。

具体要操作pyc文件。pyc 文件就是 Python 的字节码文件,是个二进制文件。

Stegosaurus 提供了一种向 Python 字节码文件嵌入或提取 Payload 的方法。但是为了保证嵌入之后的代码文件大小不会发生变化,因此 Stegosaurus 所支持嵌入的 Payload 字节长度十分有限。

0x01 实践

需要先找出 低于Python3.6版本代码中的无效空间。

Python 的引用解释器 CPython 有两种类型的操作码:即无参数的和有参数的。在版本号低于 3.5 的 Python 版本中,根据操作码是否带参,字节码中的操作指令将需要占用 1 个字节或 3 个字节。在 Python3.6 中就不一样了, Python3.6 中所有的指令都占用 2 个字节,并会将无参数指令的第二个字节设置为 0 ,这个字节在其运行过程中将会被解释器忽略。这也就意味着,对于字节码中每一个不带参数的操作指令, Stegosaurus 都可以安全地嵌入长度为 1 个字节的 Payload 代码。

用工具来实现:

查询test.pyc 中的无效空间:

python3 -m stegosaurus test.pyc -r

向test.pyc 插入payload:

python3 -m stegosaurus test.pyc -s --payload "id"

从test.pyc中反解出插入的payload:

python3 stegosaurus.py -x test.pyc

0x02 reference

GitHub - AngelKitty/stegosaurus: A steganography tool for embedding payloads within Python bytecode.

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

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

相关文章

机械设计中的结构要素、基本要求和准则

机械结构设计的任务是依据设计任务在总体设计构想的基础上,确定的原理方案,绘制出具体的结构图,以实现设计所要求的功能。设计的过程是将抽象的工作原理具体化为某类构件或零部件,包含确定结构件的材料、形状、尺寸、公差、热处理…

机器学习绪论

目录 第1关:什么是机器学习 相关知识 题目答案 第2关:机器学习的常见术语 相关知识 假设空间 归纳偏好 题目答案 第3关:机器学习的主要任务 相关知识 分类 回归 聚类 题目答案 第1关:什么是机器学习 相关知识 相信…

给你一个文件夹,统计其下面的文件数量,包括子文件夹下面的文件

对于统计一个文件夹下面的文件的数量,大家第一反应肯定是递归调用来实现,现在有这么一个目录结构:root1和root2下面各有一个文件file1.txt和file2.txt,所以最终统计出来的文件数量应该是3 我们先看看递归实现: public …

Plant Commun | 正交组、系统转录组和CUT-Tag发掘植物保守冷响应因子BBX29及其靶基因

植物以固着的方式生活,但它们并不完全被动,许多温带植物通过预暴露于非冻结低温来增加它们的抗冻性,这种适应性过程被称为冷驯化(CA)。越来越多的证据表明,低温下的许多生理和代谢变化是由于CA诱导的冷反应(COR)基因的表达。C-重复…

Android 远程调用服务之 AIDL

目录 一、AIDL 是什么?二、为什么要使用 AIDL? 1、使用 AIDL 是为了跨进程调用第三方服务? 2、使用 AIDL 是为了向第三方服务传输数据/参数? 3、使用 AIDL 是为了获取第三方服务直接或者异步返回的数据?三…

Linux性能优化--性能工具:磁盘I/O

6.0 概述 本章介绍的性能工具能帮助你评估磁盘I/O子系统的使用情况。这些工具可以展示哪些磁盘或分区已被使用,每个磁盘处理了多少I/O,发给这些磁盘的I/O请求要等多久才被处理。 阅读本章后,你将能够: 确定系统内磁盘I/O的总量和类型(读/写…

浅谈智能照明控制系统应用在城市轨道交通

叶根胜 江苏安科瑞电器制造有限公司 江苏江阴 214405 摘要:在传统的城市轨道交通设计方面,照明设计方案具有一定的弊端。随着计算机技术的发展,智能化技术渐渐步入人们的生活并成为主流,故在城市轨道交通中应用新型的照明控制设…

基于关联规则的多样化推荐技术应用研究

摘要 目录 第二章 相关理论介绍 2.2.1 当前常用推荐技术 关联规则推荐 2.3.1 关联规则相关概念

【java学习—七】Object类(36)

文章目录 1. 概念2. Object类中的主要方法 1. 概念 Object 类是所有 Java 类的根父类如果在类的声明中未使用 extends 关键字指明其父类,则默认父类为Object 类 public class Person {...}等价于:public class Person extends Object {...}例&#xff1…

新加坡服务器托管

新加坡是一个小而繁荣的国家,是东南亚唯一一个发达国家。它地理位置好,毗邻马来西亚和印度尼西亚,新加坡是一个拥有先进科技和强大经济的国家,主要以制造业、金融、旅游和航运为主,拥有先进的经济和现代化的基础设施&a…

计算机操作系统-第九天

1、虚拟机 传统计算机的特点:一台物理机器只能运行一个操作系统 虚拟机的特点: 使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine,简称VM)每个虚拟机都可以独立运行一个操作系统 虚拟…

大数据学习(12)-join优化common join

&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博>主哦&#x…

数据结构知识点总结

一、常见的数据结构 数组,栈,队列,链表,散列表,二叉树,堆,跳表,图,树。 1. 数组: 数组的元素在内存中存储是连续存放的,占有连续的存储单元&am…

AWS S3加密

Hello大家好。 在本课时我们将讨论S3加密相关的内容。 S3加密相关是认证考试的一个重要的主题考点,您需要了解亚马逊S3的几种不同类型的加密方式。| 首先是静态数据的加密,静态数据加密是指数据存储在亚马逊S3 数据中心的磁盘上时&#xff0…

Excel文档名批量翻译不求人

在我们的日常工作中,经常需要处理大量的文件,包括Excel文档。有时候,我们需要对文件名进行修改或者翻译,以便更有效地进行文件管理和数据统计。那么,如何高效地翻译Excel文档名呢?下面是一个实用的方法。 首…

感测型离子风机在线实时监测

感测型离子风机在线实时监测静电是指通过安装静电监测器和数据采集设备,对离子风机所处环境的静电情况进行实时监测和数据采集,以便及时发现并解决静电问题。 感测型离子风机在线实时监测静电可以实现以下功能: 实时监测离子风机所处环境的静…

【FreeRTOS】【STM32】06.1 FreeRTOS的使用1(对06的补充)

前后台系统(裸机) 裸机又称前后台系统,在一个while中不停循环处理各个task。 中断服务函数作为前台程序 大循环while(1)作为后台程序 多任务系统 通过任务调度的方式,执行各个任务,优先级高的先执行,执行完了释放CPU使用权&am…

智慧工地管理系统(Smart site management system)源码

智慧工地管理系统是面向建筑工程施工企业提供的工地智能交互平台,基于云计算、物联网、人工智能等技术的应用,对现场人员、材料、机械、质量、安全等进行高效管控,以实现项目管理人员对现场的实时把控、及时预警、精准决策,从而为…

Golang学习:基础篇练习(二)—— 数组切片小实验

Golang学习:基础篇练习(二)—— 数组切片小实验 本次实验是对数组切片的,目的就是为了加深理解,一起来看看吧。 1、下面这段代码有问题吗?为什么 func main() {greeting : make([]string, 3, 5)// 3 is len…