Python projekt 'unkenntlich' machen UND ausführen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Baylio
User
Beiträge: 2
Registriert: Montag 11. Januar 2021, 18:47

Hallo,

hab ein A.I. projekt in pyhton (+bissl cython) geschrieben und muss es via p2p cloud computing ausführen (weil rechenleistung).
hab paar eigene ideen hinzugebracht (für die ich evtl später ein patent anmelden würde, muss aber nicht) die nicht unbedingt nach draussen sollen, kann jeder vermutlich nachvollziehen. Leider ist es mir aktuell nicht möglich eine eigene workstation hier zu behausen, daher muss ich es in einer cloud test-launchen (aws oder vast).

Ziel: den code unkenntlich machen, um a) die anwendungsbranche und b) die algos schwerer verständlich zu machen.
meine Idee wäre die variablennamen und die funktionen umzubenennen. da es sich dabei jedoch um 1-2 thausend handelt, wäre es mit zu hohem fehlerrisiko und Zeitaufwand verbunden STRG+R anzuwenden (da auch auf sehr viele unter-scripts verwiesen wird)

gibts dafür ein tool oder ähnliches?

Desweiteren: Wie kann ich den code weiter unkenntlich machen (ohne performance einfluss) ?

Vielen Dank und bleibt gesund.
Benutzeravatar
__blackjack__
User
Beiträge: 13061
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Baylio: Gegen wen willst Du da schützen? Gegen Amazon?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Baylio
User
Beiträge: 2
Registriert: Montag 11. Januar 2021, 18:47

__blackjack__ hat geschrieben: Montag 11. Januar 2021, 19:10 @Baylio: Gegen wen willst Du da schützen? Gegen Amazon?
eher gegen den host der mir auf vast.ai eine workstation bereitstellt ^^
amazon auch, so weird es sich annhören mag. nenn die angst ruhig unberechtigt, aber falls du weißt wie ich den code unkenntlich machen kann wärs optimal. danke dir
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Der Begriff dafür ist obfuscation. Ob es dazu Tools für Python gibt (JS zb hat welche, Java auch) musst du selbst recherchieren.
Thants
User
Beiträge: 34
Registriert: Dienstag 1. Dezember 2020, 12:00

@Baylio: Du könntest nur den Byte-Code (*.pyc) weitergeben (allerdings kann der auch wieder rückübersetzt werden). Oder jage doch dein gesamtes Programm durch cython, das erschwert ein "reverse engineering" auch etwas.

Wenn ich nicht will, dass irgendein Code von mir an die Öffentlichkeit gelangt, würde ich persönlich das allerdings so handhaben, dass ich das Programm eben nicht auf Computer anderer Leute kopiere, denen ich nicht vertraue.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1016
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Code, der auf einer CPU ausgeführt werden kann, kann auch dekompiliert werden.

https://pypi.org/project/uncompyle6/
https://github.com/extremecoders-re/pyinstxtractor

Egal was du dir ausdenkst, es gibt immer einen Weg an den Code zu kommen.
Nur der Aufwand kann erhöht werden den Code auch zu verstehen.

Vielleicht kann das helfen: https://pypi.org/project/pyarmor/
Ein 100% Schutz ist es aber definitv nicht.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten