题目下载: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

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

139

被折叠的 条评论
为什么被折叠?



