Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Numery seryjne
nasty
post
Post #1





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Piszac aplikacje desktopowa dla klienta (.NET) zaczol mnie nurtowac pewien problem, jak do tej pory robilem jakies komercyjne programy to wymyslalem sobie jakis sposob na sprawdzanie poprawnosci seriala, co trudno nazwac algorytmem, bo głównie bylo to takie proste cos w stylu ze 3 litera klucza byla
czwarta litera md5 dziesiatej i podobne duperele, ale mysle ze to nie jest najlepsze rozwiazanie, szukalem po sieci o algorytmach numerow seryjnych to mi daje cos o generowaniu numerow produktow (jak barkody, czy numery IMEI komórek).

Innym pomyslem ktory robilem, to opieranie serialu (tez takie czord wie co (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ), o configuracje sprzetu, jak np. ID. BIOS-u, itd....


I kupowanie gotowych zabezpieczen jest bez sensu bo sa popularne, a jak cos sie staje popularne to przestaje byc bezpieczne bo rosnie wtedy liczba
osob pubujacych to zlamac dla "sportu", tak wiec prosilbym bardzo o jakies linki do stron z takimi algorytmami, albo dac jakas idee.

Pozdrawiam i dziekuje.


--edit: Kto mi tu tak koloruje na czerwono ? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował nasty_psycho 3.09.2006, 22:06:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mr.r
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.08.2006

Ostrzeżenie: (0%)
-----


Program napisany w .net warto zabezpieczyc obfuscatorem, wtedy narzedzia typu .net reflector nie produkuja już tak ładnego kodu zrodlowego.

Jezeli chodzi o seriale, to warto w tym miejscu zainteresowac sie RSA albo jakims systemem sygnatur (DSA albo ElGamal) z rozsadna dlugoscia klucza. Jezeli chcesz jeszcze bardziej zmiejszyc prawdopodobienstwo zlamania i zmiejszyc dlugosc seriali to ECC jest dobrym wyborem (lub system sygnatur oparty na krzywych eliptycznych). Jezeli aplikacja do dzialania wymaga internetu to mozna pobawic sie z sprawdzaniem seriala na serwerze z baza seriali osob, ktore kupily program.

Oczywiscie na sposoby sa inne sposoby i tak system sygnatur mozna zlamac gdy sa za krotkie klucze lub zostaly zle wygenerowane. Gdy klucze sa odpowiedniej dlugosci zawsze mozna wygenerowac swoje i podmienic w programie, w takim wypadku warto zainteresowac sie jakimis sumami kontrolnymi z kodu programu. Tak samo mozna postapic z aktywacja przez internet i poprostu zapatchowac ja (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Najlepszym wyjsciem jest polaczenie kilku technik.

Jezeli w programie jest sprawdzanie tego typu: if(wprowadzony_serial == generuj_serial(name)) to takie zabezpieczenie jest nic nie warte nawet gdy oparte jest na konfiguracji sprzetu. .Net reflector produkuje kod swietnej jakosci (o ile program nie byl pojechany obfuscatorem) i zrobienie keygena to kwestia przekopiowania funkcji generuj_serial do projektu w Visual Studio

Mam nadzieje, ze chociaz minimalnie rozjasnilem kwestie zabezpieczenia Twojego programu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował mr.r 3.09.2006, 21:31:21
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 16:38