Перейти к содержанию
Авторизация  
ElMatador

Anticheatupdate

Рекомендуемые сообщения

Сделал сервак дело подошло к концу но тут я задумался о защите полазия по форумам я выбрал 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;

----------------------------------------------------------------------------------------------------------------------------------------------------------------

И вот мне интересно что это за код что он делает и будет ли фунцианировать (там где нашёл описания небыло)

если каму несложно можете рассказать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

код написан на делфи, проверяет заголовки окон программ и в случае если находит запрещенный, то убивает процесс и не подгружает сам клиент...защита безпонтовая, обойдет ее даже школьник...вообщем не советую...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что посоветуеш из бесплатных и чтоб с установкой попроще ну или хотяб мануал был.

Заренее Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

бесплатных нормальных защит нету, AntiCheatUpdate наверное самая лучшая из бесплатных...советую с первым донатом взять леймгвард

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так мне стоит вписать этот код или оставить как есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...