网站推广及seo方案,制作会员手机网站,小型网站建设实训教程,网页翻译扩展从题目中下载到图片#xff1a; 考虑图片是png#xff0c;隐写方式有可能是高宽修改#xff0c;也可能是色相隐藏#xff0c;色彩通道位隐藏等等
使用stegsolve对图片进行一下伽马、颜色转换
在图片的左上角就显示出了一个二维码 使用QR_Rresearch工具对二维码扫描 获得一…从题目中下载到图片 考虑图片是png隐写方式有可能是高宽修改也可能是色相隐藏色彩通道位隐藏等等
使用stegsolve对图片进行一下伽马、颜色转换
在图片的左上角就显示出了一个二维码 使用QR_Rresearch工具对二维码扫描 获得一长串字符
数字从1~0字母从A~F
考虑这些字符串应该是十六进制代码
在010editor中新建一个十六进制空白文件 按CtrlShiftC复制、CtrlShiftV粘贴(和普通cv有区别)
接下来分析右边显示的ASCII码 出现了flag、test.pyR、test.pyt、module等字样
考虑这原来应该是一个pyc文件py编译后的二进制文件
将此文件另存为test.pyc文件后将它反编译回py文件 拖到kali中使用 uncompyle6 进行反编译
执行以下代码
uncompyle6 -o out.py test.pyc 反编译成功
把生成的out.py文件拖到windows
使用python自带的IDLE进行代码解读
out.py文件内容
# uncompyle6 version 3.9.0
# Python bytecode version base 2.7 (62211)
# Decompiled from: Python 2.7.18 (default, Aug 1 2022, 06:23:55)
# [GCC 12.1.0]
# Embedded file name: test.py
# Compiled at: 2016-06-22 13:48:38def flag():str [65, 108, 112, 104, 97, 76, 97, 98]flag for i in str:flag chr(i)print flag
因为生成的py代码是伪代码并非原代码
对代码进行修改让它成为能运行的python程序
去掉上面的一些注释
str [65, 108, 112, 104, 97, 76, 97, 98]flag for i in str:flagchr(i)print(flag)
直接运行 就能拿到flag flagAlphaLab