ElMatador 0 Опубликовано 13 ноября, 2010 Сделал сервак дело подошло к концу но тут я задумался о защите полазия по форумам я выбрал AntiCheatUpdate простой несложный. И я наткнулся вот на такой пост Вот что там было сказано ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Это в файл exe.ini: ---------------------------------------------------------------------------------------------------------------------------------------------------------------- function KillTask(ExeFileName: string): integer; //Убивает процесс по имени файла Exe const PROCESS_TERMINATE=$0001; max_L= 256; var Handle: HWND; str:array[0..max_L-1] of char; _caption:string; te: string; lpString:string; st: PChar; g:integer; ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin result := 0; FSnapshotHandle := CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := Sizeof(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); while integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then begin Result := Integer(TerminateProcess(OpenProcess( PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0)); end; ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end; ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Это в файл cap.ini: ---------------------------------------------------------------------------------------------------------------------------------------------------------------- procedure TForm1.Timer1Timer(Sender: TObject); const max_L= 256; max_L2= 256; var bl:boolean; str2:array[0..max_L-1] of char; str:array[0..max_L-1] of char; buff: array[0..127] of Char; _caption:string; _caption2:string; te:string; te2:string; lpString:string; y:string; st: PChar; g:integer; i:integer; Wnd: hWnd; begin for list_I:=0 to high(p_list1) do //Убивает все процессы из загруженного листа по имени exe begin killtask(p_list1[list_I]); end; killtask('patcher171.exe'); killtask('la2fun.exe'); killtask('ACP.exe'); killtask('wpf406.exe'); killtask('la2monster.exe'); killtask('WP406F.exe'); killtask('l2phx.exe'); killtask('la2reklamer.exe'); killtask('LordPE.EXE'); killtask('L2Walker.exe'); //убивает стандартные проги по Exe killtask('l2proxy.exe'); killtask('la2fun.exe'); killtask('L2Pilot.exe'); killtask('L2dummy.exe'); killtask('l2phx.exe'); killtask('la2brute.exe'); killtask('L2Cheat_InformeR_1.3.exe'); killtask('hlapex.exe'); kilLtask('la2brute.exe'); ListBox1.Clear; ListBox2.Clear; Wnd := GetWindow(Handle, gw_HWndFirst); //получение WND окна while Wnd <> 0 do begin if (Wnd <> Application.Handle) and {-Собственное окно} IsWindowVisible(Wnd) and {-Невидимые окна} (GetWindow(Wnd, gw_Owner) = 0) and {-Дочернии окна} (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) {-Окна без заголовков} then begin GetWindowText(Wnd, buff, sizeof(buff)); listbox2.Items.Add(inttostr(wnd)); ListBox1.Items.Add(StrPas(buff)); end; Wnd := GetWindow(Wnd, gw_hWndNext); end; ListBox1.ItemIndex := 0; ListBox2.ItemIndex := 0; for i:=0 to listbox2.Items.Count -1 do begin try wnd:=strtoint(listbox2.Items); except; end; if wnd <> 0 then begin getwindowtext(wnd,@str,max_L); te:=str; label1.Caption :=inttostr(g); label2.caption:=te; bl:=false; if (pos('L2 CHEAT',ansiuppercase(te)) <> 0 )or (pos('L2WALKER',ansiuppercase(te)) <> 0 )or (pos('LA2REKLAMER',ansiuppercase(te)) <> 0 )or (pos('PACKETHACK',ansiuppercase(te)) <> 0 )or (pos('LORDPE',ansiuppercase(te)) <> 0 ) or (pos('HLAPEX',ansiuppercase(te)) <> 0 ) or (pos('L2PROXY',ansiuppercase(te)) <> 0 ) or (pos('LA2BRUTE',ansiuppercase(te))<>0)or(pos('L2CHEAT',ansiuppercase(te))<>0)OR (pos('LA2FUN',ansiuppercase(te))<>0) OR (pos('L2PILOT',ansiuppercase(te))<>0) OR (pos('L2 CHEAT',ansiuppercase(te))<>0)OR (pos('L2PACKET',ansiuppercase(te))<>0) OR (pos('L@MONSTER',ansiuppercase(te))<>0)then begin bl:=true; //проверка Caption окана по списку стандартныъ end; for list_I:=0 to high(p_list2) do begin if (pos(ansiuppercase(p_list2[list_I]),ansiuppercase(te)) <> 0 ) then bl:=true; //проверка Caption окана по списку загруженных end; if bl then begin g:=0; PostMessage(FindWindow(nil,str), WM_CLOSE, 0, 0); PostMessage(FindWindow(nil, str), WM_QUIT, 0, 0); killtask('l2.dll'); MessageBox(handle,pchar('Program internal error, cant read memory 0xffffff memory is not read type'),pchar('Buffer overflow'),16); listbox2.Items.Delete(i); application.Terminate; end; end; end; end; ---------------------------------------------------------------------------------------------------------------------------------------------------------------- И вот мне интересно что это за код что он делает и будет ли фунцианировать (там где нашёл описания небыло) если каму несложно можете рассказать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bilaz 0 Опубликовано 13 ноября, 2010 код написан на делфи, проверяет заголовки окон программ и в случае если находит запрещенный, то убивает процесс и не подгружает сам клиент...защита безпонтовая, обойдет ее даже школьник...вообщем не советую... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ElMatador 0 Опубликовано 16 ноября, 2010 А что посоветуеш из бесплатных и чтоб с установкой попроще ну или хотяб мануал был. Заренее Спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bilaz 0 Опубликовано 16 ноября, 2010 бесплатных нормальных защит нету, AntiCheatUpdate наверное самая лучшая из бесплатных...советую с первым донатом взять леймгвард Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ElMatador 0 Опубликовано 16 ноября, 2010 Так мне стоит вписать этот код или оставить как есть? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bilaz 0 Опубликовано 16 ноября, 2010 вписывай советую почитать http://l2maxi.ru/java/addons/protection/12...2-serverov.html Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты