zrax / pycdc

C++ python bytecode disassembler and decompiler
GNU General Public License v3.0
3.38k stars 645 forks source link

Python 3.13 initial support #497

Closed greenozon closed 3 months ago

greenozon commented 4 months ago

This is an early Python 3.13 initial support I've been playing around starting from alpha builds, there were lots of changes each alpha version, but starting from beta versions the python-guys announced a promise:

3.13.0 beta 1: Wednesday, 2024-05-08 (No new features beyond this point.)

it's from here: https://peps.python.org/pep-0719/

each beta versions (beta 1/2/3) did not change any opcodes (no new added, no old removed, etc) which is good

thus, I've collected new opcodes and added support for early 3.13 to be honest, the range of new opcodes is very impressive :)

pycdas: able to print opcodes disassembly as usually pycdc: need to gradually add support for new opcodes (and align changed logic for existing ones,.

PS maybe there will be a need to update MAGIC_3_13 value (but it did not change between b2 -> b3)

greenozon commented 3 months ago

@zrax thanks for review!