Generator i sprawdzacz kodu do aktywacji

0

Otóż zrobiłem sobie programik i chce go zabezpieczyć na coś w typie licencji, np. ja sobie na komputerze wygeneruje kod który będzie działał jakiś czas od momentu wpisania. I tu się zaczyna problem, nie wiem jak właśnie wygenerować kod (nie obojętnie jaki) tylko z algorytmu i właśnie nie wiem jak taki algorytm napisać, a później jak go sprawdzić.

0

Wygeneruj sobie jakiegoś stringa, w którym w sposób tylko znany tylko Tobie będzie jakoś zaszyta data. Potem w aplikacji, która ma być zabezpieczona zdekoduj go i sprawdź tę datę.

0

Właśnie o to mi chodzi, że nie wiem jak to się robiło ;p. Za pewne to jest proste, ale nie pamiętam tego.

0
matigi12 napisał(a)

Właśnie o to mi chodzi, że nie wiem jak to się robiło ;p. Za pewne to jest proste, ale nie pamiętam tego.

neokid poszukaj w <font size="6"><url>http://www.google.pl</url></span>

Tego jest w pizdu i jak możesz nie pamiętać skoro tego nigdy nie robiłeś LOL, kolega pisze program szyfrujący idioto i jest post na forum i to na 1 stronie a tobie zerknąć się nie chce n00bie!</b>

0

Zakodowanie daty? To już od ciebie zależy jak to zrobisz np.

R10C12N16 np data zakodowana tu to 16-12-2010 to tylko przykład możesz to bardziej skomplikować np mnożyć czy modulo jakąś stałą którą sobie wymyślisz itp wiele możliwości.

0

Tak jeszcze podaj mu jak się pobiera date np taka jak jest ustawiona w systemie i jak to zakodować np metodą base64 albo lepiej MD5 i napisz jak to porównać. I tak już dużo napisałem jak posłuchasz mojej rady to powinieneś zrobić to przy pomocy google.pl.

I jeszcze jedno zanim do tego się zabierzesz bo z tego co widzę to nie chcesz żeby to było byle jakie to poczytaj o metodach zabezpieczeń, crackingu i pomyśl logicznie!

0

Trzeba mu wskazać drogę ;P google to za duża biblioteka wiedzy co dla niektórych :)

0

stwierdziłem iż to głupota napisać książkę pdt "Jak szukać w Google.pl" ale jednak to by się sprzedawało !OMG!

http://hackme.pl/forum/viewthread.html?thread_id=619&pid=15562

na pierwszej stronie w google!

0
proqix napisał(a)

Tak jeszcze podaj mu jak się pobiera date np taka jak jest ustawiona w systemie i jak to zakodować np metodą base64 albo lepiej MD5

Genialne, cholernie genialne. MD5 jest jednokierunkowe - zakładając, że program/komputer nie zostanie wcale uruchomiony danego dnia to 'ograniczenie czasowe' przestaje mieć sens.

0

Naucz się myśleć logicznie np date bierzemy z zdalnego komputera np z strony www naszego programu, zakładając iż program ma kontakt z internetem (data to tylko przykład porównania), co do MD5 to genialnie bo istnieje coś takiego jak porównanie i możemy wpisanie hasło zakodować je do MD5 i porównać czy się zgadza z tym zapisanym np w cosnt w programie jeżeli wiesz co to w ogóle jest, i nie pisz jak się nie znasz się na tym. Ja daje tylko przykłady bo jak dam konkret (jakiś sobie algorytm) a on to zrobi dokładnie tak to rozkodowanie będzie na forum dla wszystkich dostępne DEBILE GDZIE WY MACIE MOZG!

0
proqix napisał(a)

i nie pisz jak się nie znasz się na tym

Ujmijmy to tak - ja współpracowałem przy tworzeniu poważnego systemu licencyjnego, Ty nie.

proqix napisał(a)

Naucz się myśleć logicznie np date bierzemy z zdalnego komputera np z strony www naszego programu, zakładając iż program ma kontakt z internetem (data to tylko przykład porównania), co do MD5 to genialnie bo istnieje coś takiego jak porównanie i możemy wpisanie hasło zakodować je do MD5 i porównać czy się zgadza z tym zapisanym

Świętowit napisał(a)

MD5 jest jednokierunkowe - zakładając, że program/komputer nie zostanie wcale uruchomiony danego dnia to 'ograniczenie czasowe' przestaje mieć sens.

Tłumacząc jeszcze raz, jak dla debila, MD5 pozwala tylko stwierdzić równość, jeżeli właściwego dnia nie dojdzie w ogóle do uruchomienia algorytmu to warunek nie będzie nigdy spełniony.

proqix napisał(a)

DEBILE GDZIE WY MACIE MOZG!

Tam, gdzie Ty mieć powinieneś. Palnąłeś głupotę, jak ktoś Ci uwagę zwraca (nawet wrednie) to od debili bez zastanowienia wyzywasz.

Poza tym jeżeli coś robić online to starczy po prostu zapisać w bazie datę pierwszego połączenia klienta z danym ID i zagwarantować unikalność identyfikatorów - absolutnie brak w tym filozofii...

0

Te md5 base64 to jakieś kręcenie się w kółko bez efektu
Najprościej zapisz datę jak liczba (czas windowsa 64 bitowy np) pod ustalonym adresem w exe. Przy ściąganiu programu (rozumiem że oto ci chodzi) po prostu wpiszesz tam obecny czas.
A w programie przy uruchomieniu porównanie, czy czas zapisany+30dni (np) > czas obecny. Jak tak, to program się nie uruchomi.
I tyle, tak samo bezpieczne jak md5 base64... a łatwiejsze w realizacji.
A jak chcesz zabezpieczenia trudnego w złamaniu to kup themidę, ona ma już opcje do licencji czasowej o ile pamiętam...

0

Datę pobrać, zakodować, odkodować umiem, ale mi chodzi o jakiś algorytm w sensie, że wyrobi mi dowolny ciąg znaków które nic nie oznaczają ale zgadzają się z algorytmem, tak jak to ma wiele różnych programów jako zabezpieczenie min. jak się instaluje Office lub cokolwiek to jest okienko : Proszę o wpisanie kodu aktywacyjnego. Tam jest kod oparty na jakimś algorytmie, i chcę zabezpieczyć podobnie mój programik, nie że tylko kody które sam stworzę będą działać, ale również te stworzone o dany algorytm który następnie jest sprawdzany w programie, i jeśli się zgadza to się załączy jak nie to nie. I nie mówcie że w google jest wszystko, jak jest to podajcie link a nie piszcie "google..."

0

To się nazywa serial... opisałeś swój problem zupełnie inaczej.
Tutaj rzeczywiście możesz po prostu liczyć md5 użytkownika z czymś dodanym na końcu, np. ktoś wpisuje użytkownika "tomek" ty liczysz md5 dla "tomekswietyhydrantprzeciwpowodziowy", a następnie porównujesz to z wpisanym przez użytkownika serialem...
Po prostu okno z dwoma polami do wpisania, użytkownik i serial.

Ale jak ten program to coś cennego do sprzedaży to kup jakiś protector po prostu...

0

Czy takie cenne to nie wiem, zawsze mogę zrobić, że kolesiowi wyśle np tylko na jego dane, ale tak jest wtedy mniej chętnych, pokombinuje może coś wymyśle, ale może ;]
Może by zrobić coś takiego:
Jeśli poprzednia litera to np 'a' to następna musi być 'c' lub '2' lub 'v' i tak dalej, ciekawe czy by wypaliło

0

Jeśli poprzednia litera to np 'a' to następna musi być 'c' lub '2' lub 'v' i tak dalej, ciekawe czy by wypaliło

Z całym szacunkiem do @matigi12 - ale zastanawiam się czasem dlaczego niektórzy ludzie zabierają się za jakieś systemy zabezpieczeń programów podczas gdy z tego co mówisz nie jestem pewien czy jakieś "Hello World!" udało ci się poprawnie skompilować i ZROZUMIEĆ.

Pisząc na końcu: ciekawe czy by wypaliło dajesz (przynajmniej mi) do zrozumienia, że i tego napisać byś nie potrafił.

I ostatnia sprawa - uwierz mi, że wszyscy tu siedzimy na tym forum żeby pomagać - to oczywiste bo do tego celu zostało ono stworzone - ale na ozyrysa! Ułatw zadanie nam i sobie i poprawnie formułuj swoje problemy!! Wygląda to tak jak byś sam nie wiedział o co Tobie w ogóle chodzi. Najpierw chcesz żeby zakodować datę w stringu potem wygląda na to, że jednak chcesz przypisać serial do nazwiska...

A teraz bonus! Nie wiesz czego szukać w google? Oto zagadnienia, które musisz opanować zanim zadasz następne pytanie na forum:

  1. Operatory porównania
  2. Pobieranie daty systemowej
  3. Format typu TDateTime
  4. Sposoby reprezentacji daty (min. f-cja formatdatetime)
  5. manipulacji zmienną typu TDateTime
  6. Metody manipulacji na stringach

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