Commit graph

15 commits

Author SHA1 Message Date
adam
389985de58 py-uncompyle6: updated to 3.5.1
3.5.1:
Pypy 3.3, 3.5, 3.6, and 3.6.9 support
Improve 3.0 decompilation
- no parse errors on stlib bytecode. However accurate translation in
- control-flow and and/or detection needs work
Remove extraneous iter() in "for" of list comprehension
"for" block without a POP_BLOCK and confusing JUMP_BACK for CONTINUE.
Fix unmarshal incompletness detected in Pypy 3.6
Miscellaneous bugs fixed
2019-11-20 09:30:21 +00:00
adam
3f9b93d19b py-uncompyle6: updated to 3.5.0
3.5.0:
Fix fragment bugs
- missing RETURN_LAST introduced when adding transformation layer
- more parent entries on tokens
Preliminary support for decompiling Python 1.0, 1.1. 1.2 and 1.6
- Newer xdis version needed
2019-10-15 17:01:48 +00:00
adam
88f46842e7 py-uncompyle6: updated to 3.4.1
3.4.1:
Correct assert{,2} transforms
Fragment parsing fixes:
- Wasn't handling 3-arg %p
- fielding error in code_deparse()
Use newer xdis to better track Python 3.8.0
2019-10-07 05:43:16 +00:00
adam
c3aa699f5b py-uncompyle6: updated to 3.4.0
3.4.0:
The main change is to add a tree-transformation phase. This simplifies the
code a little and allows us to turn if ...: raise AssertionError into
assert, and many if ..: else if ... into if ... elif ..

Use options --show=before and --show=after to see the before the tree transformation phase and after the tree transformation phase.
2019-08-26 06:55:16 +00:00
adam
f819dfd557 py-uncompyle6: updated to 3.3.5
3.3.5:
Handle annotation args in Python 3.x
Fix vararg and function signatures in 3.x
Some 3.x < 3.6 while (1)/if fixes — others remain
Start reinstating else if -> elif
LOAD_CONST -> LOAD_CODE where appropriate
option --weak-verify is now --syntax-verify
code cleanups, start using black to reformat text
2019-07-04 11:59:34 +00:00
adam
b8ab4b28e9 py-uncompyle6: updated to 3.3.4
3.3.4:
Major work was done by x0ret to correct function signatures and include annotation types
Handle Python 3.6 STORE_ANNOTATION
Friendlier assembly output
LOAD_CONST replaced by LOAD_STR where appropriate to simplify parsing and improve clarity
remove unneeded parenthesis in a generator expression when it is the single argument to the function
Bug in noting an async function
Handle unicode docstrings and fix docstring bugs
Add uncompyle6 command-line short option -T as an alternate for --tree+
Some grammar cleanup
2019-06-13 07:55:07 +00:00
adam
114dabe5e3 py-uncompyle6: updated to 3.3.3
3.3.3:
As before, decomplation bugs fixed. The focus has primarily been on Python 3.7. But with this release, releases will be put on hold,as a better control-flow detection is worked on . Tis has been needed for a while, and is long overdue. It will probably also take a while to get done as good as what we have now.

However this work will be done in a new project decompyle3. In contrast to uncompyle6 the code wil be written assuming a modern Python 3, e.g. 3.7. It is originally intended to decompile Python version 3.7 and greater.

A number of Python 3.7+ chained comparisons were fixed
Revise Python 3.6ish format string handling
Go over operator precedence, e.g. for AST IfExp
2019-05-20 07:47:05 +00:00
adam
0c4c92ac89 py-uncompyle6: updated to 3.3.2
release-python-3.3.2
As before, lots of decomplation bugs fixed. The focus has primarily
been on Python 3.6. We can now parse the entire 3.6.8 Python library
and verify that without an error. The same is true for 3.5.8. A number
of the bugs fixed though are not contained to these versions. In fact
some span back as far as 2.x

But as before, many more remain in the 3.7 and 3.8 range which will
get addressed in future releases

Pypy 3.6 support was started. Pypy 3.x detection fixed (via xdis)
2019-05-04 07:57:34 +00:00
adam
3d09e13c26 py-uncompyle6: updated to 3.3.1
release-3.3.1
Lots of decomplation bugs, especially in the 3.x series fixed. Don't worry though, many more remain.
* Add annotation return values in 3.6+
* Fix 3.6+ lambda parameter handling decompilation
* Fix 3.7+ chained comparision decompilation
* split out semantic-action customization into more separate files
* Add 3.8 try/else
* Fix 2.7 generator decompilation
* Fix some parser failures fixes in 3.4+ using test_pyenvlib
* Add more run tests
2019-04-24 15:06:41 +00:00
adam
b4e6b12769 py-uncompyle6: update DEPENDS 2019-04-17 12:18:50 +00:00
adam
d03c43844d py-uncompyle6: updated to 3.3.0
release-3.3.0
First cut at Python 3.8 (many bugs remain)
Reinstate -c | --compile (compile before disassembly) option
The usual smattering of bug and doc fixes
2019-04-17 12:17:31 +00:00
adam
f815acf935 py-uncompyle6: updated to 3.2.6
3.2.6:
Bug Fixes
* Python 3.x bytecode confusing "try/else" with "try" in a loop,
* Python 3 bug in not detecting end bounds of an "if" ... "elif",
* Comma placement in 3.6 and 3.7 **kwargs,
* Fix "if" return boundary in 3.6+,
* 2.7 can have two JUMP_BACKs at the end of a while loop

Pull Requests
* Better "assert" statement detemination in Python 2.7
* Python 3.7 testing
* Run more f-string tests on Python 3.7
* support utf-8 chars in Python 3 sourcecode
2019-03-26 20:58:49 +00:00
adam
28957522e5 py-uncompyle6: updated to 3.2.5
uncompyle6 3.2.5:
- 3.7.2 Remove deprecation warning on regexp string that isn't raw
- main.main() parameter codes is not used - note that
- Improve Python 3.6+ control flow detection
- More complete fragment instruction annotation for imports
2019-01-04 23:00:10 +00:00
adam
85e5b8035e py-uncompyle6: updated to 3.2.4
uncompyle6 3.2.4:
- Bug fixes
- Enhancements
- Internal improvements
2018-11-30 13:09:29 +00:00
adam
491728914f py-uncompyle6: added version 3.2.3
A native Python cross-version decompiler and fragment decompiler. The successor
to decompyle, uncompyle, and uncompyle2.

uncompyle6 translates Python bytecode back into equivalent Python source code.
It accepts bytecodes from Python version 1.3 to version 3.7, spanning over 22
years of Python releases. We include Dropbox's Python 2.5 bytecode and some
PyPy bytecode.
2018-09-20 13:48:55 +00:00