pyc
Python 读取脚本的过程:
- 读文件,scanner 切分 token
- parser 解析 token,建立抽象语法树(AST)
- compiler 编译 ast,得到 python 字节码
- code evaluator 执行字节码
手动编译#
tool.py
def calc(a, b):
return a * b + a / b
python3 -m py_compile tool.py
或
import py_compile
py_compile.compile("./tool.py")
反编译#
pycdc#
pycdc-gitAUR
- pycdc 反编译 pyc
- pycdas 反汇编 pyc,pycdc 有时候函数无法反编译,可以反汇编看,用 pycdas 比直接打印出来好看一些。
参考: