You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Additionally, within the (unmarshaled) code object, the co_code attribute contains the raw Python bytecode. In regards to the bytecode itself, the official docs state that there is no guarantee "that bytecode will not be added, removed, or changed between versions of Python", which has historically meant a couple of changes every minor version from 1.1 to 3.8.
Essentially, if you want to support more than one version of the Python bytecode, you are looking at custom unmarshaling logic and bytecode changes for each minor Python release.
Somebody has been maintaining a python disassembling library that implements a cross-version marshal and opcode tables for each version, xdis, which might be a good reference for anybody who decides to implement this.
It would be great to add Python disassembler/decompiler to Ghidra.
The text was updated successfully, but these errors were encountered: