尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
2026.7.19(6)【Stegosaurus pyc隐写】ACTF新生赛2020 剑龙
题目信息项目内容题目名称[ACTF新生赛2020]剑龙题目来源BUUCTF Misc题目类型Misc杂项子分类隐写术考点AAEncode编码、Steghide图片隐写、DES解密、Stegosaurus pyc隐写难度⭐⭐最终 Flagflag{3teg0Sauru3_!1}️ 使用工具AAEncode在线解码Steghide图片隐写工具需输入密码提取DES在线解密Stegosaurus剑龙Python pyc隐写提取工具GitHub地址https://github.com/AngelKitty/stegosaurus⚠️注意Stegosaurus 对 Python 版本有严格要求必须使用 Python 3.6 及以下版本否则无法运行。 解题思路题目名称叫“剑龙”英文即Stegosaurus这是专门针对 Python 字节码文件.pyc的隐写工具。第 1 步解压附件分析文件下载附件解压后得到以下文件一个o_o文件无后缀名——实际上是.pyc文件一个hint.zip压缩包先解压hint.zip里面包含pwd.txt—— 内容是一段“颜文字”代码hh.jpg—— 一张图片整理一下总共3份文件。第 2 步AAEncode 解码获取密码打开pwd.txt内容是一段以ω开头的颜文字代码。 这种代码叫做AAEncode又称颜文字加密是一种 JavaScript 混淆编码。将pwd.txt中的全部内容复制粘贴到AAEncode 在线解码网站http://www.hiencode.com/aaencode.html进行解码。解码后得到密码welcom3!⚠️注意注意密码中是数字3而不是字母e不要写错。第 3 步Steghide 图片隐写拿到密码welcom3!后对hh.jpg进行Steghide 隐写提取。Steghide 是一款可以将文件隐藏到图片或音频中的工具。使用命令steghide extract -sf hh.jpg执行后会提示输入密码输入上一步得到的welcom3!。成功提取后得到一个文本文件内容为U2FsdGVkX1/7KeHVl5984OsGUVSanPfPednHpK9lKvp0kdrxO4Tj/Q这串字符看起来像 Base64 编码但实际上直接 Base64 解码得不到有意义的结果。结合题目其他线索这应该是DES 加密后的密文。第 4 步从图片属性获取 DES 密钥查看hh.jpg的文件属性右键 - 属性 - 详细信息在备注或注释字段中可以找到 DES 解密的密钥#$%^%%$)⚠️注意密钥中既有%也有$和)注意区分%和$不要抄错。用这个密钥对密文进行DES 解密得到一段明文提示think about stegosaurus“想想剑龙”——这明确指向了下一步要用Stegosaurus工具。第 5 步Stegosaurus 提取 pyc 中的 Flag回到最初那个无后缀的o_o文件它实际上是 Python 的字节码文件.pyc。将o_o文件重命名为O_O.pyc然后使用Stegosaurus工具提取其中隐藏的信息。python3 stegosaurus.py -x O_O.pyc⚠️Python 版本警告Stegosaurus 在 Python 3.7 及以上版本可能无法正常运行。如果报错请使用Python 3.6 或更低版本的环境。运行后即可提取出 Flag 最终 Flagflag{3teg0Sauru3_!1}简单补充关于Stegosaurus的知识Stegosaurus 的核心思想是将秘密信息Payload拆分然后“藏”在 Python 字节码.pyc文件的“缝隙”里。它实现了一种在文件格式层面进行的隐写。 什么是“缝隙”.pyc文件的“无用字段”Python 源码.py在被执行前会先被编译成一种二进制格式即.pyc字节码文件供 Python 虚拟机PVM执行。这个字节码文件里包含了一些对程序运行没有影响的“注释”或“调试信息”可以理解为文件里的“无用字段”。Stegosaurus 正是瞄准了这些位置。 Stegosaurus 的嵌入与提取嵌入过程工具会分析.pyc文件的结构找到那些“无用字段”。然后它将你想要隐藏的 Payload一段 Python 代码或字符串拆分成小块分别写入这些字段中。这些 Payload 会被分散嵌入到文件的各个角落。提取过程提取是嵌入的逆过程。Stegosaurus 会再次解析.pyc文件从同样的“无用字段”中按顺序收集所有碎片最终拼凑出完整的 Payload。️‍♂️ 为什么难以察觉实现“三不变”这种设计带来了几个关键的隐蔽性文件大小不变因为是利用现有空间所以嵌入后文件大小不会改变。运行行为不变隐藏的信息放在不会被执行的“无用字段”里所以原程序的功能完全不受影响。常规工具无效正因为 Payload 分散且位于非执行区域像strings这样的命令无法从中提取出完整的、有意义的信息。⚠️ 注意事项容量与版本限制容量有限由于只能利用“无用字段”的空间可隐藏的信息量非常有限。所以Stegosaurus 通常只用来隐藏简短的提示或 Flag。Python 版本要求这是一个关键限制。Stegosaurus 的设计基于 Python 3.6 及以下版本的字节码结构在更高版本的 Python 中可能无法正常工作。 总结Stegosaurus 的巧妙之处在于它没有修改代码逻辑而是利用了文件格式自身的“冗余”来藏匿信息实现了高隐蔽性的隐写。
RELATED

相关推荐

Redis十大数据类型全解析:从原理到实战应用

Redis十大数据类型全解析:从原理到实战应用

1. Redis:从缓存到数据结构的瑞士军刀如果你接触过现代的后端开发,那么“Redis”这个名字对你来说一定不陌生。它常常以“高性能缓存”的身份出现在各种技术架构图中,但如果你对它的认知仅仅停留在“一个很快的键值对缓存”,那可能…

📅 2026/10/22 7:19:00
彻底解决d3dx9_35.dll丢失:DirectX运行库修复全攻略

彻底解决d3dx9_35.dll丢失:DirectX运行库修复全攻略

1. 问题根源与DirectX运行库解析 “d3dx9_35.dll文件丢失”,这个弹窗对于许多老游戏玩家,尤其是《红色警戒3》的爱好者来说,简直是一个“老朋友”了。每次兴致勃勃地双击游戏图标,期待重温经典时,它总是不合时宜地跳出…

📅 2026/10/22 7:19:03
大语言模型智能体状态最小化:降低Token成本与提升性能的工程实践

大语言模型智能体状态最小化:降低Token成本与提升性能的工程实践

1. 项目概述:当上下文成为成本瓶颈最近在折腾几个基于大语言模型的智能体项目,一个绕不开的痛点越来越明显:上下文(Context)的消耗速度实在太快了。尤其是那些需要维护内部状态(State)的智能体&…

📅 2026/8/22 18:29:30
MORE NEWS

更多资讯

📰

深耕智能汽车安全合规|MUNIK秒尼科亮相AutoSec2026第十届中国汽车网络安全周,斩获行业殊荣

近日,AutoSec 2026第十届中国汽车网络安全周(谈思汽车)在上海顺利举办。本次大会汇聚整车企业、零部件供应商、芯片厂商以及第三方技术服务机构,围绕功能安全、网络安全、数据合规、AI智能安全、欧盟EUCC法规等热点议题展开深度研…

📰

2026免费低代码平台TOP5,中小企业数字化工具盘点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

GT New Horizons 玩家社区:4 步从卡关到选服、参与开发

GT New Horizons 玩家社区:4 步从卡关到选服、参与开发 【免费下载链接】GT-New-Horizons-Modpack A big progressive questing modpack for Minecraft 1.7.10 balanced around the mod GregTech. 项目地址: https://gitcode.com/GitHub_Trending/gt/GT-New-Horiz…

📰

添添呼融合通讯系统三级级联架构解析:水晶光电台州、临海、越南三地协同调度技术实践

摘要:本文从技术架构角度,解析添添呼融合通讯系统在光电制造企业多园区场景下的工程实现。以水晶光电台州总部、临海厂区、越南厂区为案例,阐述基于SIP协议的三级级联组网、断网自治、IP广播融合、可视化调度等关键技术。该系统由成都添闰通讯…

📰

大模型调用 invoke 返回值,content 和 text 的区别,很多人搞混!

前言写 RAG、大模型问答项目的时候,我们都会调用llm.invoke()拿到模型返回结果。 很多新手直接复制网上代码,一会写res.content,一会写res.text,跑起来好像都能拿到文字,以为这两个是等价的,随便写哪个都行…

📰

OpenCore Legacy Patcher 3.0.0 上手指南:老 Intel Mac 安装最新 macOS 全流程

OpenCore Legacy Patcher 3.0.0 上手指南:老 Intel Mac 安装最新 macOS 全流程 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy P…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬