Zabezpieczenie programu C# przed piractwem

0

Siema wszystkim

Jak wiadomo C# dekompiluje sie do C#.
Dlatego potrzebuje zabezpieczyc program przed piractwem.
Jakie rozwiazanie bedzie najlepsze?
Chodzi mi o to, zeby nie było uciazliwe dla uzytkownika i w miare bezpieczne.

2

kto bedzie chcial zlamac Twoj program to go zlapie.

Najlepszym zabezpieczeniem jest zeby sama aplikacja kliencka byla u klienta (sam interfejs, bez zadnej wiekszej logiki) i przesylala w co sie kliknelo i dane do serwera a on zwracalby odpowiednie dane. W tym przypadku ciezko zlamac taki proces bo ktos musialby napisac swoj wlasny serwer (lub zlamac i skopiowac Twoj)

Do tego mozesz zrobic obfuskacje kodu

0

Chodzi Ci o to, żeby nikt nie ukradł kodu źródłowego ;) https://obfuscar.codeplex.com/ zaciemniacz kodu.
Jedynym skutecznym zabezpieczeniem przed piractwem jest ciągłe połączenie z internetem, i to nie do końca.

@Edit, spóźniłem się o 3 minuty :/

0

Jak chcesz utrudnić piractwa to klucz HASP, ale wygodne to nie będzie.

0

Program eplan jest zabezpieczony tak ze wersja przypisana jest do twojego hardware'u i systemu na trwałe. Jak zmienisz dysk to program przestaje działaś i musisz na pisać do firmy eton żeby pozwoliła ręcznie wyraziła zgode na zmiane danych :P

0

Kiedyś kombinowałem z zabezpieczeniem programu przy wykorzystaniu pobierania danych ze sprzętu użytkownika i osadzania danych w znaku wodnym, który wdrożony był w jakiś obraz do aplikacji. Po pierwszym odpaleniu aplikacja pobierała takie dane i generował znak wodny, następnie dane zostały osadzane w obraz (np. jakaś grafika). Następnie zawsze program sprawdzał poprawność tych danych poprzez ekstrakcję znaku wodnego. Zatem nie można było kopiować takiego programu. Owszem można pobrać nowy i to samo by się działo. Jednakże koncepcja zakładała, że klient otrzyma licencje na jedno stanowisko i nie miał on możliwości pobrania nowego programu.

Piszę to tak z ciekawości, ponieważ kiedyś interesowałem się steganografią i transformatami falkowymi. W tym celu wykorzystałem taki odpowiedni dyskretnej transformaty falkowej przy wykorzystaniu kodów Fibonacciego. Do czego zmierzam, mianowicie do tego, że jakiekolwiek zabezpieczenie powinno zostać zrealizowane w sposób sprytny, tak by przeciętny użytkownik nie miał wiedzy na temat co się dzieje. Zabezpieczenie należy dostosować do potrzeb - typu czy program ma się łączyć z netem, ilość licencji etc.

0

Przenieś część kluczowej funkcjonalności na serwer. Niestety platforma .NET to porażka jeśli chodzi o zabezpieczenia kodu (nie ma porównania do metod stosowanych w natywnych aplikacjach) i albo zaakceptujesz ten fakt, albo będziesz żył w błogiej nieświadomości a twój soft będzie dekompilowany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1