python-decompile3
python-decompile3 copied to clipboard
Python decompiler for 3.7-3.8 Stripped down from uncompyle6 so we can refactor and start to fix up some long-standing problems
## Description ## How to Reproduce ## Output Given ## Expected behavior ## Environment ## Workarounds ## Priority ## Additional Context
## Description The following code will decompile incorrectly with pyhon 3.8 : ``` def toto(a, b, c): if c: if a and b: print('a and b') print('c, whatever a/b') return...
## Description Decompyle3 failed at decompiling some code, where uncompyle6 was successful. That's too bad because the generated code is of higher quality. ## How to Reproduce See attached sources:...
## Description Compile the following program to bytecode using `python -m compileall`, then run `decompyle3` on it: ``` foo('%{__import__("os").system("date")}', **x, y=1) ``` It will run the `date` command on the...
## Description Hi, thank you for this very cool tool. I wrote [pysource-codegen](https://github.com/15r10nk/pysource-codegen) to to test some of the software I wrote. I would recommend you to use it in...
## Description run the ```shell decompyle3 pvzrouge.pyc ``` TypeError: __new__() got an unexpected keyword argument 'positions' ## How to Reproduce ```shell decompyle3 pvzrouge.pyc ``` [PVZ-Rouge.zip](https://github.com/rocky/python-decompile3/files/14449873/PVZ-Rouge.zip) [pvzrouge.zip](https://github.com/rocky/python-decompile3/files/14449818/pvzrouge.zip) ## Output Given ```batchfile...
## Description I need the ability to obtain function source code at runtime for various introspection purposes. Since Python 3.9+, and Python3.11 even more, cannot be easily decompiled, I cheated....
whilestmt38 ::= \e__come_froms testexpr . c_stmts_opt COME_FROM JUMP_LOOP POP_BLOCK whilestmt38 ::= \e__come_froms testexpr . c_stmts_opt JUMP_LOOP POP_BLOCK whilestmt38 ::= \e__come_froms testexpr . c_stmts_opt JUMP_LOOP come_froms whilestmt38 ::= \e__come_froms testexpr ....