栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【XCTF】GFSJ0010:适合作为桌面

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【XCTF】GFSJ0010:适合作为桌面

目标:

图片隐写

环境:

Windows 11 / Linux

工具:

ClearImage Demo / StegSolve

分析过程:

拿到这张图片我们直接使用StegSolve工具 进行处理。

StegSolve是一款解决图片隐写问题的神器,需要注意的是这个工具是个jar包 ,需要java环境才能运行,以Windows 11为例,我们使用javaw -jar xxx.jar 命令即可打开工具。

将图片导入后,调整到合适大小,然后点击下方的箭头,我们发现在Red Plane 1通道左上角出现了隐藏的二维码。

保存图片后,我们使用ClearImage工具进行QR扫描,然后菜单栏里点击相应的条码。

接着会出现以下页面,继续点击OK

然后我们就可以在弹出的页面中得到了一些十六进制的组合。

我们将这些十六进制组合复制到WinHex中,我们在右侧十六进制转ASCII码中发现了flag和1.py等关键字,考虑这是一个文件的二进制流,我们先将其保存。

然后我们打开Linux终端,对保存的文件使用file命令,可知该文件是python2下被编译的文件。

将文件名修改为noname.py并运行,发现运行后没有报错也没有显示任何东西。因此我们考虑是pyc文件 ,它是由Python文件经过编译后所生成的文件,它是一种字节码 byte code,因此我们直接查看就是乱码的,但是这种字节码是可以反编译的,因此我们将文件后缀修改为.pyc

然后使用Easy Python Decompiler对文件进行反编译。

我们会得到反编译文件,后缀为.pyc_dis,然后我们使用vim将其打开,发现是一个函数,但是没有调用,我们在最后加上flag()调用一下该函数即可运行。

我们使用python2运行后即可得到flag

总结:

这看起来虽然是一道简单的图片隐写题,但后续涉及到python的编译与反编译,需要一定编程基础。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1030706.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号