Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reassembling Python bytecode to the original code?

This might be a silly question, but, given the output of, say..

>>> from dis import dis
>>> def myfunc(x):
...     print x ** 2
... 
>>> dis(myfunc)
  2           0 LOAD_FAST                0 (x)
              3 LOAD_CONST               1 (2)
              6 BINARY_POWER        
              7 PRINT_ITEM          
              8 PRINT_NEWLINE       
              9 LOAD_CONST               0 (None)
             12 RETURN_VALUE        

..or a .pyc file - is it possible to reassembling this into a valid piece of Python source code? I.e where reassemble(dis(myfunc)) == "def reassembled_function(x):\n print x ** 2"

Not for any particular practical reason, I'm just curious if this is possible, or has been attempted..

Related

  • Free Python decompiler that is not an online service?
like image 407
dbr Avatar asked Jan 23 '10 18:01

dbr


1 Answers

http://sourceforge.net/projects/decompyle/

like image 158
Sam Blackburn Avatar answered Sep 21 '22 21:09

Sam Blackburn