haslo na program

0

czesc mam problem

chodzi o to ze mam napisany program w delphi .. i chcialbym zeby ten program byl na haslo.. ale
jesli wysle go komus to haslo bedzie tylko dzialalo tej osobie... a jak ta osoba wysle dalej ten program to zeby nie mozna bylo go juz otworzyc na innym kompie... chce zeby ten program nie moglbyc rozsylany bez mojej wiedzy .. czy mozna cos takiego zrobic?

z gory dzieki za jakas rade:)

0

Hasło na program czy program na hasło? :)

Jeśli chcesz zrobić program na 1 kompa do nadpisuj exe'ka wpisując nr dysku swojego kompa a potem przy starcie programu niech porównuje z numerem kompa docelowego.

0

napisz programik do rejestracji ktory wyslesz do tego co ma twoj program. Program bedzie tworzyl jakis tam klucz na podstawie np. numeru seryjnego dysku tego kogos poczym on wysyla ten klucz do ciebie a ty na innym programie zamieniasz go w hasło i odsylasz do niego. Program przy starcie bedzie sprawdzal numer dysku odpowiednio go przekształcał i na tej podstawie sprawdzi czy hasło jest prawidłowe.

0

A ja mam lepsze rozwiązanie niż babranie się numerami seryjnymi... TYLKO NIKOMU NIE MÓW ;-)
Kodu źródłowego Ci nie podam..bo szefowie by się obrazili ;-) Podam Ci tylko metodę działania.. sam skombinuj sobie kod:) ok??

Metoda działania:

Program przy pierwszym uruchomieniu generuje klucz1. Ten klucz to może być losowa liczba.. zabawa z datą.. itp. Klient wysyła ten klucz do sprzedawcy. Sprzedawca w generatorze klucza wpisuje klucz1 i generuje klucz2. Klucz2 jest wysyłany do klienta a on go wpisuje w program.
Oczywiście klucz2 to może być jakakolwiek matematyczna operacja. Klucz1 można dodatkowo zaszyfrować np. zamieniając 1 na 6, 2 na 4 itd. Wszystko możesz zapisywać w rejestrze lub w zaszyfrowanym pliku.. Możliwości są naprawdę duże..

Przepraszam, że tak skromnie to opisałem, ale jak już mówiłem szefowie by mnie zabili ;-)

Jakieś pytania, wątpliwości.. proszę pisać.. spróbuję pomóc ;-)

Pozdrawiam Dawid

0

Program przy pierwszym uruchomieniu generuje klucz1. Ten klucz to może być losowa liczba.. zabawa z datą.. itp. Klient wysyła ten klucz do sprzedawcy. Sprzedawca w generatorze klucza wpisuje klucz1 i generuje klucz2. Klucz2 jest wysyłany do klienta a on go wpisuje w program.
Oczywiście klucz2 to może być jakakolwiek matematyczna operacja. Klucz1 można dodatkowo zaszyfrować np. zamieniając 1 na 6, 2 na 4 itd. Wszystko możesz zapisywać w rejestrze lub w zaszyfrowanym pliku.. Możliwości są naprawdę duże..

Taa, a na drugi dzień na google znajdę keygena hehe.
Babranie się z jakimiś kluczami heh.

0

Taa, a na drugi dzień na google znajdę keygena hehe.
Babranie się z jakimiś kluczami heh

Taa.. Keygena.. jasne..
Tylko program może przy "zabawie z datą" generuje co sekundę nowy zaszyfrowany klucz1. U mnie w programie jest 26,5 mln kombinacji.. aby ktoś miał taki sam klucz jak jego klumpel musiałby w tej same j sekundzie uruchomić program.

CD-KEY-a nie znajdziesz.. chyba, że znasz operację jakie są wykonywane na kluczu1 i kluczu2, oraz gdzie są one zapisywane itd.

Widzę chyba, że niezbyt jasno to wytłumaczyłem skoro są pytania.. jutro spróbuję to zrobić lepiej bo dzisiaj nie mam niestety czasu..

0

wystraczy poznac sposob (tudziez zabawa z dekompilacja) i twoje "zabawy" poszly w "kartoszku"

0

tak.. wystarczy poznać sposób.. tak samo jest z numerami seryjnymi.. to nie uniknione
ale lofix wyobraź sobie sytuację..
Dajesz komercyjny program w sieci.. nie chce Ci się robić osobno dema i pełnej wersji.. łączysz to w jednym pliku .exe (demo ma np. ograniczone funkcje) ... ok.. powiedzmy że demo spodobało się klientowi i zamierza kupić wersję pełną.. po załatwieniu wszystkich formalności klient dostaje kod.. wpisuje go i daje innej osobie.. ta osoba bezprawnie używa Twojego programu nie płacąc za niego.. po tygodniu twoje hasło jest w necie.. i koniec z zarobku.. dlatego ja wymyśliłem swoje zabezpieczenie przed taką sytuacją.. powiem jeszcze raz dokładniej.

Za pierwszym razem gdy klient uruchamia program, zaszyfrowana aktualna data zapisywana jest do rejestru.. ta data przy każdym uruchomieniu programu jest pobierana z rejestru i wyświetlana jako informacja dla użytkownika jako klucz1. Klient, aby mieć dostęp do wersji pełnej wysyła klucz1 do sprzedawcy. Sprzedawca ma generator klucza2. Wpisuje klucz1 i generuje klucz2. Wysyła go klientowi. Klient go wpisuje i ma dostęp do pełnej wersji. Klucz2 może to być np. suma dzisiejszej daty (czyli klucza1) + jakaś liczba. Jeśli dekoder sprawdzający poprawność wpisanych kluczy uzna że oba klucze to wynik operacji matematycznej wbudowanej w program to automatycznie klient ma dostęp do pełnej wersji... nadal ktoś tego nie rozumie?? Oczywiście to zabezpieczenie da się złamać jak każde inne..

0

PoP_Gniezno nic nie szkodzi na przeszkodzie, żebym wziął i od kumpla, który ma zarejestrowany ten program, skopiował zarówno generowanego kodu jak i Twojego przesłanego na podstawie tego pierwszego. Jak to zrobić - bardzo prosto - przed instalacją odpalam monitora rejestru + monitora hdd i tak samo przed rejestracją i już wiem gdzie i co zapisuje. Bez debugerów, softice;ów i inyych takich. Jak pierwotny klucz będzie miał związek ze sprzętem to już jest gorzej bo program nie łyknie mi pierwotnego klucza a co za tym idzie również klucza wygenerowanego przez Ciebie. Oczywiście zmiana sprzętu to potrzeba wygenerowania nowego klucza itd. To znowu możesz się bawić w klucze sprzętowe na USB, RS czy LPT. Koszt jednostkowy to z tego co pamiętam ok 80zł za sztukę. Możesz się też bawić w łączenie z serwerem za każdym razem jak program startuje.

ALE KAŻDE ZABEZPIECZENIE MOŻNA ZŁAMAĆ - pytanie tylko czy to się opłaci? Ale patrząc na listę cracków na stronach spokojnie można przyjąć, że jak coś jest dobre to wcześniej czy później stanie się "darmowe". Inna sprawa, że jak firmę (no i osobę prywatną też) ktoś na takim przekręcie złapie to kosztuje to ciężkie pieniądze

0

mysle ze nie ma idealnego sposobu na zabezpieczenie programu. Zawsze znajdzie sie ktos kto wymysli sposob zeby to zabezpieczenie zlamac. Kiedys spotkalem sie z komponentem AVLock. Dalo sie wnim robic aplikacje na haslo, ograniczenia czasowe itp. Jak chcesz to poszukaj w necie. Nie stety nie pamietam gdzie to widzialem ale mozesz sprawdzic na torry.net moze tam. Jednak tak jak wszystkie inne nie jest to najlepsze zabezpieczenia.

Pozdro!

0

Czytając tak wasze wypociny stwierdzam że ija muszę dodaćswoje trzy grosze.

Pomysł jest w miarę podobny ale ma swoje ciekawe właściwości.

  1. Aplikacja przed użyciem musi się zarejestrować zdalnie a wygląda to następująco:
    1.1 W tym celu zbiera informacje o systemie i wysyła je do serwera rejestrującego
    1.2 Serwer odpowiednio przygotowuje dane i je podpisuje, wysyła podpis jako hasło
    1.3 Aplikacja podczas uruchamiania zbiera dane o systemie
    1.4 Aplikacja po uruchomieniu czyta z pliku podpis (para[y,s] patrz http://pl.wikipedia.org/wiki/ElGamal)
    1.5 Ponieważ aplikacja ma dostęp do klucza publicznego może dokonać weryfikacji podpisu (?yys = ?H(m))
    1.6 Jeżeli zachodzi równość z punktu 1.5 podpis jest prawidłowy i można uruchomić aplikacje.

Kilka uwag: najlepiej żeby sprawdzanie czy podpis jest prawidłowy wykonywać przy każdym uruchomieniu a nie ustawiać jakąś flagę w rejestrach że jest zarejestrowany. Należy za wszelką cene ukrywać r które posłużyło do wygenerowania podpisu i rzecz jasna klucza prywatnego także. Jeśli to zostanie spełnoine powinno być ok. Dobrze by było gdyby w danych które brały udział w generowaniu podpisu był hash z pliku wykonywalnego copowinno ustrzec także przed zmianami w kodzie programu
wyba żekomuś się uda ominąć procedurę sprawdzania podpisu, ale można to skutecznie skomplikować pisząc odpowiednio kod.

Wady:
jeżeli podpis był wygenerowany na podstawie unikalnych cech sprzęty który następnie zniknie z systemu to aplikacja się nie uruchomi.

Zalety:
nawet po przeinstalowaniu systemu powinno wszystko działać na starym kodzie chyba że się jakiś numer seryjny windowsa wykorzystało :-) .

0

Mam cos dla osob o stałym IP... Najpierw program sprawdza IP przy pierwszym uruchomienieu, potem laczy sie z serwerem i z pliku IP.txt (IP to nr ip) pobiera jakis ciąg znaków (haslo) i potem tylko sprawdza, czy to jest to samo co wpisuje uzytkownik... wsio..

0

przy czym bez problemu można sobie przypisać do sieciówki taki sam adres IP jak sprawdzany, postawić serwer www i udostępnić ten plik, albo wyedytować kod programu i w miejscu sprawdzania warunku z plikiem zamiast jz dać jnz albo odwrotnie. jest to takie samo słabe zabezpieczenie jak każde inne.

0

a gdyby program pobieral dane z systemu np:serial dysku,jakies informacje z biosu
cos unikalnego tak jak serial dysku ,teraz przykladowo znajdzie sie 6 takich rzeczy. Wtedy generujemy dla kazdego z tych 6 rzeczy klucz szyfrujemy i wysylamy do nas.. my to odkodowujemy i szyfrujemy naszym algorytmem. potem przy otwieraniu programu sprawdzalby te klucze z informacjami pobranymi z systemu a dodatkowo sprawzdac CRC zeby nie robic z mian w pliku i nie pozwolic na omijanie procedur sprawdzania. ale pewnie i procedura crc do sprawdzania tez mozna ominac.ale dol ...

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