zabezpieczenie malego EXE pod DOS'a
Widzisz wersję archiwalną tematu "zabezpieczenie malego EXE pod DOS'a" z forum pl.comp.security
sebart - 24 Maj 2000, 03:00
Moze ktos zna programik ktory potrafi tak "przerobic" programik dosowy - maly exe, aby zabezpieczyc go przed dalszym kopiowaniem. Np haslo przy uruchomieniu ale inne za kazdym razem - w/g zdefiniowanego klucza. lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie"
programik juz jest nie moge go tak poprostu wyslac mailem do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
dzieki Seba.
Bartlomiej Figas - 24 Maj 2000, 03:00
Czesc,
Produkt nazywa sie Privilege izraelskiej firmy Aladdin. Na naszej stronie
Moze ktos zna programik ktory potrafi tak "przerobic" programik dosowy - maly exe, aby zabezpieczyc go przed dalszym kopiowaniem. Np haslo przy uruchomieniu ale inne za kazdym razem - w/g zdefiniowanego klucza. lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie"
programik juz jest nie moge go tak poprostu wyslac mailem do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
dzieki Seba.
-- Własna strona WWW, w 5 minut, bez znajomości HTML - http://wizytowka.pl
Krzysztof Pułapa - 24 Maj 2000, 03:00
Moze ktos zna programik ktory potrafi tak "przerobic" programik dosowy - maly exe, aby zabezpieczyc go przed dalszym kopiowaniem. Np haslo przy uruchomieniu ale inne za kazdym razem - w/g zdefiniowanego klucza. lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie"
programik juz jest nie moge go tak poprostu wyslac mailem do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
Nic prostszego jak odczytać numer karty sieciowej. Tj. gość ci przysyła swój numer karty sieciowej. Ty generujesz hasło oparte na tym numerze i wpisujesz do programu. Kompilujesz i już masz program przywiązany do karty sieciowej ;-)
Raczej wątpliwe, aby ktoś wymieniał się kartą, zwłaszcza jeśli różnią się cenami.
Chyba inna możliwość to numer BIOSu ? W ogole cos, co zalezy konkretnie od komputera, a jest na pewno w kazdym egzemplarzu.
Jesli to Pentium III to mozna program przywiązać do numeru procesora ;)
RAmbo8 - 24 Maj 2000, 03:00
Moze ktos zna programik ktory potrafi tak "przerobic" programik dosowy - maly exe, aby zabezpieczyc go przed dalszym kopiowaniem. Np haslo przy uruchomieniu ale inne za kazdym razem - w/g zdefiniowanego klucza. lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie" programik juz jest nie moge go tak poprostu wyslac mailem do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
gostek dostal program, zapisal na twardzielu i...
uruchamia program prog.exe po czym program przed uruchomieniem tego co oczeqje ten facio zapisuje sobie w bliku prog.exe text: "echo to byl tylko szerler" i zamienia rozszerzenie z .exe na .bat
zawsze sqtkowalo :) nikt nie wpadl na pomysl zeby najpierw zapisac gdzies program w kilq katalogach a potem odpalac...
ale nie zawsze jest to sqteczne.
mozesz sobie zrobic procedure, ktora bedzie zmieniac haslo. zaloozmy ze haslo zapiszesz jaki chr$(numer_znaku) to sobie zroob tak, zeby sie numer zmienil i tyle...
Grzegorz Pycka - 24 Maj 2000, 03:00
Moze ktos zna programik ktory potrafi tak "przerobic" programik dosowy - maly exe, aby zabezpieczyc go przed dalszym kopiowaniem. Np haslo przy uruchomieniu ale inne za kazdym razem - w/g zdefiniowanego klucza. lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie"
programik juz jest nie moge go tak poprostu wyslac mailem do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
Najlepiej będzie, jak progam na koniec swojego działania usunie się z dysku, przy okazji go formatując. Wtedy gość nie zechce go drugi raz uruchamiać :-) A na poważnie - klucz sprzętowy. Albo coś w rodzaju SecurID - kody generowane w zależności od aktualnego czasu : w/g jakiegoś algorytmu obliczasz u siebie kod, będący funkcją daty i godziny, a ten program pyta się o kod i sprawdza, czy pasuje do daty na komputerze klienta. I Ty za każdym razem podajesz ten kod (np. przez telefon), kasując $$$. Warunek - musicie mieć zsynchronizowane zegarki w komputerach. Wada - gość może być cwany i cofać sobie zegar. Podobne rozwiązanie to klient-server. Program, żeby zadziałał, musi skontaktować się z serwerem i uzyskać od niego "zgodę" (np. przez Internet) Możliwości jest dużo. Jak wiesz, gdzie będzie ten program uruchamiany, to możesz powiązać go z hardware-m. W ten sposób działa np. licencja na popularną platformę do zarządzania siecią : numer (seryjny ?) procesora lub MAC karty sieciowej.
Robert R. Wal - 24 Maj 2000, 03:00
On 00.05.24 sebart pressed the following keys:
Moze ktos zna programik ktory potrafi tak "przerobic" programik dosowy - maly exe, aby zabezpieczyc go przed dalszym kopiowaniem. Np haslo przy uruchomieniu ale inne za kazdym razem - w/g zdefiniowanego klucza. lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
programik juz jest nie moge go tak poprostu wyslac mailem do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
Jeśli potrafisz (ja nie potrafię, ale wiem, że to się da zrobić), to odczytaj i zapisz w trakcie instalacji programu numer biosu, kontrolera, twardego dysku, sektor, w którym zaczyna się kod programu, numer sprzętowy karty sieciowej i jeszcze parę danych charakteryzujących środowisko, w którym program pracuje. Potem sprawdzaj, czy te dane zapisane zgadzają się z odczytanymi po uruchomieniu i odmawiaj pracy, jeśli nie.
Można go będzie przenieść gdzie indziej z wersji instalacyjnej, ale przeniesiona sama binarka nie będzie pracować. Program skończy też pracę po apgrejdzie sprzętowym, czy defragmentacji, które zmienią czytaną konfigurację komputera, więc musisz uprzedzić legalnego użytkownika, żeby dokonał jego reinstalacji po takich zmianach, na przykład w komunikacie o odmowie współpracy.
To oczywiście dotyczy tylko sytuacji ,,tylko na tej maszynie'' i działa wyłącznie przy dobrej woli posiadacza wersji instalacyjnej.
Robert
Jacek Piskozub - 24 Maj 2000, 03:00
| Moze ktos zna programik ktory potrafi tak "przerobic" | programik dosowy - maly exe, aby zabezpieczyc go | przed dalszym kopiowaniem.
[...]
Nic prostszego jak odczytać numer karty sieciowej. Tj. gość ci przysyła swój numer karty sieciowej. Ty generujesz hasło oparte na tym numerze i wpisujesz do programu. Kompilujesz i już masz program przywiązany do karty sieciowej ;-)
Skuteczne, ale nadmiernie skomplikowane ze strony uzytkownika. Nie dosc, ze musi miec te karte sieciowa (nadal nie kazdy PC ma), to ma utrudnione zycie jesli chce upgradowac (lub w ogole wymienic) komputer. A co jesli karta sie zepsuje? W sumie nie masz prawa nie wyslac mu nowej wersji w takich wypadkach, a to juz daje uzytkownikowi wybieg jak dostac program na drugi komputer.
Na tez zasadzie mozesz zwiazac licencje z danym numerem IP (i po sprawdzeniu tego numeru przez Twoj serwer przesylac klucz za kazdym uruchomieniem programu). Klienci nie maja stalego IP? Niech sobie kupia ;-) To po prostu zbyt utrudnia zycie, abym kupil od Ciebie taki program. Sprawdzaj tez routery po drodze, zeby sprawdzic czy uzytkownik nie zamienil sie z kims numerami IP ;-)
Chyba inna możliwość to numer BIOSu ? W ogole cos, co zalezy konkretnie od komputera, a jest na pewno w kazdym egzemplarzu.
Jesli to Pentium III to mozna program przywiązać do numeru procesora ;)
I jeszcze numer dysku twardego. Dodawaj tez dyskietke, na ktorej fizycznie uszkodzone bedzie kilka sektorow, na kazdym egzemplarzu innych; niech Twoj program to sprawdza. Najlepiej wszystko na raz zeby juz do cna obrzydzic zycie uzytkownikom :-(
JP.
Bartlomiej Figas - 24 Maj 2000, 03:00
Jeszcze o Privilege: 1. Wersja Demo jest za darmo - ale dziala jak wersja pełna 2. w pakiecie jest program, ktory na podstawie sprzetu u klienta generuje id - unikalny dla danego komputera. program mozna zabezpieczyc wiec na ten numer id. 3. programik zabezpieczony gdzies zapisuje sobie w komputerze informację że już był uruchomiany i ile razy - w ten sposób nie wystarczy skopiować jeszcze raz programu aby chodził- trzeba kupić licencję. Gdzie to jest zapisywane to tajemnica firmy Aladdin.
Bartek F.
Bartlomiej Figas Systherm Info
Czesc,
Produkt nazywa sie Privilege izraelskiej firmy Aladdin. Na naszej stronie
| Moze ktos zna programik ktory potrafi tak "przerobic" | programik dosowy - maly exe, aby zabezpieczyc go | przed dalszym kopiowaniem. Np haslo przy uruchomieniu | ale inne za kazdym razem - w/g zdefiniowanego klucza. | lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie"
| programik juz jest nie moge go tak poprostu wyslac mailem | do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
| dzieki | Seba.
-- Własna strona WWW, w 5 minut, bez znajomości HTML - http://wizytowka.pl
-- Wysoka jakość, niskie ceny - http://rubikon.pl
Grzegorz Szyszlo - 24 Maj 2000, 03:00
Skuteczne, ale nadmiernie skomplikowane ze strony uzytkownika. Nie dosc, ze musi miec te karte sieciowa (nadal nie kazdy PC ma), to ma utrudnione zycie jesli chce upgradowac (lub w ogole wymienic) komputer. A co jesli karta sie zepsuje? W sumie nie masz prawa nie wyslac mu nowej wersji w takich wypadkach, a to juz daje uzytkownikowi wybieg jak dostac program na drugi komputer.
chyba ze umowa licencyjna stanowi inaczej, czyli np. "program moze byc uzytkowany wylacznie na komputerze, ktory podal uzytkownik w momencie zakupu tegoz programu" :)
rownie durna licencje ma antywirus "Prot" lub cos takiego. licencja na jego uzywanie jest ograniczona w czasie. dokladnie ja czytalem i z podziwu wyjsc nie moglem. licencje z ograniczeniem czasowym na uzytkowanie ma tez program PGP Desktop.
I jeszcze numer dysku twardego. Dodawaj tez dyskietke, na ktorej fizycznie uszkodzone bedzie kilka sektorow, na kazdym egzemplarzu innych; niech Twoj program to sprawdza. Najlepiej wszystko na raz zeby juz do cna obrzydzic zycie uzytkownikom :-(
to ja jeszcze proponuje odczytanie czestotliwosci monitora. przez protokol DDC i jego nastepcow sie da :) mozna takze odczytac numer seryjny czytnika CD. mozna tez odczytac numer seryjny komputera, jesli jest to komputer markowy. mozna odczytac klucz podpinany do LPT. mozna zapamietac sektor startowy ktory zajmuje kod programu. tyle zeczy mozna, a piraci i tak swoje wiedza :)
Adam Kułagowski - 24 Maj 2000, 03:00
Nic prostszego jak odczytać numer karty sieciowej. Tj. gość ci przysyła swój numer karty sieciowej. Ty generujesz hasło oparte na tym numerze i wpisujesz do programu. Kompilujesz i już masz program przywiązany do karty sieciowej ;-)
ifconfig z opcja hw ?
Pozdrawiam
Krzysztof Pułapa - 25 Maj 2000, 03:00
| Nic prostszego jak odczytać numer karty sieciowej. | Tj. gość ci przysyła swój numer karty sieciowej. Ty generujesz | hasło oparte na tym numerze i wpisujesz do programu. Kompilujesz | i już masz program przywiązany do karty sieciowej ;-) ifconfig z opcja hw ? Pozdrawiam
Bez zartow .... zakladam, ze to program pod DOS ;-))
Adam - 25 Maj 2000, 03:00
Moze ktos zna programik ktory potrafi tak "przerobic" programik dosowy - maly exe, aby zabezpieczyc go przed dalszym kopiowaniem. Np haslo przy uruchomieniu ale inne za kazdym razem - w/g zdefiniowanego klucza. lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie" programik juz jest nie moge go tak poprostu wyslac mailem do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
jesli chodzi o tylko raz - starczy zdefiniowac licznik zapisywany np. w naglowku pliku EXE (ew. zaszyfrowany) po uruchomieniu, program otwiera swojego nosiciela i modyfikuje licznik jesli licznik jest od jakiejs zalozonej wartosci - moze sie w skrajnym wypadku skasowac ... jesli koles nie jest zbyt dobry w reverse engineering - masz problem z glowy
(mozna licznik przechowywac w osobnym pliku aby unknac problemow z wspoldzieleniem plikow) np. plik 4096 bajtow, z ktorych n-ty i m-ty bajt to mnie i b. znaczaca czesc licznika reszta to randomowe wartosci, calosc zaszyfrowana za kazdym razem i przepisana
ale z Soft-Icem to to jest zadna przeskoda ...
Jacek Piskozub - 25 Maj 2000, 03:00
Jeśli potrafisz (ja nie potrafię, ale wiem, że to się da zrobić), to odczytaj i zapisz w trakcie instalacji programu numer biosu, kontrolera, twardego dysku, sektor, w którym zaczyna się kod programu, numer sprzętowy karty sieciowej i jeszcze parę danych charakteryzujących środowisko, w którym program pracuje. Potem sprawdzaj, czy te dane zapisane zgadzają się z odczytanymi po uruchomieniu i odmawiaj pracy, jeśli nie.
Proponuje polaczyc to z moimi wczorajszymi propozycjami i wysylac to wszystko siecia do autora programu, razem z numerami rejestracyjnymi Windows i innych programow znalezionymi w rejestrze, a takze haslem uzytkownika Windows - da sie je uzyskac wywolujac funkcja API Windy. Dopiero po sprawdzeniu tego wszystkiego Twoj serwer (a jeszcze lepiej Ty sam, kiedy Ci sie zechce zajrzec do bazy danych) wysle programowi kod potrzebny do odpalenia - zalezny od daty, zeby nastepnego dnia klient musial zaczynac wszystko od poczatku - nie musze chyba dodawac ze programik ma sprawdzac date przez siec, zeby sie nie dalo oszukac cofajac ja na komputerze.
Można go będzie przenieść gdzie indziej z wersji instalacyjnej, ale przeniesiona sama binarka nie będzie pracować. Program skończy też pracę po apgrejdzie sprzętowym, czy defragmentacji, które zmienią czytaną konfigurację komputera, więc musisz uprzedzić legalnego użytkownika, żeby dokonał jego reinstalacji po takich zmianach, na przykład w komunikacie o odmowie współpracy.
Widzisz, jesli da sie dokonac reinstalacji to da sie ez zainstalowac na innm komputerze. Tu jest wlasnie caly dylemat: albo program bedzie niespotykanie upierdliwy albo da sie go oszukac. W dobrze pojetym interesie autora programu jest nie przeginanie, bo programu ktory przestanie dzialac np. po zmianie dysku na wiekszy rozsadny czlowiek po prostu nie kupi.
To oczywiście dotyczy tylko sytuacji ,,tylko na tej maszynie'' i działa wyłącznie przy dobrej woli posiadacza wersji instalacyjnej.
Wlasnie. Czyli nadmierne sprawdzanie numerow karty, dysku czy BIOSu i tak nic w takim przypadku nie dadza.
J.
be2good2u - 25 Maj 2000, 03:00
| Można go będzie przenieść gdzie indziej z wersji instalacyjnej, ale | przeniesiona sama binarka nie będzie pracować. Program skończy też pracę po | apgrejdzie sprzętowym, czy defragmentacji, które zmienią czytaną | konfigurację komputera, więc musisz uprzedzić legalnego użytkownika, żeby | dokonał jego reinstalacji po takich zmianach, na przykład w komunikacie o | odmowie współpracy. Widzisz, jesli da sie dokonac reinstalacji to da sie ez zainstalowac na innm komputerze. Tu jest wlasnie caly dylemat: albo program bedzie niespotykanie upierdliwy albo da sie go oszukac. W dobrze pojetym interesie autora programu jest nie przeginanie, bo programu ktory przestanie dzialac np. po zmianie dysku na wiekszy rozsadny czlowiek po prostu nie kupi.
Witam,
Pozwole sobie wtracic maly watek odnosnie proponowanych w tym topiku zabezpieczen programu.
Opisany powyzej sposob autoryzacji ma wlasnie Altkom Matrix w swojej symfonii. Klucz na pudelku sluzy do wygenerowania podczas instalacji nowego klucza, który wysyła się do altkomu, a oni w zamian przysylaja kod aktywacyjny, ktory nalezy wprowadzic do programu aby nie wylaczyl sie po miesiacu. Przy kazdej nowej instalacji, wymianie dysku lub komputera trzeba starac sie o nowy klucz i wyspowiadac panience z pomocy technicznej dlaczego go potrzebujemy.
Pisze o tym a propo twojego ostatniego zdania, "..że rozsądny czlowiek tego nie kupi.." i masz racje, ale musi o tym wiedziec wczesniej. Niestety Altkom o pozniejszych zabawach z instalacja nie informuje w momencie zkupu programu. Moim zdaniem Altkom - sucks !
Pozdrowienia
Krzysztof Halasa - 26 Maj 2000, 03:00
Jeszcze o Privilege: 1. Wersja Demo jest za darmo - ale dziala jak wersja pełna 2. w pakiecie jest program, ktory na podstawie sprzetu u klienta generuje id - unikalny dla danego komputera. program mozna zabezpieczyc wiec na ten numer id. 3. programik zabezpieczony gdzies zapisuje sobie w komputerze informację że już był uruchomiany i ile razy - w ten sposób nie wystarczy skopiować jeszcze raz programu aby chodził- trzeba kupić licencję. Gdzie to jest zapisywane to tajemnica firmy Aladdin.
Takie programy zwykle wiecej problemow przysparzaja legalnym uzytkownikom niz nielegalnym, pamietam jak kiedys musialem ponad godzine siedziec nad jakims dziadowskim programem do prowadzenia firmy zabezpieczonym w ten sposob, bo dysk sie zepsul i nie mozna bylo wykonac nowej instalacji, a producent programu moglby ewentualnie cos z tym zrobic w ciagu tygodnia (firma niestety nie mogla sobie pozwolic na tygodniowa przerwe).
Wiadomo ile jest w komputerze miejsc w ktorych mozna cos zapisac, wiadomo tez ze zapisanie czegokolwiek do wiekszosci z tych miejs moze powodowac problemy w dzialaniu komputera. Oczywiscie dla kogos, kto przynajmniej troche zna sie na komputerach, porownanie zawartosci dyskow, CMOS itp nie stanowi zadnego problemu.
Klucze sprzetowe tez nie sa idealne, ale przynajmniej bardziej utrudniaja skopiowanie programu i nie powoduja zlych skojarzen z producentem programu u uzytkownikow.
[NrG] - 28 Maj 2000, 03:00
Moze ktos zna programik ktory potrafi tak "przerobic" programik dosowy - maly exe, aby zabezpieczyc go przed dalszym kopiowaniem. Np haslo przy uruchomieniu ale inne za kazdym razem - w/g zdefiniowanego klucza. lub cos w rodzaju "mozesz uruchomic tylko na tej maszynie"
programik juz jest nie moge go tak poprostu wyslac mailem do goscia ale chce zeby (tylko on) lub (tylko raz) mogl go uruchomic.
Ja cos takiego robilem,pare dobrych lat temu,kiedy dystrybuowalem gry (wtedy chyba jeszcze nie bylo ustawy antypirackiej :) Chcialem,zeby dana gra chodzila tylko na danym kompie, ktorego uzytkownik wykupil sobie u mnie "licencje" ;P Technika byla strasznie prymitywna,bo mialem wtedy chyba ze 14 lat,a polegala na tym,ze najpierw dawalem gosciowi
gdzies na dysku jakis plik (np.c:\dos\starter.xyz), a nastepnie sam sie kasowal. Potem dawalem mu wczesniej spreparowana gre (ze swoim exekiem,ktory sprawdzal obecnosc pliku c:\dos\starter.xyz) i jezeli go znalazl,odpalal gre (oczywiscie oryginalny plik exe - np.dyna.exe - byl szyfrowany jakims prostym algorytmem - chodzilo o to,zeby nie zmieniac tylko nazwy pliku na np.gfx.dat - bo wtedy wystarczy podejrzec poczatek pliku,by poznac,czy jest wykonywalny). Tak wiec wygladalo to tak: Gosc odpala moj program (dyna.exe),ktory sprawdza,czy istnieje plik c:\dos\starter.xyz. Jesli istnieje,deszyfruje plik gfx.dat do dyna_.exe,uruchamia go,po zakonczeniu gry,szyfruje go usuwa dyna_.exe (pozostawiajac zaszysfrowany dyna.dat).Jesli nie istnieje,nie odpala. Technika,jak wspomnialem prymitywna,ale wtedy wystarczala, po prostu nikt nie wiedzial,na jakiej to dziala zasadzie. To tyle,ale czy sie przyda,to nie wiem :) Pozdrawiam
Czy mozna uzywac Direct 3D przy zastosowaniu Builder'a 1.0 lub C++ 4.0 Borlanda?
Jeszcze raz: jak wyciągnąć URL z paska adresu Internet Explorer'a?
Czy pliki MS Access 95, sa dobrze zabezpieczone przed niepowolanym dostepem ?
zmiany kont linux'owych przez HTTP/PHP/CGI
krzysztof;tusinski
oznaczenia elektryczne
magazyn pan
chemia 2010 oke odpowiedzi
wymagania formalne
sony ericson w900i
legia to
procesory do komputera
drink recipes
Katalog wypowiedzi z for internetowych ^^ Strona Główna
|
|