…wystarczy, że zastosujesz się do rad przedstawionych poniżej. Każda z nich w sposób istotny zmniejszy odporność twojego programu na złamanie.

Tak więc wracając do tematu tego posta, jeśli nie chcesz zarabiać na swoim programie wystarczy, że:

  • będziesz używał wyskakujących okienek informujących o poprawnym zarejestrowaniu programu
  • Takie miłe okienko to nic groźnego przecież nie może być.

  • będziesz stosował proste porównanie wprowadzonego przez użytkownika hasła z czymś zaszytym wewnątrz aplikacji – przecież jakieś przekształcenia hasła są dla mięczaków
  • użyjesz standardowej metody przekształcenia hasła. Przecież użyty po raz 99 XOR czy zamiana ASCII na liczby jest silniejszy niż w pozostałych 99 przypadkach
  • twoje hasła będą liczyć maksymalnie 5 znaków
  • jedno i to samo hasło będzie odblokowywać aplikację na wielu różnych komputerach
  • użyjesz kontrolki MaskedTextbox do wprowadzenia hasła dzięki temu pokazując jak powinno wyglądać poprawne hasło oraz jakie znaki powinno zawierać
  • To tylko niewinne ułatwienie dla użytkownika

  • poinformujesz wszem i wobec jak wygląda techniczna strona informacji – najlepiej w helpie programu, aby atakujący nie musiał daleko szukać
  • utworzysz wersje demo zawierające pełną funkcjonalność a tylko przycisk ją uruchamiający twórz nieaktywny
  • pozostawisz nieobfuskowany kod (dotyczy programów w kodzie zarządzalnym)
  • Reflector prawdę Ci powie

  • dostarczysz dll’ki bez StrongName (w .NET)
  • kod sprawdzający poprawność wprowadzonego hasła umieścisz tylko w jednym miejscu w kodzie i wywołasz go tylko jeden jedyny raz – Gdy użytkownik naciśnie ‘Zarejestruj’
  • w okienku zarejestruj przepuścisz tylko ten ‘jeden’ właściwy klucz, po cóż dawać złudne wrażenie poprawnej rejestracji
  • pozwolisz uruchamiać swoją aplikację pod kontrolą debuggerów – przecież to jest to co zwykli użytkownicy robią codziennie
  • napiszesz metodę sprawdzającą tak, aby wszystko zależało od jednej instrukcji “if”
  • napisanie zabezpieczenia zostawisz na koniec. Przecież napisanie dobrego zabezpieczenia to nie więcej jak dzień pracy
  • zastosujesz standardowe okienko wprowadzania użytkownika i hasła, to przecież takie wygodne dla atakującego
  • Niestety to także jest punkt zaczepienia

  • użyjesz jednej z poniższych nazw lub ich kombinacji do nazwania pliku lub rejestru, gdzie przechowasz informację o zarejestrowaniu aplikacji: key, reg, register, password, registered itd.
  • będziesz udawał, że problem Cię nie dotyczy. Przecież jeśli nie wiemy, że ktoś złamał nam program to nie jest nam żal
  • będziesz przechwalał się jakie to twoje zabezpieczenie nie jest idealne. Przykład firmy Oracle pokazuje, że taka jest najlepsza praktyka

A czy ty drogi Czytelniku znasz jeszcze jakiś sposób aby skutecznie zrujnować sobie sprzedaż własnego dzieła? Zachęcam do pozostawienia komentarza.