bugku 杂项 QAQ

  • 下载cipher.txt里面的内容为:
1
2
FSAnRAIzNlMjPQMjNyBJNTs6NlIFPFIqDDVTJy0zGE8rKxZBJDIrJkYoPUQML1M3MDYJZTElFyI7
UzE6DTtSNxckNDw2Mxk9Jzc=
  • 是一段base64,但是解码以后是乱码。

  • QAQ文件用十六进制查看器打开后发现了.py, main 之类的关键词,一看就是个pyc文件,拓展名改为pyc文件后进行反编译。

  • 用在线工具进行反编译的话, 提示有部分代码没有反编译成功, 并且在没有反编译成功的地方加了注释告诉我们这个位置有没有反编译成功的代码。

  • 转变方向,追求更高效的反编译方法。

  • 在网上得知了一款名为uncompyle6的工具。

  • 由此反编译得到了完整的py代码。
  • 针对这个文件写了一个解密脚本 decode.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def decrypt(key, plain):
    cipher = ''
    for i in range(len(plain)):
        cipher += chr(ord(key[(i % len(key))]) ^ ord(plain[i]))

    return cipher


def getPlainText():
    plain = ''
    with open('cipher.txt') as (f):
        while True:
            line = f.readline()
            if line:
                plain += line
            else:
                break

    return plain.decode('base_64')


def main():
    key = 'LordCasser'
    plain = getPlainText()
    cipher = decrypt(key, plain)
    with open('plain.txt', 'w') as (f):
        f.write(cipher)


if __name__ == '__main__':
    main()
  • 如果用编译器运行该脚本的话,需要把 open(‘cipher.txt’) 这种变成 open(‘绝对路径’)这种形式。
  • 如果不是编译器,需要保证.py脚本与脚本中用到的文件在同一路径。如图。

  • 运行脚本得到 plain.txt,内容为:
1
2
3
4
YOU ARE FOOLED
THIS IS NOT THAT YOU WANT
GO ON DUDE
CATCH THAT STEGOSAURUS
  • 根据提示, 百度搜了搜那个STEGOSAURUS…结果…

  • 剑龙…???

  • 应该不会是让我们去抓住那个剑龙…

  • 谷歌一番,找到了这个

  • 看不太懂, 翻译一波

  • 链接在这。

https://bitbucket.org/jherron/stegosaurus/src/default/

不行的话下载这个

链接:https://pan.baidu.com/s/1GyyCDWGP3qeEyau_evtPIQ 
提取码:x1mj 

  • 所以这个应该是一种工具。搞下来以后根据用法来用。

  • 欺负我Windows上只安了python2.7.15…..

  • 无奈打开kali,因为我kali安python3了…

  • 得到flag
1
flag{fin4lly_z3r0_d34d}
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值