Zabezpieczenie programu C# przed piractwem

Zabezpieczenie programu C# przed piractwem
  • Rejestracja: dni
  • Ostatnio: dni
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.

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
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

Pixello
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Podkarpacie
  • Postów: 448
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 :/

  • Rejestracja: dni
  • Ostatnio: dni
0

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

  • Rejestracja: dni
  • Ostatnio: dni
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

mariano901229
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 597
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.

Bartosz Wójcik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 439
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.