[广东省大学生攻防大赛 2022]pyre

下载附件拿到一个 exe 文件

使用 exeinfo 检测程序特征,识别为 PyInstaller 打包的 Python 可执行文件

使用 pyinstxtractor 对 附件给的exe 程序进行解包,提取出其中的 .pyc 字节码文件

复制代码
python pyinstxtractor.py pyre.exe

弄完操作后,就可以得到一个文件夹

打开后,发现了一个 1.pyc 直接就是一眼丁真,这就是我们的目标。

使用 uncompyle6 对 .pyc 字节码进行反编译,还原为 Python 源码:

复制代码
 uncompyle6 1.pyc > 1.py

搞定之后就能得到一个 1.py

打开进去可以看到加密算法

观察校验逻辑可知,每个字符满足:

ord(a[i]) * 33 % 179 == c[i]

由于输入字符范围有限(ASCII),可以通过枚举可打印字符进行反推。

python 复制代码
c = [144, 163, 158, 177, 121, 39, 58, 58, 91, 111, 25, 158, 72, 53, 152,
     78, 171, 12, 53, 105, 45, 12, 12, 53, 12, 171, 111, 91, 53,
     152, 105, 45, 152, 144, 39, 171, 45, 91, 78, 45, 158, 8]
mod = 179
flag_ord = []

for target in c:
    for ch in range(32,127):
        if (ch * 33) % mod == target:
            flag_ord.append(ch)
            break
print(flag_ord)

flag_str = ""

for i in range(len(flag_ord)):
    flag_str += chr(flag_ord[i])
print(flag_str)

运行后就能得到 flag

python 复制代码
flag{2889e7a3-0d6b-4cbb-b6e9-04c0f26c9dca}
相关推荐
C2H5OH12 小时前
PortSwigger SQL注入LAB7 & LAB8 & LAB9
网络安全
small_white_robot16 小时前
(Win)文件上传数据流绕过-面试常考
网络·安全·web安全·网络安全
宋浮檀s17 小时前
SQL注入基础+DVWA搭建
数据库·sql·安全·网络安全
祁白_17 小时前
[0xV01D]_Glass Parcel_writeUp
大数据·安全·ctf·writeup
汤愈韬20 小时前
hcip-security_防火墙高可靠技术4—双机热备结合NAT
网络·网络协议·网络安全·security
虚拟世界AI21 小时前
从零到黑客:渗透测试实战指南
网络安全·渗透测试
X7x521 小时前
堡垒机:企业运维安全的“数字守门人“
网络安全·网络攻击模型·安全威胁分析·堡垒机·安全架构
ze^021 小时前
Day03 Web应用&OSS存储&负载均衡&CDN加速&反向代理&WAF防护&部署影响
web安全·网络安全·架构·安全架构
HMS工业网络1 天前
如何解决使用TwinCAT时EtherCAT网络出现“Sync Manager Watchdog”报错
网络·网络协议·网络安全