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文件时需注意文件头信息的完整性,必要时需手动修复。
➡️