mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2024-11-24 05:30:15 +00:00
243 lines
7.0 KiB
Plaintext
243 lines
7.0 KiB
Plaintext
uncompyle6 2.9.2 2016-10-15
|
|
|
|
- use source-code line breaks to assist in where to break
|
|
in tuples and maps
|
|
- Fix Python 1.5 decompyle bugs
|
|
- Fix some Python 2.6 and below bugs
|
|
- DRY fragments.py code a little
|
|
|
|
uncompyle6 2.9.1 2016-10-09
|
|
|
|
- Improved Python 1.5 decompiling
|
|
- Handle old-style pre Python 2.2 classes
|
|
|
|
uncompyle6 2.9.0 2016-10-09
|
|
|
|
- Use xdis 3.0.0 protocol load_module.
|
|
this Forces change in requirements.txt and _pkg_info_.py
|
|
- Start Python 1.5 decompiling; another round of work is needed to
|
|
remove bugs
|
|
- Simpify python 2.1 grammar
|
|
- Fix bug with -t ... Wasn't showing source text when -t option was given
|
|
- Fix 2.1-2.6 bug in list comprehension
|
|
|
|
uncompyle6 2.8.4 2016-10-08
|
|
|
|
- Python 3 disassembly bug fixes
|
|
- Python 3.6 fstring bug fixes (from moagstar)
|
|
- Python 2.1 disassembly
|
|
- COME_FROM suffixes added in Python3
|
|
- use .py extension in verification disassembly
|
|
|
|
uncompyle6 2.8.3 2016-09-11 live from NYC!
|
|
|
|
NOTE: this is possibly the last release before a major reworking of
|
|
control-flow structure detection is done.
|
|
|
|
- Lots of bug fixes in decompilation:
|
|
* 3.0 .. 3.4 whileTrue bug
|
|
* 3.x function declaration deparsing:
|
|
. 3.0 .. 3.2 *args processing
|
|
. 3.0 .. 3.2 call name and kwargs bug
|
|
. 3.0 .. getting parameter of *
|
|
. 3.0 .. handling varible number of args
|
|
. 3.0 .. "if" structure bugs
|
|
* 3.5+ if/else bugs
|
|
* 2.2-2.6 bugs
|
|
. try/except control flow
|
|
. a == b == c -like detection
|
|
. generator detection
|
|
. "while .. and" statement bugs
|
|
. handle "except <cond>, <var>"
|
|
. use older raise format in 2.x
|
|
- scanner "disassemble" is now "ingest". True disassembly is done by xdis
|
|
- Start accepting Python 3.1 bytecode
|
|
- Add --weak-verify option on test_pyenvlib and test_pythonlib. This
|
|
catches more bugs more easily
|
|
- bump xdis requirement so we can deparse dropbox 2.5 code
|
|
- Added H. Goebel's changes before 2.4 in DECOMPYLE-2.4-CHANGELOG.txt
|
|
|
|
uncompyle6 2.8.2 2016-08-29
|
|
|
|
- Handle Python 3.6 format string conversions !r, !s, !a
|
|
- Start to handle 3.1 bytecode
|
|
- Fix some PyPy translation bugs
|
|
- We now only handle 3.6.0a3+ since that is incompatible with 3.6 before that
|
|
|
|
uncompyle6 2.8.1 2016-08-20
|
|
|
|
- Add Python 2.2 decompilation
|
|
|
|
- Fix bugs
|
|
* PyPy LOOKUP_METHOD bug
|
|
* Python 3.6 FORMAT_VALUE handles expressions now
|
|
|
|
uncompyle6 2.8.0 2016-08-03
|
|
|
|
- Start Python 3.6 support (moagstar)
|
|
more work on PEP 498 needed
|
|
- tidy bytecode/word output
|
|
- numerous decompiling bugs fixed
|
|
- grammar testing started
|
|
- show magic number in deparsed output
|
|
- better grammar and semantic action segregation based
|
|
on python bytecode version
|
|
|
|
uncompyle6 2.7.1 2016-07-26
|
|
|
|
- PyPy bytecodes for 2.7 and 3.2 added
|
|
- Instruction formatting improved slightly
|
|
- 2.7 bytecode "continue" bug fixed
|
|
|
|
uncompyle6 2.7.0 2016-07-15
|
|
|
|
- Many Syntax and verifification bugs removed
|
|
tested on standard libraries from 2.3.7 to 3.5.1
|
|
and they all decompile and verify fine.
|
|
I'm sure there are more bugs though.
|
|
|
|
uncompyle6 2.6.2 2016-07-11 Manhattenhenge
|
|
|
|
- Extend bytecodes back to 2.3
|
|
- Fix bugs:
|
|
* 3.x and 2.7 set comprehensions,
|
|
* while1 loops
|
|
* continue statements
|
|
- DRY and segregate grammar more
|
|
|
|
uncompyle6 2.6.1 2016-07-08
|
|
|
|
- Go over Python 2.5 bytecode deparsing
|
|
all library programs now deparse
|
|
- Fix a couple bugs in 2.6 deparsing
|
|
|
|
uncompyle6 2.6.0 2016-07-07
|
|
|
|
- Improve Python 2.6 bytecode deparsing:
|
|
stdlib now will deparse something
|
|
- Better <2.6 vs. 2.7 grammar separation
|
|
- Fix some 2.7 deparsing bugs
|
|
- Fix bug in installing uncompyle6 script
|
|
- Doc improvments
|
|
|
|
uncompyle6 2.5.0 2016-06-22 Summer Solstace
|
|
|
|
- Much better Python 3.2-3.5 coverage.
|
|
3.4.6 is probably the best;3.2 and 3.5 are weaker
|
|
- Better AST printing with -t
|
|
- Better error reporting
|
|
- Better fragment offset tracking
|
|
- Some (much-needed) code refactoring
|
|
|
|
uncompyle6 2.4.0 2016-05-18 (in memory of Lewis Bernstein)
|
|
|
|
- Many Python 3 bugs fixed:
|
|
* Python 3.2 to 3.5 libaries largely
|
|
uncompyle and most verify
|
|
- pydisassembler:
|
|
* disassembles all code objects in a file
|
|
* can select showing bytecode before
|
|
or after uncompyle mangling, option -U
|
|
- DRY scanner code (but more is desired)
|
|
- Some code cleanup (but more is desired)
|
|
- Misc Bugs fixed:
|
|
* handle complex number unmarshaling
|
|
* Running on Python 2 to works on Python 3.5 bytecodes now
|
|
|
|
uncompyle6 2.3.5 and 2.3.6 2016-05-14
|
|
|
|
- Python 2 class decorator fix (thanks to Tey)
|
|
- Fix fragment parsing bugs
|
|
- Fix some Python 3 parsing bugs:
|
|
* Handling single in * parameter
|
|
* "while True"
|
|
* escape from for inside if
|
|
* yield expressions
|
|
- Correct history based on info from Dan Pascu
|
|
- Fix up pip packaging, ugh.
|
|
|
|
uncompyle6 2.3.4 2016-05-5
|
|
|
|
- More Python 3.5 parsing bugs addressed
|
|
- decompiling Python 3.5 from other Python versions works
|
|
- test from Python 3.2
|
|
- remove "__module__ = __name__" in 3.0 <= Python 3.2
|
|
|
|
uncompyle6 2.3.3 2016-05-3
|
|
|
|
- Fix bug in running uncompyle6 script on Python 3
|
|
- Speed up performance on deparsing long lists by grouping in chunks of 32 and 256 items
|
|
- DRY Python expressions between Python 2 and 3
|
|
|
|
uncompyle6 2.3.2 2016-05-1
|
|
|
|
- Add --version option standalone scripts
|
|
- Correct License information in package
|
|
- expose fns uncompyle_file, load_file, and load_module
|
|
- Start to DRY Python2 and Python3 grammars Separate out 3.2, and 3.5+
|
|
specific grammar code
|
|
- Fix bug in 3.5+ constant map parsing
|
|
|
|
uncompyle6 2.3.0, 2.3.1 2016-04-30
|
|
|
|
- Require spark_parser >= 1.1.0
|
|
|
|
uncompyle6 2.2.0 2016-04-30
|
|
|
|
- Spark is no longer here but pulled separate package spark_parse
|
|
- Python 3 parsing fixes
|
|
- More tests
|
|
|
|
uncompyle6 2.2.0 2016-04-02
|
|
|
|
- Support single-mode (in addtion to exec-mode) compilation
|
|
- Start to DRY Python 2 and Python 3 grammars
|
|
- Fix bug in if else ternary construct
|
|
- Fix bug in uncomplye6 -d and -r options (via lelicopter)
|
|
|
|
|
|
uncompyle6 2.1.3 2016-01-02
|
|
|
|
- Limited support for decompiling Python 3.5
|
|
- Improve Python 3 class deparsing
|
|
- Handle MAKE_CLOSURE opcode
|
|
- Start to DRY opcode code.
|
|
- increase test coverage
|
|
- fix misc small bugs and some improvements
|
|
|
|
uncompyle6 2.1.2 2015-12-31
|
|
|
|
- Fix cross-version Marshal loading
|
|
- Handle Python 3.3 . dotted class names
|
|
- Limited 3.5 support: allows deparsing other versions
|
|
- Refactor code more, misc bug fixes
|
|
|
|
uncompyle6 2.1.1 2015-12-27
|
|
|
|
- packaging issues
|
|
|
|
uncompyle6 2.1.0 2015-12-27
|
|
|
|
- Python 3.x deparsing much more solid
|
|
- Better cross-version deparsing
|
|
|
|
Some bugs squashed while other run rampant. Some code cleanup while
|
|
much more is yet needed. More tests added, but many more are needed.
|
|
|
|
|
|
uncompyle6 2.0.0 2015-12-11
|
|
|
|
Changes from uncompyle2
|
|
|
|
- Can give code fragments given an instruction offset. See
|
|
https://github.com/rocky/python-uncompyle6/wiki/Deparsing-technology-and-its-use-in-exact-location-reporting
|
|
- Runs under Python3. Decompiles Python 2.5-2.7 and some Python 3.2-3.4
|
|
- Allows for multiple Python grammars, specifically Python2 vs Python 3
|
|
- Add a cross-version Python disassembler command-line utility
|
|
- Add some py.test and start reorganizing tests
|
|
|
|
SPARK:
|
|
add option to show grammar rules applied
|
|
allow Python-style # comments in grammar
|
|
Runs on Python 3 and Python 2
|