Temat: Zabezpieczenie licencji
Problem w tym, że interpreter musi dostać odczytywany kod źródłowy. I jedyny sposób na dobre zamaskowanie kodu, to połączenie go z interpreterem w jedną całość.
W każdym innym przypadku mamy:
[zaszyfrowany kod] -A-> [dekoder z kluczem] -B-> [interpreter]
Jeżeli klient dostanie zaszyfrowany kod, to nic z nim nie zrobi, ale też go nie uruchomi bez klucza i dekodera. Tyle tylko, że dekodowanie odbywa się na jego maszynie i jego interpreterze. Więc jeżeli podsłucha co się dzieje w miejscu B to będzie widział jakie linijki kodu są przekazywane do interpretera. I wystarczy to zapisać do jednego dużego pliku .py :]
Tak też właśnie kiedyś dekodowałem phpencoder.
Mało komu się chce w to bawić... ale można to zrobić.
Jeżeli natomiast całość połączymy w jedną paczę:
[nasz program .bin lub .exe]
Jedynym problemem jest inżynieria wsteczna, ale na to nikt jeszcze nie wymyślił lekarstwa, a wielu próbowało.
Jeżeli ktoś zna narzędzia umożliwiające łączenie kodu Pythona z interpreterem i szyfrowanie tego jakimś algorytmem - proszę o informację. Sam jestem ciekawy, a za leniwy by googlować ;)
Ja problem rozwiązałem przez hosting reseller, własny hosting itp. Jak klient chce aplikacje to do ceny doliczam jakiś hosting i nie daje mu do kodu dostępu. Sprzedaję licencje na działający produkt, a nie jego kod. Klienta nie interesuje w jakim to jest języku i co tam pod maską siedzi. Ma mieć dostęp 24/h do aplikacji i ma zwracać poprawny wynik.