CTF中常见的四种python逆向

💡 原文中文,约18400字,阅读约需44分钟。
📝

内容提要

pyc文件是由py文件编译生成的二进制文件,用于提高加载速度。pyc文件可以反编译为py文件。打包成exe的pyc文件可以使用pyinstxtractor.py工具解包。加了花指令的pyc文件可以通过修改字节码和co_code长度来去除花指令。

🎯

关键要点

  • pyc文件是由py文件编译生成的二进制文件,用于提高加载速度。

  • pyc文件可以反编译为py文件,且不同版本的pyc文件不可互通。

  • 打包成exe的pyc文件可以使用pyinstxtractor.py工具解包。

  • pyc文件可以通过uncompyle6工具进行反编译,需注意版本兼容性。

  • pyc文件的字节码与Python版本相关,反编译时需读取正确的魔术字。

  • 加了花指令的pyc文件可以通过修改字节码和co_code长度来去除花指令。

  • 通过分析字节码,可以提取出加密算法和密钥。

  • 使用z3库可以解方程,推导出输入字符串的值。

  • 反编译pyc文件时需注意文件头信息的完整性,必要时需手动修复。

➡️

继续阅读