Releases: rocky/python-xdis
Releases · rocky/python-xdis
BSides NYC 2025 - take 2
BSides NYC 2025
- Include Python versions 3.9.24, 3.10.19, 3.11.14, and 3.12.12
- Better code type and marshalling routines for 3.11+
- Adjust formatting for
MAKE_FUNCTIONfor 3.6 & 3.11. Python 3.11 MAKE_FUNCTION is different from 3.6. - Fix O(n^2) performance issue with Python 3.11+ exception. Patch submitted by ril3y.
- Don't allow installing the wrong wheel or tarball for the Python interpreter installed.
- Add more magics like Rust and 3.15. Python 3.14 is out, so that's another magic number too.
- Minimal support for RustPython bytecode.
- Improve 3.13 assembly printing
- Handle pyston and unknown bytecodes better
- More type annotations via pyrefly
6.1.6
6.1.5
- Start extended formatting for stack maipulation opcodes: SWAP, COPY, DUP_TUP, ROT_XXX
- Add magics: RustPython 3.12 & 3.13, Graal 3.11.7, PyPy 3.11.3
- Note that Python versions 3.9.21-3.9.24, 3.10,18, 3.11.13, 3.12.11, 3.13.4-5 now exist
- Add PyPy 3.9 and 3.10 bytecode for regular testing
- Fix #163: extended formatting for %=
In memory of those that have fought for democracy
- Add another cross-python testing mechanism courtesy of Elliot Tarbet 2elli
- Update Python magics for 3.10.7, 3.11,12, 3.12.9, 3.12.10, 3.13.2, 3.13.3
Beethoven+3
- Support for Python 3.13 added courtesy of Elliot Tarbet 2elli
- Add get_logical_instruction_at_offset() This disassembles a single instruction at a given offset
- Update Python magics for 3.13.1, 3.10.16, pypy3.6.12, 3.12.8
Nathanman
6.1.1
BlackHat Asia 2024 -- Ides of March
Lots of changes major changes. API has changed.
We now support many disassembly options:
- classic: disasm-like output
- bytes: disasm-like output with bytecode
- extended: simple interpretation of previous sequence of instructions
- extended-bytes: same as above, but with "bytes" bytecode ouptut
- header: show header/metadata information only
This is reflected in the --format (-F) options on pydisasm.
Option --show-source (-S) gives add the source text line (or part of it) before assembly instructions that implement the line.
Released Python magic numbers have been updated as of this release (up to Python 3.12.2, including PyPy magic numbers.
Some support for the GraalVM
implementation of Python started.
Many bugs fixed.
A lot of Linting and coding style modernization.
typing.NameTuple used for Python versions that support this.
Additional fields "start_offset" and "tos_str" added to instruction.
Elliot Tarbet (2elli) largely provided support for Python 3.11 and 3.12 bytecode
Season Update
- Detect versions pypy3.8.15, pypy-3.9.15
- Dectect Python 3.{7,8,9}.14 3.10.{5,6,7}
- correct 3.10+ pydisasm -F xasm label
- Revise marshal error handling (Issue #97)
- Improve PyPy 3.7
CALL_FUNCTIONarg interpretation - Fix 1.5-2.x bugs in line number encoding
- Fix showing
MAKE_FUNCTIONoperand - Miscellaneous lint, black, and isort changes