180626 逆向-SUCTF(Python大法好)

本文介绍了在SUCTF比赛中遇到的一道逆向题,涉及Python pyc文件的解析和逆向。通过关键词搜索和理解pyc结构,成功还原源码。随后发现二进制程序使用RC4加密,采用多线程爆破得到密钥。
摘要由CSDN通过智能技术生成

时隔许久详细的复现一下~

这个题目也挺有意思的,刺激学了一遍pyc233

题目提供了一份opcode.txt、elf二进制程序a和一个密文cipher.txt

opcode打开来可以发现是pyc的解析

虽然有code,但是试着用python解析了一下发现有点复杂

读opcode是不可能的,这辈子都不可能的
本来读起来就麻烦,缺少符号信息就更恐怖了,更别说还有lambda和join等等骚方法了

思路转为根据一些关键词来搜索,试图找到该文件的生成方法和逆转换方法。毕竟只要能得到pyc就能通过uncompyle的工具还原出源码

搜了一下找到了几乎完全一样的脚本

然后拿一个正常的pyc打了一份解析出来,对照发现除了code的disassembly以外什么都不缺,这也就意味着根据上述信息是可以还原出pyc的

根据pyc的解析解析来反填写pyc

比赛的时候是手动搞的,懒得写脚本操作了,本来都不熟悉再出什么bug调起来更慢2333

pyc整体是4字节版本标识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值