CTF密码学(crypto)题目easychallenge解题过程总结

Easychallenge

难度系数: ☆
题目来源:NJUPT_CTF
题目描述:你们走到了一个冷冷清清的谜题前面,小鱼看着题目给的信息束手无策,丈二和尚摸不着头脑 ,你嘿嘿一笑,拿出来了你随身带着的笔记本电脑,噼里啪啦的敲起来了键盘,清晰的函数逻辑和流程出现在了电脑屏幕上,你敲敲键盘,更改了几处地方,运行以后答案变出现在了电脑屏幕上。
————————————————————————
附件下载下来发现是一个.pyc文件
在这里插入图片描述
百度得到信息:

pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,运行加载的速度会有所提高;另一反面,把py文件编译为pyc文件,从而可以实现部分的源码隐藏,保证了python做商业化软件时的安全性

花了一段时间想要用些软件打开它,未果
然后在百度找软件的过程中,发现可以将pyc文件反编译回py文件
于是继续百度,了解到可以用uncompyle6这个第三方python反编译器来进行反编译

uncompyle6是一个原生python的跨版本反编译器和fragment反编译器,是decompyle、uncompyle、uncompyle2等的接替者。
uncompyle6可将python字节码转换回等效的python源代码,它接受python 1.3版到3.8版的字节码,这其中跨越了24年的python版本,此外还包括Dropbox的Python 2.5字节码和一些PyPy字节码。
github项目:https://github.com/rocky/python-uncompyle6

然后pip install uncompyle6安装之
先把附件重命名为mima.pyc以便后续操作
在这里插入图片描述
在mima.pyc所在文件夹位置打开cmder,输入命令:

uncompyle6 -o . mima.pyc

成功反编译为mima.py文件
在这里插入图片描述
在这里插入图片描述

用vscode打开mima.py,完整的python源代码便玉体横陈在我们面前了

# uncompyle6 version 3.5.0
# Python bytecode 2.7 (62211)
# Decompiled from: Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
# Embedded file name: ans.py
# Compiled at: 2018-08-09 11:29:44
import base64

def encode1(ans)
  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值