ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

喵喵喵

2022-08-04 22:35:02  阅读:187  来源: 互联网

标签: 10 ciphertext flag 112 93 97


喵喵喵

用stegsolve打开下载下来的图片,发现在red plane 0,green plane 0,blue plane 0处都有一些东西

image-20220804215917912

打开data extract模式提取信息

image-20220804220026763

直接打开发现打不开,用010打开

image-20220804220118507

发现前面多了一些字符,删除就可以看到半张二维码

image-20220804220153778

接下去应该就是修改高度

image-20220804220239578

这时候就变成了一张完整的二维码,但是发现用 QR research直接打不开,我是再用截屏软件snipaste截了一下保存就可以扫描了

image-20220804220508987

扫出来一个网站,网站下载下来的文件里并没有flag

image-20220804220603506

查了一下wp才知道这里有ntfs文件隐写

这里一定先用winrar解压,其他解压软件好像不行

解压出来以后用NtfsStreamsEditor扫描,扫描出一个pyc文件

image-20220804220924169

然后再点击下面的导出按钮进行导出

就是这样一个pyc文件

image-20220804221105188

接下来就是反编译这个文件,这里在我之前的博客有写怎么进行反编译

uncompyle6 -o aaa.py test.pyc

image-20220804221320852

在命令行用这样的命令就可以,具体细节看下面的博客

https://www.cnblogs.com/Jinx8823/p/16251536.html

# uncompyle6 version 3.8.0
# Python bytecode 2.7 (62211)
# Decompiled from: Python 3.10.1 (tags/v3.10.1:2cd268a, Dec  6 2021, 19:10:37) [MSC v.1929 64 bit (AMD64)]
# Embedded file name: flag.py
# Compiled at: 2017-12-05 23:42:15
import base64

def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))

    return ciphertext[::-1]


ciphertext = [
 '96', '65', '93', '123', '91', '97', '22', '93', '70', '102', '94', '132', '46', '112', '64', '97', '88', '80', '82', '137', '90', '109', '99', '112']

是这样的代码,我们写个脚本给它反推回去就可以

ciphertext = ['96', '65', '93', '123', '91', '97', '22', '93', '70', '102', '94', '132', '46', '112', '64', '97', '88',
              '80', '82', '137', '90', '109', '99', '112']
ciphertext = ciphertext[::-1]
flag = ''
for i in range(len(ciphertext)):
      if (i % 2 == 0):
            a = int(ciphertext[i]) - 10
      else:
            a = int(ciphertext[i]) + 10
      a = i ^ a
      flag = flag + chr(a)
print(flag)

image-20220804221533576

这里的a[::-1]的意思就是从最后一个元素往前读

a=[1,2,3,4,5,6]
b=a[::-1]
print(b)

结果就是下面这样

image-20220804221739738

标签:,10,ciphertext,flag,112,93,97
来源: https://www.cnblogs.com/Jinx8823/p/16552526.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有