💡
原文中文,约6900字,阅读约需17分钟。
📝
内容提要
在Windows下,使用PyInstaller Extractor解包PyInstaller打包的exe文件,得到main.pyc文件。修复Magic Number后,利用uncompyle6将其逆向为源代码,确保不丢失重要信息。
🎯
关键要点
- 在Windows下使用PyInstaller Extractor解包PyInstaller打包的exe文件。
- 解包后得到main.pyc文件,可能需要手动添加.pyc后缀。
- 修复Magic Number以确保与Python版本匹配,填充时间戳信息为0。
- 通过查找python37.dll文件确定使用的Python版本为3.7,Magic Number为3394。
- 使用HxD工具检查main.pyc文件,确保信息完整。
- 使用uncompyle6将main.pyc逆向为源代码,确保不丢失重要信息。
- 如果项目有多个python文件,通常在PYZ-00.pyz_extracted文件夹下,需按相同方式逆向。
❓
延伸问答
如何在Windows下解包PyInstaller打包的exe文件?
可以使用PyInstaller Extractor,通过命令行执行python pyinstxtractor.py main.exe来解包,得到main.exe_extracted文件夹。
解包后如何处理main.pyc文件?
需要检查main.pyc文件的Magic Number,并可能需要手动添加.pyc后缀以确保文件格式正确。
如何修复main.pyc文件的Magic Number?
通过查找与Python版本对应的Magic Number,使用HxD工具打开main.pyc文件,确保第一行是正确的Magic Number。
如何使用uncompyle6将pyc文件逆向为源代码?
在命令行中进入main.pyc文件所在目录,执行pip install uncompyle6,然后运行uncompyle6 -o main.py main.pyc。
如果项目有多个python文件,应该如何处理?
通常这些文件会在PYZ-00.pyz_extracted文件夹下,需按相同方式逐个逆向处理对应的.pyc文件。
在逆向过程中需要注意哪些信息?
确保不丢失重要信息,特别是Magic Number和时间戳信息,时间戳可以填充为0。
🏷️
标签
➡️