禁止wordpress网站上传图片时自动生成三张图片方法,上海建设工程学校网站,设计软件需要多少钱,1688电影网入口0x00 背景
何为隐写术#xff1f;
隐写术是一类可以隐藏自己写的一些东西的方法#xff0c;是一门关于信息隐藏的技巧与科学。指的是采取一些不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容的方法。
可参考 一文让你完全弄懂Stegosaurus - 知乎
本文要…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.