Ich denke, es gibt noch eine Methode, um Ihren Python-Code zu schützen. Teil der Verschleierungsmethode. Ich glaube, es gab ein Spiel wie Mount and Blade oder etwas, das seinen eigenen Python-Interpreter (den ursprünglichen Interpreter, von dem ich glaube, dass er Open Source ist) geändert und neu kompiliert hat und nur die OP-Codes in der OP-Codetabelle so geändert hat, dass sie sich vom Standard-Python-OP unterscheiden Codes.
Die Python-Quelle ist also unverändert, aber die Dateierweiterungen der * .pyc-Dateien sind unterschiedlich und die Op-Codes stimmen nicht mit dem öffentlichen Interpreter python.exe überein. Wenn Sie die Spieledatendateien überprüft haben, waren alle Daten im Python-Quellformat.
Auf diese Weise können alle möglichen bösen Tricks ausgeführt werden, um sich mit unreifen Hackern anzulegen. Es ist einfach, ein paar unerfahrene Hacker aufzuhalten. Es sind die professionellen Hacker, die Sie wahrscheinlich nicht schlagen werden. Aber die meisten Unternehmen halten professionelle Hacker nicht lange im Personal, wie ich mir vorstellen kann (wahrscheinlich, weil Dinge gehackt werden). Aber unreife Hacker sind überall (als neugierige IT-Mitarbeiter gelesen).
Sie können beispielsweise in einem geänderten Interpreter zulassen, dass in Ihrer Quelle nach bestimmten Kommentaren oder Dokumentzeichenfolgen gesucht wird. Sie könnten spezielle OP-Codes für solche Codezeilen haben. Zum Beispiel:
OP 234 ist für die Quellzeile "# Copyright I write this" oder kompilieren Sie diese Zeile in Op-Codes, die "if False:" entsprechen, wenn "# Copyright" fehlt. Grundsätzlich wird ein ganzer Codeblock aus einem scheinbar unklaren Grund deaktiviert.
Ein Anwendungsfall, in dem ein Neukompilieren eines modifizierten Interpreters möglich ist, besteht darin, dass Sie die App nicht geschrieben haben. Die App ist groß, aber Sie werden dafür bezahlt, sie zu schützen, z. B. wenn Sie ein dedizierter Serveradministrator für eine Finanz-App sind.
Ich finde es ein wenig widersprüchlich, die Quelle oder die Opcodes für Augäpfel offen zu lassen, aber SSL für den Netzwerkverkehr zu verwenden. SSL ist auch nicht 100% sicher. Aber es wird verwendet, um die meisten Augen davon abzuhalten, es zu lesen. Eine kleine Vorsichtsmaßnahme ist sinnvoll.
Wenn genügend Leute der Meinung sind, dass Python-Quelle und Opcodes zu sichtbar sind, wird wahrscheinlich irgendwann jemand zumindest ein einfaches Schutzwerkzeug dafür entwickeln. Je mehr Leute fragen, wie man die Python-App schützt, desto mehr wird diese Entwicklung gefördert.