愚人杯re easy_pycWP

这篇文章展示了如何将pyc文件转换回py文件的过程,涉及到一个简单的异或操作来解码字节码。代码首先将pyc文件的内容转化为ASCII字符,然后通过异或运算恢复原始数据,并使用特定的算法寻找对应的字符,最终重建可能的Python源码。
摘要由CSDN通过智能技术生成

首先把pyc文件变成py文件

cuncompyle6 xxx.pyc>xxx.py

在这里插入图片描述
是一个简单的异或操作,直接就能看出来的容易

code = ['\x16', '\x1d', '\x1e', '\x1a', '\x18', '\t', b'\xff', b'\xd0', ',', '\x03',
 '\x02', '\x14', '8', 'm', '\x01', 'C', 'D', b'\xbd', b'\xf7', '*', '\r',
 b'\xda', b'\xf9', '\x1c', '&', '5', "'", b'\xda', b'\xd4', b'\xd1', '\x0b',
 b'\xc7', b'\xc7', '\x1a', b'\x90', 'D', b'\xa1']
#bytes
for i in range(len(code)):
    code[i]=ord(code[i])
print(code)

lst=[]
for i in range(len(code)-3):
    code[len(code)-4-i]=code[len(code)-4-i]^code[len(code)-4-i+1]
print(code)
for i in range(len(code)):
    for j in range(33,127):
        if((((j+i)%114514+114514)%114514)==code[i]):
            lst.append(chr(j))
for i in range(len(lst)):
    print(lst[i],end='')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值