1. 得到压缩包解压后,我们得到了这样一张图片
通过在stegsolve中不断切换通道,可以得到一张二维码
扫码后,我们得到了16进制的一串数据,将他在010editor中打开,我们可以看到
在图片中出现了flag与py,所以该文件大概率是py文件,或者pyc文件;
pyc是编译py之后生成的二进制文件。当我们发布系统的时候不想让别人看到源代码,就需要将py文件编译生成pyc文件,对外只提供pyc文件。同样,如果拿到一个python程序,只有pyc文件,我们就无法看到源码,希望有办法反编译pyc文件以获得源码。
这里,为了再次确认,我再kali中用file命令检查,得到如下结果:
由此,可以判断该文件应该为pyc文件,我们把文件后缀改为pyc,然后再python反编译中打开,可以得到如下结果
def flag():
str = [
102,
108,
97,
103,
123,
51,
56,
97,
53,
55,
48,
51,
50,
48,
56,
53,
52,
52,
49,
101,
55,
125]
flag = ''
for i in str:
flag += chr(i)
print flag
但它并不能执行,原因是未调用flag函数,因此我们可以在最后加上flag();
这样我们执行就得到了flag;
总结:这题涉及了简单的图片隐写,以及python的编译与反编译。