Seite 1 von 1

Python projekt 'unkenntlich' machen UND ausführen

Verfasst: Montag 11. Januar 2021, 19:01
von Baylio
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.

Re: Python projekt 'unkenntlich' machen UND ausführen

Verfasst: Montag 11. Januar 2021, 19:10
von __blackjack__
@Baylio: Gegen wen willst Du da schützen? Gegen Amazon?

Re: Python projekt 'unkenntlich' machen UND ausführen

Verfasst: Montag 11. Januar 2021, 19:20
von Baylio
__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

Re: Python projekt 'unkenntlich' machen UND ausführen

Verfasst: Montag 11. Januar 2021, 20:00
von __deets__
Der Begriff dafür ist obfuscation. Ob es dazu Tools für Python gibt (JS zb hat welche, Java auch) musst du selbst recherchieren.

Re: Python projekt 'unkenntlich' machen UND ausführen

Verfasst: Dienstag 12. Januar 2021, 07:40
von Thants
@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.

Re: Python projekt 'unkenntlich' machen UND ausführen

Verfasst: Dienstag 12. Januar 2021, 11:37
von DeaD_EyE
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.