ANN: decompyle 2.2 beta 1
Announcing: decompyle -- A Python byte-code decompiler version 2.2 beta 1 'decompyle' converts Python byte-code back into equivalent Python source. It accepts byte-code from any Python version starting with 1.5 up to 2.2. The generated source is very readable: docstrings, lists, tuples and hashes get pretty-printed. 'decompyle' may also verify the equivalence of the generated source by by compiling it and comparing both byte-codes. New Features ------------ Since Release 0.6.0: * Now decompyles byte-code from Python versions 1.5 up to 2.2 * Now requires Python 2.2 but is able to decompyle older byte-coe, too. Prior version of decompyle had to be run with the Python version which generated the byte-code. * pretty-prints docstrings, hashes, lists and tuples * decompyle is now a script and a package * Now adds an emacs mode-hint and tab-width to the output files * enhanced test suite: more test patterns, .pyc/.pyo included * avoids unnecessary 'global' statements * many internal changes and code overhouls Please refere to the file 'CHANGES' for a list of changes in this release. Where to get it? ---------------- The source archives and instructions for isntalling the package can be found at: http://www.goebel-consult.de/decompyle/ Simple Help Needed! ------------------- Please help testing 'decompyle'! The EXTENDED_ARG token is untested (this is a new token for Python 2.0 which is used only if many items exist within a code object). If you have byte-code which does or may include this token, please try to decompyle your application. It's easy: the script 'test_pythonlib' which is included in the source distribution does the job for you. Just read the simple instruction there. Requirements ------------ 'decompyle' requires Python 2.2 or later. Known Bugs/Restrictions ----------------------- * The EXTENDED_ARG token is untested (this is a new token for Python 2.0 which is used only if many items exist within a code object). * Byte-code generated by Python 2.2 differs byte-code generated by a prior version even for the same source. This is due the intruduction of iterators. Currently 'Decompyle' fails verifying the source if the byte-code was generated by an older version of Python. * Verifying decompyled source with optizimzed byte code (.pyo) when running without optimizations (option '-O' not given) fails in most cases. Same is true for vis-a-versa. This is due to the fact that Python generated different bytecode depending on option '-O'. +++hartmut -- | hartmut Goebel | hartmut@goebel.noris.de // | | Software Manufactur | \X/ |
participants (1)
-
Hartmut Goebel