Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: rocky/python-uncompyle6

BSides NYC 2025

Choose a tag to compare

@rocky rocky released this 29 Sep 11:22
  • Python 3.9+ tolerance and modern Python packaging, sigh.
  • Don't update global tables, copy them instead; Use a single TABLE copy (gdesmar)
  • Correct print_docstring()'s `docstring.find(quote)
  • short options -h and -v now do the right thing (sometimes).

3.9.2

Choose a tag to compare

@rocky rocky released this 21 Jul 23:13
  • track xdis API changes
  • Bug fixes and lint

BlackHat Asia 2024 Ides of March

Choose a tag to compare

@rocky rocky released this 16 Mar 07:56

Lots of changes major changes. track xdis API has changes.

Separate Phases more clearly:

  • disassembly
  • tokenization
  • parsing
  • abstracting to AST (more is done in newer projects)
  • printing

Although we do not decompile bytecode greater than 3.8, code supports running from up to 3.12.

Many bugs fixed.

A lot of Linting and coding style modernization.

Work done in preparation for Blackhat Asia 2024

Season Update

Choose a tag to compare

@rocky rocky released this 23 Dec 05:06
  • deparse generator expressions for Python 3.0 .. 3.2
  • Python 3.0 list comprehension.
  • Fix Issues #310, #344, #377, #391, #409, #414
  • Limited support for 3.8+ f-string "=" specifier
  • Correct 2.5-7 relative import formatting
  • Miscellaneous bug fixing
  • remove \n in lambda
  • Python 2.6 gramar cleanup
  • Correct some Python 2.6 chain compare decompilation
  • Ensure no parenthesis subscript slices
  • Correct 2.x formatting "slice2" nonterminal
  • Correct 3.7 imports
  • Improve "async for" parsing
  • Handle BUILD_MAP opcode
  • match Python AT better
  • Correct 3.7 positional args
  • PyPy 3.7 and PyPy 3.8 support
  • Miscellaneous linting, isorting, blacking

Jed + Rocky average

Choose a tag to compare

@rocky rocky released this 30 Oct 02:43
  • Better handling of invalid bytecode magic
  • Support running from 3.9 and 3.10 although we do not support those bytecodes
  • Redo version comparisons using tuples instead of floats. This is needed for Python 3.10
  • Split out into 3 branches so that the master branch can assume Python 3.6+ conventions, especially type annotations
  • Source Fragment fixes
  • Lambda-bug fixes #360
  • Bug fixes

3.7.4

Choose a tag to compare

@rocky rocky released this 05 Sep 10:12
  • Fragment parsing was borked. This means deparsing in trepan2/trepan3k was broken
  • 3.7+: narrow precedence for call tatement
  • del_stmt -> delete to better match Python AST
  • 3.8+ Add another forelsestmt (found only in a loop)
  • 3.8+ Add precedence on walrus operator
  • More files blackened
  • bump min xdis version

3.7.3

Choose a tag to compare

@rocky rocky released this 25 Jul 19:39

Mostly small miscellaneous bug fixes

  • __doc__ = DocDescr() from test_descr.py was getting confused as a docstring.
  • detect 2.7 exchandler range better
  • Add for .. else reduction checks on 2.6 and before
  • Add reduce check for 2.7 augmented assign
  • Add VERSION in a pydoc-friendly way

3.7.2

Choose a tag to compare

@rocky rocky released this 28 Jun 03:20
  • Use newer xdis
  • Docstrings (again) which were broken again on earlier Python
  • Fix 2.6 and 2.7 decompilation bug in handling "list if" comprehensions

Fleetwood66

Choose a tag to compare

@rocky rocky released this 13 Jun 01:28

Released to pick up new xdis version which has fixes to read bytestings better on 3.x

  • Handle 3.7+ "else" branch removal adAs seen in _cmp() of python3.8/distutils/version.py with optimization -O2
  • 3.6+ "with" and "with .. as" grammar improvements
  • ast-check for "for" loop was missing some grammar rules

Primidi 1st Prairial - Alfalfa - HF

Choose a tag to compare

@rocky rocky released this 19 May 05:31

The main impetus for this release is to pull in the recent changes from xdis.
We simplify imports using xdis 4.6.0.

There were some bugfixes to Python 3.4-3.8. See the ChangeLog for details

Morty Proxy This is a proxified and sanitized view of the page, visit original site.