(Windows) Zugriff auf ein Programm beschränken

569
lessharm

Ich habe ein Programm in Python geschrieben. Es ist etwas, das nur an ein paar Leute "verteilt" würde. Aber der Code ist für mich ziemlich wertvoll. Gibt es eine Möglichkeit, Laptops auszugeben, die Benutzern nur Zugriff auf dieses eine Programm geben?

Was sind die möglichen Probleme damit? Gibt es eine Möglichkeit, dies zu sichern? Der Laptop wird nur für dieses Programm verwendet. Es benötigt lediglich Standardfunktionen wie Tastatur / Maus / Grafik und die Möglichkeit, eine Verbindung zum lokalen Netzwerk herzustellen. Das ist alles, was es außerhalb von Python und ein paar Python-Modulen benötigt.

Ich habe diese Antworten gefunden, aber es geht um VNC und Remote Desktop:

0
Sie möchten verhindern, dass Personen den Code anzeigen können, oder Sie möchten verhindern, dass auf einem Computer, der mit Ihrem LAN verbunden ist, nicht autorisierte Software ausgeführt wird? Ist das zum Schutz sensibler Unternehmensdaten? SpiderPig vor 7 Jahren 1
Ich möchte verhindern, dass sie sich den Code ansehen. lessharm vor 7 Jahren 0
Es gibt nur einen sicheren Weg, dies zu tun. Führen Sie auf einem Server so viel Code wie möglich aus, auf den niemand Zugriff hat, und führen Sie nur die GUI auf den Benutzer-Laptops aus. zB eine Webapp mit einem serverseitigen Python-Backend. Obwohl ich bezweifle, dass Ihr Code tatsächlich Geheimnisse enthält, die andere Unternehmen stehlen möchten. SpiderPig vor 7 Jahren 0
Kompilieren Sie den Python-Code, und obwohl es möglich ist, Python-Code zu dekompilieren, erfordert dies zusätzlichen Aufwand. Ramhound vor 7 Jahren 0
Das hilft überhaupt nicht. Ich frage nicht, ob meine Software wertvoll ist. Ich frage nicht, wie man Python-Code kompiliert. Ich möchte keinen Code auf einem Server ausführen. Sonst würde ich diese Frage nicht stellen. lessharm vor 7 Jahren 0

2 Antworten auf die Frage

1
Keltari

Der Empfänger kann sich Ihr Programm immer ansehen, wenn er sich ausreichend bemüht. Sie können versuchen, den Code zu verschleiern, indem Sie ihn in eine ausführbare Datei kompilieren. Intelligente Leute können ihn jedoch dekompilieren. Denken Sie immer daran, sobald etwas die Kontrolle über Sie verlässt, hat jetzt jemand anderes die Kontrolle.

Können Sie mir bitte genau erklären, wie der Code nur durch das Kompilieren zu einer ausführbaren Datei verschleiert wird, und dass Benutzer nur Zugriff auf dieses eine Programm erhalten? lessharm vor 7 Jahren 0
In @lessharm gibt es viele Möglichkeiten, eine Maschine zu sperren, um die Möglichkeit der Benutzer einzuschränken, bestimmte Programme auszuführen. Google es. Keltari vor 7 Jahren 0
0
music2myear

Angesichts der von Ihnen angegebenen Einschränkungen (kein Kompilieren und kein Remote-Server) lautet die Antwort "Nein". Es gibt keine Möglichkeit, sicherzustellen, dass Ihr Code nicht von jedermann mit Zugriff auf den Computer gelesen werden kann, auf dem der Code ausgeführt wird.

Keltari berührte zumindest das Thema: Selbst wenn man es kompiliert hat, kann eine ausreichend entschlossene Person den Code rückübersetzen.

Sie können sogar einen Computer in den sogenannten "Kiosk" -Modus sperren, der eine gewisse Kontrolle darüber zulässt, was in der Benutzeroberfläche ausgeführt werden darf. Aber auch hier kann eine ausreichend entschlossene Person Ihren Code erhalten.

Die einzige Möglichkeit, Code zu schützen, den Sie für wertvoll erachten, wenn Sie diesen Code in Betracht ziehen, besteht darin, ihn nicht freizugeben oder eine serverseitige Anwendung und eine separate Client-Benutzeroberfläche zu verwenden, die keinen Zugriff auf den Server zulässt, außer durch protected und überwachte Kanäle.