Programy i ich zabezpieczenia

0

Śmobry.. :-)

Nie wnikajac w szczegoly..pisze program (koncze),ktory mam zamiar powiedzmy "sprzedawac"
Generalnie nie chce zeby ktos go uzywal bez wczesniejszego kontaktu ze mna..(po otrzymaniu maila wysylam numer seryjny, ktory z DEMO robi pelna wersje)...

Nie jestem idealista i marzycielem...wiem ze kazdy program da sie zlamac...
chcialbym uslyszec od was opinie jak najlepiej zabiezpieczyc program by utrudnic "nielegalne" uzytkowanie..nie chodzi o dekompilacje (uzyje UPXa SHejtka)
Chodzi mi o zapis seriala (np w rejestr) albo inne metody ( wtym szyfrowania)

na wieki wiekow...

0

jest kilka metod zapisu seriali, np w kluczach zastrzeżonych, gdzie w normalnych warunkach nikt by nie szukał, podajesz nazwe ktora nie jest oczywista i szyfrowanie seriala kluczem ciagłym,czyli umoźliwiającym stosując odwrotne ustawienie wag odszyfrowanie zawartości, kolejna metoda to zapis do pliku tutal walimy duzo śmieci plus nas serial, 1024 to optimum, razem z serialem przy zapisie uwzględniaj jakąś istotną rzecz ktora uniemoźliwiła by skopiowanie pliku, np numer seryjny dysku, jeśli sie zmieni wymagaj podania jeszcze raz seriala, następna metoda to zapis w zasobach exe swojego pliku.

filnij tez tutaj, troche odbiega od zapisu seriala, ale poruszony jest problem zabezpieczania funkcji sprawdzających
http://4programmers.net/Forum/viewtopic.php?id=36683

0

proponuje zrobic na poczatku progsa zmienna, w roznych czesciach progsa beda na niej wykonywane dzialania, pod koniec bedzie sprawdzane czy serjal=ta zmienna, cracker zeby dojsc jaka jest wartosc tej zmiennej bedzie sie musial nameczyc zeby znalezc jej poczatkowa wartosc, a potem przeanalizowac wszystkie dzialania

nieznam sie na crackowaniu wiec moge sie mylic
prosil bym kogos kto sie na tym zna o ocene tej metody

0

najlepiej jak serial jest generowany dla kazdego inny, uniemoźliwia to szerokie stosowanie, a twoja metoda niestety ogranicza sie do czegoś takiego, a cracker nie bedzie sie bawił w szukanie jak ona powstaje a tylko miejsce gdzie następuje porównanie, i stąd uzyska właściwy serial

0

ukrywanie w rejestrze to taka sobie metoda, bo sciagam 300 kilowy programik ktory pokazuje wszystkie operacje na rejestrze w danym momencie - po pewnym czasie sie dojdzie, choc nie latwo.

wspomniane wczesniej generowanie numeru na podstawie seriala dysku i innych parametrow sprzetowych to fajna i dosc skuteczna metoda, tylko schody sie zaczynaja gdy ktos zmieni sprzet - ciezko w tym momencie opracowac metode ktora nie zniweczy calego efektu.

0

roSzi przeczytaj jeszcze raz co napisałem, tutaj nie ma to nic dotego, zawsze działa ten sam serial, ale trzeba go ponownie podać, i nie mozna zarejestrować programu a potem skopiować koledze

0

Trzybobry!

Zaciekawil mnie ten temat, bo kiedys probowalem sil w crackingu [diabel] (ale olalem, bo asm jest cieeeeeeezki!). Podstawowa metoda (uzywana przez naprawde wielu tworcow softu) jest xorowanie. Jest to o tyle wygodne, ze jest w pelni odwaracalne i masz pewnosc, ze da sie potweirdzic autentycznosc przez odwrocenie A xor B = C, C xor A = B. Rozwiazanie to ma takie wady, ze wiekszosc o tym wie (crackerow) i na to glownie zwraca uwage. Przykladem jest WinZip i WinZip Self Extractor - prawie identycznie zabezpieczone (poprzez xorowanie name z wartosciami stalych) i seriali i keygenow jest po uszy, a i kazdy tutorial zaczyna sie od slow - "potrzebny bedzie WinZip i SoftIce". Mozesz przyjac jakas stala w programie, z ktora moglbys xorowac serial, a serial genrowac u siebie w domku na podstawie stalej (tej co w progsie) i jakiejs operacji matematycznej ( of course odwracalnej). Wszystko wsadzic do rejestru i odczytywac. Troche to niedopracowane (sorki), ale zawsze jakis trop.

Powodzenia i pozdrawiam [cya] :-) !!!

0

Ja bym radził wrzucić zabezpieczenie oparte na RSA o dużym kluczyku np 1024 i jakimś kodzie generowanym na podstawie komponentów kopma i już żadnego keygena na sieci nie uświadczysz. Teraz gdy do zrobienie keygena będzie potrzebny komp z NASA albo 5 lat (faktoryzacja liczb pierwszych) cracker weźmie się za patchowanie więc pakujesz program jakimś mało znanym pakerem żeby na sieci nie można było znaleźć unpackera (działa na mniej doświadczonych, i że zcrackować trzeba bawić się w inline patching, nikt nie będzie dystrybuował 1 mb cracka). Wrzuć do kodu w różnych miejscach triki anty sice, anty bpx itp... To jest dopiero zabezpieczenie.

0

A ja po prostu bym sie zastanowił czy te wszystkie metody są ci potrzebne :). Może po prostu namęczysz się z robieniem zabezpieczeń, a nie będą one potrzebne. A poza tym pamiętaj: najprostrze zabezpieczenia są zazwyczaj najskuteczniejsze ;). Jak już wielokrotnie wspominałem nie mam zielonego pojęcia o pisaniu nawet najprostrzych programów, ale sądzę, że mogłbyś spróbować opracować coś własnego np. zamiana znaków na kod ASCI i zakodowanie ich czymś co, jak mi Sheiti podpowiada, np. w PHP nazywa się MD5 :). Taki, wiesz, nieodwracalny algorytm kodowania. No, i jak go zaszyjesz gdzies glemboko w programie to moze sie nie domyslom. A reszte to chyba juz sam wymyslisz. w SPACJA końcu jestes mondrym chłopcem :).

0

ja bym myślał tak: Znaki zamieniać na ASCII xorować przez coś, wyniki jeszcze zaxorować i jescze coś do niego dopisać, a potem odjąć to co się dopisało, zxorować, zxorować i zamienić na zwykłe znaki. Proste ! :-)

0

ja bym myślał tak: Znaki zamieniać na ASCII xorować przez coś, wyniki jeszcze zaxorować i jescze coś do niego dopisać, a potem odjąć to co się dopisało, zxorować, zxorować i zamienić na zwykłe znaki. Proste ! :-)

Trzybobry!

Wybacz, ale sie nie zgodze. XORowanie jeden, dwa razy jest ok (vide: WinZip), ale xorowanie po kilka razy jest "babraniem". Marnuje to czas i sily programisty. Jest to po prostu stata czasu (naprawde wielokrotne xorowanie). Dodanie i odjecie tej samej wartosci jest prosta pulapka, ale ktos bardziej doswaidczony niz newbie szybko zalapie w czym rzecz. A poza tym, po tylu XORach zamiana ponownie na znaki moze byc niewykonalna, bo moga to byc HEXy dla znakow niewidocznych lub niemozliwych do przeslania w formie tekstu, aby je wpisac. No chyba, ze bylo by naprawde dobrze przemyslane xorowanie z wartosciami, ktore po kolejnych xorach dadza cos "wpisywalnego". Dobra rzecza jest natomiast szyfrowanie za pomoca kluczy publicznych i prywatnych, ale to chyba olbrzymia robota (ale w koncu ktos musi :-D ).


Dopisane, bo mi cos do glowy przyszlo :d

A propos wielokrotnego xorowania - nie jest to taki zly pomysl. Spotkalem sie kiedys z takim crackme, ktore nie ruszalo bez pliku reg.key, w ktorym byl serial. Serial mial jednak to do siebie, ze byl nie do obejrzenia w notatniku, bo zawieral wlasnie "niewidoczne" znaki. Dalo sie go edytowac tylko w hexedytorze. Podobne zabezpieczenie ma WinRar (od 2.8 w gore, o ile sie nie myle). Jest plik rarreg.key, ktory zawiera blok danych, ale raczej nie z xorowania :-). No nic tylko podrzucam pomysl.

Pozdrawiam!

0

To nic nie da, bo takie zabezpieczenie jest bardzo prosto zlamac - nawet poczatkujacy cracker to zrobi. Zrobi w ten sposob, ze kazde slowo bedzie powodowalo, ze warunek if zostanie spelniony i wersja zostanie zarejestrowana wiec nie ma co myslec o chronieniu klucza. Byc moze dobrym rozwiazaniem jest kontrolowanie CRC przez program.

0

Hmm kiedyś gdzieś czytałem że np. seriale od windowsów są tak robione, że wybierane są tylko określone znaki, tzn część z nich NIE MA żadnego wpływu na kod. Te wybrane znaki są jakoś zamieniane na sumę kontrolną, która podzielona przez jakąś liczbę ma dać jakąś tam inną liczbę, która jest ostatecznie porównywana...

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