总述
主要分为三种,python编译的可执行程序、pyc字节码、dis反编译的代码。
打法
手撸!
[原创]死磕python字节码-手工还原python源码-软件逆向-看雪-安全社区|安全招聘|kanxue.com
自动化工具
可执行程序
用到的工具有
pyinstxtractor.py → 可以将exe转字节码
转成字节码之后头部是有缺失的(头部版本magic等缺失
要把struct这个文件的头部丢过去(winhex等
转成字节码之后看pyc字节码的处理方法
爆强!将 exe 文件反编译成 Python 脚本! - 知乎 (zhihu.com)
pyc字节码
主要有两个低版本可看uncompyle6
高版本可看pycdc
pycdc处理效果好
dis反编译的代码
可以试试pycdc里面的pycdas
如果所有方法都不行可以问问AI
补充
1 | Python3.3 以下版本: 只有Magic Number和四位时间戳 |
1 | enum PycMagic { |