拆卸模組
要反彙編 Python 模組,首先必須將其轉換為 .pyc
檔案(Python 編譯)。為此,請執行
python -m compileall <file>.py
然後在翻譯中,執行
import dis
import marshal
with open("<file>.pyc", "rb") as code_f:
code_f.read(8) # Magic number and modification time
code = marshal.load(code_f) # Returns a code object which can be disassembled
dis.dis(code) # Output the disassembly
這將編譯一個 Python 模組並輸出 dis
的位元組碼指令。永遠不會匯入該模組,因此可以安全地使用不受信任的程式碼。