[广东省大学生攻防大赛 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}
相关推荐
大方子16 小时前
【PolarCTF】Unserialize_Escape
网络安全·polarctf
2401_8415851818 小时前
永久免费的一键加密网络验证使用教程 文心云验证
网络安全
数据知道19 小时前
网络安全实战:漏洞扫描器对比——Nessus、OpenVAS、Nuclei 实战评测
网络·安全·web安全·网络安全
Latticy19 小时前
vulnhub系列靶机-Matrix-Breakout2
web安全·网络安全·内网渗透·内网
Latticy20 小时前
vulnhub系列靶机-Raven2
web安全·网络安全·渗透测试·vulnhub靶机
Yan_chen66621 小时前
[GXYCTF2019] PingPingPing 命令注入实操笔记
ctf·ping ping ping
Fnetlink11 天前
FNET 云网安 260819
网络·人工智能·安全·网络安全
数据知道2 天前
网络安全实战:服务指纹识别——Banner、协议探测、版本漏洞关联
网络·安全·web安全·网络安全
网安蟹佬霸2 天前
CTF Web方向解题全攻略:从信息收集到getshell(附实战payload与脚本)
android·前端·网络·安全·web安全·网络安全·网安
网安蟹佬霸2 天前
Webshell免杀与检测实战:从一句话木马到加密流量
android·安全·web安全·网络安全·黑客·网安·渗透测试·