[NISACTF 2022]ezpython(PyInstaller封装程序反编译)

本文介绍了如何使用PyInstxtractor从PyInstaller生成的可执行文件中提取.pyc文件,并通过Uncompyle进行反编译。通过反编译得到的Python代码展示了加密与解密函数,以及一个解密挑战。读者可以通过输入特定密钥来获取隐藏的'flag'。

题目下载:ezpython

准备

*使用PyInstxtractor提取 .pyc 文件
使用PyInstaller Extractor 提取由PyiIstaller生成的可执行文件内容
使用Uncompyle进行反编译
软件版本:
Python 3.7.3
PyInstaller 3.6
PyInstxtractor 2.0
Uncompyle 3.6.4

使用PyInstxtractor提取 *.pyc 文件
工具准备:
PyInstaller Extractor 项目地址:https://github.com/extremecoders-re/pyinstxtractor
CSDN本地下载:https://download.csdn.net/download/ZH013/12284418

目录: D:\Python_Project\CFG\dist

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2020/3/24     15:37       45937021 ez_python.exe
-a----        2020/3/25     14:33          13194 pyinstxtractor.py

提取文件:

(base) PS D:\Python_Project\CFG\dist> python pyinstxtractor.py ez_python.exe

反编译

将提取的文件中出现的src.pyc文件放入在线反编译网站中进行反编译得到python源代码
推荐网站:https://tool.lu/pyc/

分析

得到如下代码

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 3.4

import rsa
import base64
key1 = rsa.PrivateKey.load_pkcs1(base64.b64decode('LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcVFJQkFBS0NBUUVBcVJUZ0xQU3BuT0ZDQnJvNHR1K1FBWXFhTjI2Uk42TzY1bjBjUURGRy9vQ1NJSU00ClNBeEVWaytiZHpSN2FucVNtZ1l5MEhRWGhDZTM2U2VGZTF0ejlrd0taL3UzRUpvYzVBSzR1NXZ4UW5QOWY1cTYKYVFsbVAvVjJJTXB5NFFRNlBjbUVoNEtkNm81ZWRJUlB2SHd6V0dWS09OQ3BpL0taQ082V0tWYkpXcWh3WGpEQgpsSDFNVURzZ1gyVUM4b3Bodnk5dXIyek9kTlBocElJZHdIc1o5b0ZaWWtaMUx5Q0lRRXRZRmlKam1GUzJFQ1RVCkNvcU9acnQxaU5jNXVhZnFvZlB4eHlPb2wwYVVoVGhiaHE4cEpXL3FPSFdYd0xJbXdtNk96YXFVeks4NEYyY3UKYWRiRE5zeVNvaElHaHYzd0lBVThNSlFnOEthd1Z3ZHBzRWhlSXdJREFRQUJBb0lCQURBazdwUStjbEZtWH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值