Jest kilka wątków na forum odnośnie zabezpieczeń. I wiadomo że każde da się złamać to tylko kwestia czasu ale po kolei.
- Nasza aplikacja zarządza magazynem przez różnych pracowników. np Ania, Robert, Jacek
w programie mamy mniej więcej coś takiego
If Edit1.Text = Ania Then Zaloguj; //Po zalogowaniu mogę usuwać i dodawać produkty na magazynie;
**Pytanie: ** Czy jest sens aby próbować zabezpieczyć chociaż trochę tak banalne złamanie instrukcji if ?
- Zabezpieczenie przed piractwem - nasza aplikacja podczas instalacji prosi o klucz produktu.
If Edit1.Text = Klucz then Zainstaluj
Takie zabezpieczenie to prawie takie co nic: ale kilka pomysłów i pytań wpadło mi do głowy.
a) czy zagnieżdzanie if-ów coś daje (utrudnia crackowanie) tzn
if Edit1.Text= Klucz then
if procedure then
if procedura2 then Zainstaluj
b) skakanie po plikach.
{aplikacja}
if Edit1.Text = Klucz then Procedura_Z_Biblioteki_DLL(parametry);
{biblioteka dll}
if Parametry = Stałe then Procedura_Instalacji_w_Programie //Biblioteka zmusi skoczenie aplikacji głównej do właściwego miejsca gdzie ma się rozpocząć instalacja;
c) tworzenie wątku sprawdzających czy kod pliku exe jest niezgodny z oryginałem jeśli nie to zamykanie instalatora.
d) tworzenie dużej ilości wątków wprowadzających chaos w danych programu a tylko jeden poprzez wstawkę w assemblerze zmieni skok instrukcji if zamiast do then to gdzieś indziej do określonej procedury.
Czy któryś z tych pomysłów ma jakiś sens? Gdzie można poczytać jak powinny wyglądać dobre zabezpieczenia programu?