Ukrywanie wartości w programie

0

Witam,

Staram się choć w niewielkim stopniu zabezpieczyć mój programik przed kopiowaniem (wiadomo że nie da się tego zrobić całkowicie, chodzi mi po prostu o to żeby w stosunku do ceny programu -20-30 zł za licencję zniechęcić początkującego crackera). Program jest napisany w .NET, więc ze względu na banalną dekmpilację całości, część odpowiedzialna za sprawdzenie licencji wraz z kilkoma bardziej istotnymi elementami funkcjonalnymi aplikacji przenoszę do biblioteki napisanej w C++ jako kod niezarządzany. Sprawdzenie licencji będzie polegało między innymi na tym że jeśli nie ma prawidłowego klucza program działa w trybie demo-umożliwiajac wykonanie konkretnego zadania n razy w danym projekcie(kluczowa część tego zadania jest przeniesiona do kodu niezarządzanego, reszta .NET).

W jaki sposób ukryć liczbę "n" tak aby unknąć widocznego po dekompilacji sprawdzenia - jeżeli ilość_użyć > n nie rób nic ?
Zastosować jakąś "magiczną liczbę" która po wykonaniu na niej pewnych operacji da określoną wartość ? Jak zapewnić żeby taka liczby była trudna/niemożliwa do odtworzenia z większą wartością (np.100*n) ?

Ew. Jakieś inne pomysły ?

1

Nie rób tego w programie lecz w DLL do której też przenieś kilka bardzo istotnych w programie funkcji niskopoziomowych aby zwyczajnie DLL nie została podmieniona.
DLL-ka wszystkie dane w tym kilka istotnych dla podstawowego działania trzyma w obszarze zakodowanym np jakimś RSA-1024
Przy takim podejściu nawet jak wprost w dokumentacji napiszesz to co napisałem wyżej krakowanie tego za 20-30 zł będzie nie ciekawe do poświęcenia czasu.

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