839f4d458e
- Update to 6.0.3: * xasm format fixes * more Python version tuple compare conversions * add version_str_to_tuple() to convert the other way. This is useful in xasm, for example. * Reduce PYTHON_VERSION usage in xdis. * Allow optional delimiter and start length in version_tuple_to_str() * fix logic bug in setting MAGIC * Add a little Python 3.8.5 Graal (Java VM) knowledge. * Add PyPy 3.8 opcodes and disassembly * Accept Python 3.8.12 * Fix some small lingering bugs introduced converting Python version number floats to tuples * Reworked for Python 3.10. * Add 3.10 opcodes. * Add 3.9 and 3.10 testing. * Some tolerance for running from 3.11 * Update magic numbers * Expanding testing to include pyston and PyPy 3.7 * Added knowledge of Python versions 3.6.15 and 3.7.12. * Restrict wheel packaging for Python 3 only. * Use the wheel for only the 3.x and newer version of Python. * Add Python version 3.9.7 * Document unmarshal better * Correct stack information for IMPORT_NAME * Fix bug in code type handling where bytes were showing up as strings * More type annotations in master branch. Create more older variations without annotations * Add Python versions 3.9.6, 3.7.11, 3.8.11, and 3.6.14 * Note Python versions 3.8.10 and 3.9.5 * Incorrect variable name in marshal dump (used in writting .pyc files). PR #77 * Improve 3.9 IS_OP and CONTAINS_OP operand formatting * Correct disassembly of 3.9 bytecode from other bytecode
Steve Kowalik2022-02-04 00:31:04 +00:00
ea639d9989
- Update to 4.6.1: * A portable version of types.CodeType was rewritten. * Python 3.8-ish replace() method has been added to the portable code types * Portable code type classes Code13, Code15 have been added to more precisely distinguish Python 1.3 and 1.5 code types. The other portable code classes are Code2, Code3, and Code38. * the to_native() conversts a portable code type into a native code type * the decode_lineno_tab() method on portable code types from Python 1.5 on decompresses the Python encode line number table into a dictionary mapping offset to line number. * The module xdis.code has been remamed to xdis.codetype. * load_module() and load_module_from_file_object() now return a couple more parameters. * --asm option fixes * Show sip hash in 3.7+ when that is used * Handle PEP 552 bytecode-file variations more properly * Detect more intermediate Python versions in load_code_from_file_object() * 3.8+ posonlyargcount in assembly... rename Kw-only field to Keyword-only * Add 3.5 canonic bytecode version Marshal dumps() * convert from byte() to str() in dumps() when needed in 3.x * to_native() convert to bytes from string when needed in 3.x. * clean up loading code by using float version values rather than magic values * stack_effects() checked against Python 3.4+ is now in place. * Added stack_effects() function to std.py since this is part of the API * cross_xdis.py file/module now has dis.py functions split off from bytecod e.py * Instructions class is in its own module too. * Python 2.7.18 added into magics. * Fix bug in marshal for 3.8+ (include posonlyargcount) * Go over stack effects from 2.5 to 3.4 using and idea from Maynard * Expand stack-effect testing * 3.8.3 added as a valid 3.8 release * command program pydisasm disassembles more Python source files now * Add better arguemnt formatting on CALL_FUNCTION and MAKE_FUNCTIONSteve Kowalik2020-06-03 08:27:20 +00:00
2b05f3717f
- Update to 4.1.1: * Fix unmarshaling 3.4+ object_ref bugs. A big thanks to Armin Rigo of the PyPy team. * Add Pypy 3.6+ disassembly, e.g. pypy3.6-7.1.0 and pypy3.6-7.1.1 * Add Python 3.7.5, 2.7.16, 2.7.17rc1, and 2.7.15candidate1 as a valid releases * convert unmarshal if .. elif code to a dictionary lookup with function entries * Handle newer Python importlib - thanks to laike9m * Add early bytecodes: 1.0, 1.1, 1.2, and 1.6. Going off of pycdc bytecode since this is the only bytecode for these versions I know of * Fix bug in Python 3.x decompiling 2.x that contains strings with non-ascii characters * More generally, better handling of non-ascii Python 2 strings in both input and output in Python 3 * pypy 3.6-7.1.0 tolerance
Tomáš Chvátal
2019-10-30 12:42:40 +00:00
6daa827843
- Update to 4.0.3: * Support 3.8.0beta2; Code38 type with posonlyargcount field * Add Python versions 3.4.10, 3.7.4 and 3.6.9 * script no longer works to install pydisasm; entry_points still works * Add pypy 3.6 opcode formatting for MAKE_FUNCTION and EXTENDED_ARG * Add format_CALL_function and use it or pypy36 * Start using "blacken" to reformat Python files
Tomáš Chvátal
2019-08-19 08:46:27 +00:00