rocky / python-uncompyle6

A cross-version Python bytecode decompiler
GNU General Public License v3.0
3.79k stars 413 forks source link

Doesn't understand PyInstaller pyc files #336

Closed GH0st3rs closed 3 years ago

GH0st3rs commented 3 years ago

I trying decompyle python 3.6 byte-code from PyInstaller, not encrypted. But uncompyle6 not worked.

Python packages

Package        Version
-------------- ---------
altgraph       0.17
click          7.1.2
future         0.18.2
pefile         2019.4.18
pip            20.2.4
pycdas         1.2.1
PyInstaller    3.6
pywin32-ctypes 0.2.0
setuptools     50.3.2
spark-parser   1.8.9
uncompyle6     3.7.4
wheel          0.35.1
xdis           5.0.5

Uncompyle6 output

Test on python 3.7.4

# uncompyle6 version 3.7.4
# Python bytecode 3.6 (3379)
# Decompiled from: Python 3.7.7 (default, Mar 26 2020, 15:48:22) 
# [GCC 7.3.0]
# Embedded file name: requests/hooks.py

# file hooks.pyc
# --- This code section failed: ---

 L.  13         0  SETUP_LOOP            2  'to 2'
              2_0  COME_FROM_LOOP        0  '0'
                2  STORE_DEREF           0  '0'

 L.  14         4  SETUP_LOOP            7  'to 7'
                6  LOAD_FAST             1  '1'
                8  STORE_DEREF           1  '1'

 L.  17        10  SETUP_LOOP           14  'to 14'
               12  SETUP_LOOP           17  'to 17'
             14_0  COME_FROM_LOOP       10  '10'
               14  LOAD_GLOBAL              __doc__
               16  STORE_DEREF           2  '2'

 L.  23        18  SETUP_LOOP           24  'to 24'
               20  SETUP_LOOP           27  'to 27'
               22  LOAD_GLOBAL              __doc__
             24_0  COME_FROM_LOOP       18  '18'
               24  STORE_DEREF           3  '3'
               26  SETUP_LOOP           34  'to 34'
               28  INPLACE_MULTIPLY 

Parse error at or near `None' instruction at offset -1

Test on python 3.6.5

# uncompyle6 version 3.7.4
# Python bytecode 3.6 (3379)
# Decompiled from: Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)]
# Embedded file name: requests/hooks.py

# file hooks.pyc
# --- This code section failed: ---

 L.  13         0  SETUP_LOOP            2  'to 2'
              2_0  COME_FROM_LOOP        0  '0'
                2  STORE_DEREF           0  '0'

 L.  14         4  SETUP_LOOP            7  'to 7'
                6  LOAD_FAST             1  '1'
                8  STORE_DEREF           1  '1'

 L.  17        10  SETUP_LOOP           14  'to 14'
               12  SETUP_LOOP           17  'to 17'
             14_0  COME_FROM_LOOP       10  '10'
               14  LOAD_GLOBAL              __doc__
               16  STORE_DEREF           2  '2'

 L.  23        18  SETUP_LOOP           24  'to 24'
               20  SETUP_LOOP           27  'to 27'
               22  LOAD_GLOBAL              __doc__
             24_0  COME_FROM_LOOP       18  '18'
               24  STORE_DEREF           3  '3'
               26  SETUP_LOOP           34  'to 34'
               28  INPLACE_MULTIPLY 

Parse error at or near `None' instruction at offset -1

Tested on file

file.tar.gz

rocky commented 3 years ago

How is it you have the .pyc file but not the source? Did you write this program? If not, why not contact the author for the source?