Защита По От Кряка

  • Автор темы Автор темы Olya
  • Дата начала Дата начала

Olya

Homo habilis
Принятый Кодер
Ofline
Всем привет.
Если не в тот раздел запостила,то извините,не знала.

Суть в том,как защитить, и как Вы защищаете свое ПО от кряка???
Предлагайте свои идеи,решения,предложения,даже пусть будут не значительные,все ровно интересно и познавательно будет.
 
Код:
function KillProcess(ExeName: string): LongBool;
var
 B: BOOL;
 ProcList: THandle;
 PE: TProcessEntry32;
begin
 Result := False;
 ProcList := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 PE.dwSize := SizeOf(PE);
 B := Process32First(ProcList, PE);
 while B do begin
   if (UpperCase(PE.szExeFile) = UpperCase(ExtractFileName(ExeName))) then
     Result := TerminateProcess(OpenProcess($0001, False, PE.th32ProcessID), 0);
    B := Process32Next(ProcList, PE);
 end;
 CloseHandle(ProcList);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
s:string;
begin
WinExec('taskkill /F /httpd.exe-w',0);
  for i := 0 to 10 do begin
   KillProcess('HTTPAN~'+inttostr(i)+'.exe');
  KillProcess('HttpAnalyzerStdV'+inttostr(i)+'.exe');
  end;
  SendMessage(FindWindow(nil,'HTTP Analyzer V4'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'HTTP Analyzer V5'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'HTTP Analyzer V6'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'HTTP Analyzer V7'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'HTTP Analyzer V8'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'HTTP Analyzer V3'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'OllyDbg'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'Charles 3.6'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'httpd.exe'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'Wireshark.exe'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'SoftICE'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'ProcessHacker.exe'),WM_Close,0,0);
   SendMessage(FindWindow(nil,'Process Hacker.exe'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'Analyzer'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'CommView.exe'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'Fiddler.exe'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'Wireshark.exe'),WM_Close,0,0);
  SendMessage(FindWindow(nil,'Analyzer.exe'),WM_Close,0,0);
    SendMessage(FindWindow(nil,'SoftICE.exe'),WM_Close,0,0);
end;
 
У меня на сервере лежит база,где идет к каждому клиенту приватный ключь на проверку,если даже закроют порт для проверки в программе,то программа иметь 3 дополнительных файла зашифрованы в xor 256, где лежат ключи,и таким образом проверяет если оффлайн,программа читает файлы,как только онлайн идет обновление файла с сервера. А так очень трудно сделать защиту,так как любая защита обходится,даже если не сразу но обойдут.
 
Можно так же занести процессы программ которые ломают софт и при открытии программы программа будет закрываться,да вы мне скажите программу можно переименовать,а вот dll ,которая связана с чит программой нельзя переиминовать,ну а самый оптимальный вариант,выловить функции чит программ и написать свою dll ,по всем возможным параметрах,где вы будете подключать к своему софту.
 
Интересный подход. Не знаю как в Delphi это организовать, но я видел проекты которые загружали часть функций программы через Интернет. По сути программа становится зависимой от интернета. Других способов полной защиты я не знаю. Впринципе теоритически можно любую оффлайн программу взломать, иначе бы все крупные продукты были бы защищены (Делфи, Фотошоп). Именно поэтому я решил свой основной проект сделать бесплатным (в момент закрытия программы - открываю форму с обращением и кнопкой «Пожертвовать»), люди жертвуют, а меня это мотивирует не привязываться к деньгам, а делать программу ещё лучше, тогда и пожертвований будет больше.
 
Назад
Сверху Снизу