Ist es einfach zu voll, zu dekompilieren python kompiliert(*.pyc) Dateien?
Wollte ich wissen, wie viel einfach ist es, dekompiliert python byte-code. Habe ich eine Anwendung in python, dessen Quelle ich will sicher sein. Ich bin mit py2exe was im Grunde setzt auf python kompilierten Dateien.
Macht das sicher mit dem code?
mögliche Duplikate von Wie Schütze ich python-code?
Ah... Nach 3 Jahren, merke ich, wie absurd code-Schutz ist. In der Tat, unter den weit verbreiteten Sprachen wie C/C++ keine andere Sprache gibt, die nicht dekompiliert.
Ah... Nach 3 Jahren, merke ich, wie absurd code-Schutz ist. In der Tat, unter den weit verbreiteten Sprachen wie C/C++ keine andere Sprache gibt, die nicht dekompiliert.
InformationsquelleAutor Shubham | 2010-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hängt von Ihrer definition von "vollständig" (in "vollständig dekompilieren")...;-). Sie wird nicht leicht wieder die ursprüngliche Python-source-aber immer die bytecode ist einfach, und die standard-Bibliothek Modul dis existiert genau machen bytecode leicht lesbar (obwohl es noch bytecode, nicht vollständige Python-source-code;-).
Sie wird nicht die "eigentliche source code". Kommentare gegangen werden. Aber die Variablen-Namen, Methoden-Namen, Konstanten, strings, und alle die Logik, die Sie anwenden, um Sie, werden gelesen, indem jemand interessiert genug.
yep, @Ned richtig ist: Python-bytecode ist viel näher an Python-Quelle, die als assembly-Sprache ist C++ - Quelldatei, war es aus. Die Python-Experten Wert sein, oder Ihr Salz wird in der Lage sein, zu rekonstruieren, die Quelle ist Logik gerade aus der bytecode, und ohne die immer über Sie (nicht, dass es von Assembler-code ist viel schwieriger-sehen, wie lange es dauert, für jeden neuen dummen "Kopierschutz" - Regelung für ein Spiel zerlegt, verstanden und kaputt...;-).
InformationsquelleAutor Alex Martelli
Kompilieren .pyc nicht secure code. Sie sind leicht zu Lesen. Sehen Wie Schütze ich Python-code?
InformationsquelleAutor Ned Batchelder
Wenn Sie suchen, online finden Sie decompilers für Python-bytecode: es gibt eine Kostenlose version zum Download, aber die behandelt nur bytecode bis zu Python 2.3 und eine online-service die Dekompilierung bis zu version 2.6.
Dort nicht erscheinen zu sein irgendwelche decompilers noch für neuere Versionen von Python-bytecode, aber das ist fast sicher, nur weil niemand hat das Bedürfnis, eine zu schreiben, anstatt eine grundlegende Schwierigkeit, mit der bytecode selbst.
Einige Leute haben versucht, zu schützen Python-bytecode durch ändern der übersetzer: es gibt keinen besonderen Grund, warum Sie kann nicht kompilieren Ihren eigenen Dolmetscher mit den anderen verwendeten Werten, die für die bytecode: das wird verhindern, dass einfache Prüfung des Codes mit
import dis
, aber nicht mehr lange, um alle bestimmt angreifen und das alles kostet Geld, dass code besser in die Verbesserung des Programmes selbst.Kurz gesagt, wenn Sie wollen, schützen Sie Ihr Programm, dann verwenden Sie das Gesetz, um es zu tun: verwenden Sie eine entsprechende software-Lizenz und verfolgen diejenigen, die es ignorieren. Code ist teuer, zu schreiben, aber das Endergebnis ist selten der wertvolle Teil eines software-Paket: die Daten viel mehr Wert.
InformationsquelleAutor Duncan