Forum

Zabezpieczenie programu przed kopiowaniem

[+] Twoje konto

Subskrybuj kanał najnowszych wypowiedzi w tym temacie

Wątek Forum > Porady > Programowanie > Zabezpieczenie programu przed kopiowaniem

Jak uniemożliwić skopiowanie programu
Idź do strony:1
Ocena: (Ocen: 0)
Wypowiedzi 1 - 7 z 7
 Zarejestrowany, zwieszony miktel Kopiuj nick (83.17.98.*) |  
Wypowiedź dodana: 14 sierpnia 2013, 08:16:15
« Opcje

Poszukuję programu do zabezpieczenia mojego programu przed kopiowaniem znalazłem taki program ale coś nie działa http://4programmers.net/Delphi/Artyku%C5%82y/Zabezpieczenie_prgramu_przed_kopiowaniem
,może ktoś ma inny pomysł ale sprawdzi czemu ten nie działa

 Gość REKLAMA Kopiuj nick (*->*)
Wypowiedź dodana: 14 sierpnia 2013, 08:16:16

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (176.102.83.*) |  
Wypowiedź dodana: 14 sierpnia 2013, 20:13:14
« Opcje

Temat jest szeroki jak rzeka. Można wykorzystać pewne elementy sprzętu (np numer seryjny dysku, MAC karty sieciowej, numer płyty głównej, BIOSu, instalacją systemu). Ponadto można wszystko to połączyć.

Pytanie - jaki poziom zabezpieczeń chcesz osiągnąć i z czym związać program?

Osobiście kiedyś wykonywałem coś podobnego i wniosek jest taki, że sprawa jest złożona. Ostatecznie przyjąłem rozwiązanie poszukiwania numeru seryjnego instalacji systemu w rejestrze. Niestety metoda wymaga pisania osobnych procedur pod każdy z systemów operacyjnych. Ale podobnie przedstawia się sprawa z odczytem danych sprzętowych.

Osobną kwestią zostaje, kiedy to zapisać i w jaki sposób. Tu też zależy wszystko od tego, jak chcesz dany program dystrybuować.

Być może wystarczającym okaże się generowanie podczas instalacji unikalnego klucza i przesłanie go na serwer, który uwierzytelni później program.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 Zarejestrowany, zwieszony miktel Kopiuj nick (83.17.98.*) |  
Wypowiedź dodana: 16 sierpnia 2013, 08:08:12
« Opcje

Potrzebne jak najprostsze rozwiązanie tak by program był przywiązany do danego komputera czyli klijent odczytuje jakiś parametr komputera przysyła mi te dane ja odsyłam klucz w pliku tekstowym który program sprawdza. Nic skomplikowanego bo i tak na upartego wszystko mozna złamać. Myślałem coś takiego jak w załączonym linku tylko że to mi nie chce działać

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (176.102.83.*) |  
Wypowiedź dodana: 16 sierpnia 2013, 18:14:22
« Opcje

Jeśli faktycznie ma być związane z komputerem, a nie z klientem to proponuję takie rozwiązanie:

1. Podczas instalacji (fajnie byłoby mieć instalator) generowany jest jakiś losowy ciąg znaków i zapisywany do rejestru. Może to też być np. imię i nazwisko, które dana osoba sobie wprowadzi, ale wówczas stracimy związanie z komputerem.
2. Ty (oraz podobną możliwość lecz niejawną miałby program) generujesz na podstawie tego inny klucz (jakakolwiek funkcja hashująca, nawet stworzona samemu).
3. Klient ją wprowadza, a program zapisuje do rejestru. Przy każdym uruchomieniu dokonuje również hashowania pierwszego ciągu i porównuje z zapisanym kluczem.

Jeśli choć jeden ciąg nie istnieje - traktujemy program jako niezarejestorwany.

Dla utrudnienia można oba klucze np przechowywać w postaci struktury/rekordu a całość zapisywać jako binarny ciąg do rejestru.

Jeśli koniecznie chcemy związać program z jakimś elementem sprzętowym lub instalacją Windows, to w pierwszym kroku pobieramy dany identyfikator.

Niestety nie mam pod ręką żadnych gotowców na pobranie np. numeru instalacji Windowsa.

Co do sprzętu to jest to zawsze nieco śliski temat. Więc jeśli nie potrzebujesz aż takiego związku, to lepiej odpuścić sobie.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 Zarejestrowany, zwieszony miktel Kopiuj nick (83.17.98.*) |  
Wypowiedź dodana: 20 sierpnia 2013, 09:01:37
« Opcje

Potrzebuje związać instalace z komputerem żeby nie mozna było uruchomić tej samej wersji na kilku stanowiskach tak że wpis do rejestru nic nie daje bo posiadając wersje instalacyjną będzie można instalować dowolną ilość razy.

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (176.102.83.*) |  
Wypowiedź dodana: 20 sierpnia 2013, 18:27:42
« Opcje

Ależ nie. Zainstalowanie nic nie da do momentu, aż nie udostępnisz klucza dezaktywującego. A przecież każda instalacja generowałaby inny identyfikator.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.19.69.*) |  
Wypowiedź dodana: 21 sierpnia 2013, 08:23:36
« Opcje

Pogrzebałem trochę po kodach - uzywałem kiedyś takiej identyfikacji komputera:

function GetCompSerialNumber: String;
const
CODE_LEN=24;
var
Code: String;
ToHash: String[CODE_LEN];
x: Integer;
begin
Code:='';
with TRegistry.Create do begin
try
RootKey:=HKEY_LOCAL_MACHINE;
if OpenKeyReadOnly('SOFTWARE\\Microsoft\\Windows\\CurrentVersion') then begin
Code:=ReadString('ProductId');
CloseKey;
end;
if Code='' then begin
if OpenKeyReadOnly('SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion') then begin
Code:=ReadString('ProductId');
CloseKey;
end;
end;
if Code='' then begin
if OpenKeyReadOnly('SOFTWARE\\Microsoft\\Windows\\CurrentVersion') then begin
if ValueExists('DigitalProductId') then begin
SetLength(Code,GetDataSize('DigitalProductId'));
ReadBinaryData('DigitalProductId',Code[1],Length(Code));
end;
CloseKey;
end;
end;
if Code='' then begin
if OpenKeyReadOnly('SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion') then begin
if ValueExists('DigitalProductId') then begin
SetLength(Code,GetDataSize('DigitalProductId'));
ReadBinaryData('DigitalProductId',Code[1],Length(Code));
end;
CloseKey;
end;
end;
if Code='' then
Code:=SidToStr(False);
finally
Free;
end;
end;
if Code='' then Exit;
//TUTAJ teraz odbywało się dodatkowo hashowanie wartości.
end;


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 
Idź do strony:1

[+] Pokaż/odśwież listę czytających i monitorujących ten wątek

Podobne tematy:
Tytuł wątkuDziałWypowiedziWyświetleńOcenaOstatnia wypowiedź
WątekUnRAR
Komentarze dotyczące programu UnRAR (program twórcy programu WinRAR)
Komentarze / Moje programy i teksty82 273 16.01.2006 10:32:15
Ważne!WątekLogi
Masz log z jakiegoś programu, ale nie wiesz, jak go czytać i co z niego wynika? Wrzuć go tutaj i poproś o pomoc!
Logi programu HijackThis możesz sprawdzić także na stronie www.hijackthis.de!
Porady / Oprogramowanie, systemy operacyjne454 433 14.03.2010 15:24:42
WątekThunderbird, folder programu w Win i Lin, zawieszenia w LinPorady / Oprogramowanie, systemy operacyjne8384 17.11.2007 14:57:49
Wątek[VisualBasic] Nieprawidłowości w dziąłaniu programu szachowegoPorady / Programowanie485 25.06.2010 18:38:11
WątekLED
Komentarze dotyczące programu LED
Komentarze / Moje programy i teksty7335 31.07.2005 12:56:15

Nowa wypowiedź

Nowa wypowiedź
Nie jesteś zalogowany; będziesz traktowany jako gość!
Zaloguj Zaloguj
Nick (gość): | Przepisz ten kod [?]: 3e3ae:
Tekst:

 

Subskrybuj kanał najnowszych wypowiedzi w tym temacie


Chcesz mieć też takie forum na swojej stronie? Napisz!

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie
 
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.
Ładowanie...

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2017 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 22.09.2014 12:12
Wszystkie czasy dla strefy czasowej: Europe/Warsaw