Pyinstaller Extractor ist ein Python -Skript, um den Inhalt einer ausführbaren Pyinstaller -generierten ausführbaren Datei zu extrahieren.
Der Header der PYC -Dateien wird automatisch behoben, sodass ein Python -Bytecode -Dekompiler es erkennt. Das Skript kann sowohl auf Python 2.x als auch auf 3.x ausgeführt werden. PyInstaller versions 2.0, 2.1, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.5.1, 4.6, 4.7, 4.8, 4.9, 4.10, 5.0, 5.0.1, 5.1, 5.2, 5.3, 5.4, 5.4.1, 5.5, 5.6, 5.6.1, 5.6.2, 5.7.0, 5.8.0, 5.9.0, 5.10.0, 5.10.1, 5.11.0, 5.12.0, 5.13.0, 5.13.1, 5.13.2, 6.0.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 6.5.0, 6.6.0, 6.7.0, 6.8.0, 6.9.0, 6.10.0, 6.11.0, 6.11.1 are tested & supported. Wahrscheinlich wird auch mit anderen Versionen funktionieren.
Dieses Projekt wurde ursprünglich auf SourceForge gehostet.
Das Skript kann ausgeführt werden, indem der Name des Exe als Argument übergeben wird.
$ python pyinstxtractor.py <filename>
X:>python pyinstxtractor.py <filename>
Es wird empfohlen, das Skript in derselben Version von Python auszuführen, mit der die ausführbare Datei generiert wurde. Dies dient dazu, Unmarshalling -Fehler (falls vorhanden) zu verhindern, während das PYZ -Archiv extrahiert wird.
X:> python pyinstxtractor.py test.exe
[+] Processing disttest.exe
[+] Pyinstaller version: 2.1+
[+] Python version: 36
[+] Length of package: 5612452 bytes
[+] Found 59 files in CArchive
[+] Beginning extraction...please standby
[+] Possible entry point: pyiboot01_bootstrap.pyc
[+] Possible entry point: test.pyc
[+] Found 133 files in PYZ archive
[+] Successfully extracted pyinstaller archive: disttest.exe
You can now use a python decompiler on the pyc files within the extracted directory
Nachdem Sie die PYCs extrahiert haben, können Sie einen Python -Dekompiler wie Uncompyle6 und Decompyle ++ verwenden.
X:> uncompyle6.exe test.exe_extractedtest.pyc
X:> uncompyle6.exe test.exe_extractedPYZ-00.pyz_extracted__future__.pyc
Pyinstxtractor kann Linux -Elf -Binärdateien nativ extrahieren, ohne andere Tools zu erfordern.
Weitere Fragen und Informationen finden Sie im Wiki und in den FAQ
GNU General Public Lizenz v3.0