Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Шпион Клавиатуры


Автор: Kirgston 13.9.2008, 13:12
Как можна программно заблокировать клавишы Alt+tab, ctr+c, ctr+v ? Я просто делаю античит. Но там есть уязвимости. И мне например надо чтоб пользователи немогли скопировать один файл. Как это можна сделать? Помогите пожалуйста!

Автор: SneG0K 13.9.2008, 13:24
Kirgston, не думаю, что хорошим выходом антикопирования будет заблокировать клавиши ctrl-v и ctrl-c. Как же тогда копирование с помощью контекстного меню? или тотал командер? Это однозначно не выход. 

Что из себя этот файл представляет?

Автор: Kirgston 13.9.2008, 13:35
Дело в том что мы ставим сервер. И нам надо сделать так чтоб на него можна было зайти только через лаунчер, в котором вмонтирован античит. При нажатии в лаунчере кнопки "Старт" происходит разпаковка из лаунчера в папку игры игрового запускающего файла. И сразу идет запуск. Сорцов от того файла у меня нет. И нам надо както сделать чтоб лаунчер ( в котором висит античит) всегда был запущен когда запущена игра. В принцепе все хорошо. Но любой может свернуть игру (когда она уже запущена) и скопировать этот файл. А после вобще не запускать лаунчер, и играть с читами. Потому я и хочу чтоб както запретить копирование запускного файла. И сделать чтоб игру без лаунчера нельзя было запустить

Автор: ama_kid 13.9.2008, 13:47
Цитата(Kirgston @  13.9.2008,  14:35 Найти цитируемый пост)
Потому я и хочу чтоб както запретить копирование запускного файла. 
Копировать, как тебе уже намекнул SneG0K, можно не только с помощью Ctrl+C - Ctrl+V. Поэтому ты пытаешься решать проблему частным путём. Это имхо не выход. Я бы на твоем месте рассмотрел вариант запрета сворачивания игры\ланчера\чего там ещё необходимо...


Автор: Kirgston 13.9.2008, 14:09
Да можна и таким путем.... но понимаете это такая игра... вобщем конструкция у нее тупая. Это единственная игра где читера доминируют. Тоисть есть программа которая умеет делать оконный режим. Да и очень многим не нравиться когда игра не сворачивается. Ну представте вы играете (там есть такое понятие как АФК - нажимаете кнопочку и можете уйти от компютера, персонаж будет прокачиватся без вас) и тут вам стучат в Асю, надо чтото найти в интернете или ещо чтото, а члены вашей команды ушли от компютера. А если вы выйдете из команды - щитайте что все пропало... вам надо искать другую команду. Это крайне неудобно !  И темболее там оконный режим весит в реестре. И я думаю что любая другая программа написаная дядей читером может изменить значение с 0 на 1 и игра будет в оконном режиме.

P.S. Тот кто видел MuOnline меня поймет

Автор: RA 14.9.2008, 09:53
Kirgston, скинь этот файлик, есть идея .. 

Автор: Mayk 14.9.2008, 10:09
винда позволяет 
а) удалять запущенный .exe'шник 
или
б) пускать .exe из памяти? (вот http://www.security.org.sg/code/loadexe.html нечто подобное рассматривается)
? я бы копал в эту сторону.

Автор: Kirgston 14.9.2008, 16:08
RA, 
Какой именно? Запускной игры?
Вот --- http://letitbit.net/download/a389a337294/main.rar.html

Или вы имели ввиду сам лаунчер?

Автор: SneG0K 14.9.2008, 21:51
Kirgston, самый хороший вариант предложил Мяук. Так что копай в сторону запуска файла из памяти. Или сразу после запуска сотри его нафик!

Автор: Kirgston 15.9.2008, 06:41
Да... но там на С++ :( а я его пока не знаю. Только Делфи. Удалять файл нельзя. Ето же онлайн ММО. Удалиш-вылетиш с игры. Можете както помочь? С файлом из памяти или что? Просто это ММО. Я не знаю как оно будет общатся с сервером...

Автор: RA 15.9.2008, 07:34
Kirgston, не получилось файл портится от вмешательств из вне.  :(

Автор: Kirgston 15.9.2008, 08:35
Смотря как вмешаться )))))) Если поменять порт + ип + серийник - можна. Я спокойно открываю НЕХ едитором и переписываю. Разве что попробовать вмешаться из "вне" с помощью дебаггера.
А что вы хотели сделать?

Автор: dumb 15.9.2008, 08:48
Kirgston, launcher с анти-читом показывай.

Автор: Kirgston 15.9.2008, 09:40
Сорц или ехе?

Автор: Virtuals 15.9.2008, 09:50
имхо все это изврат, потому что:
1. любой файл запущенный в системе, независимо как в памяти или с диска, вполне реально скопировать, это неоспоримый факт!
2. если этот файлик появился у одного, то он, рано или поздно окажется у всех.

ЗЫ 
нужно идти проверенным путем*
многие античиты это програ висящая в памяти и:
с одной стороны, следит за ситемой пользователя
с другой, ведет постоянный обмен с серверной частью игрового сервера.
как только замечено что либо подозрительное или пропал коннект то, кик на сервере, текущего клиента.

Автор: Kirgston 15.9.2008, 10:11
Да я так с начала хотел. Запускаеш не челер лаунчер - кик. Но! Архитиктура игры такая что можна сделать дисконект только вручную. Программой которая скомпилированя. И все. Люди уже более 5ти лет пытаются решить эту проблему, но все напрмасно. Может както банить ИП на 1 секунду на сервере?

Автор: Virtuals 15.9.2008, 10:21
Kirgston, не может быть чтоб с сервера нельзя было кикнуть клиента, че нет типа админской консоли?
накрайняк можно и файрволом доступ прикрывать smile 

Автор: dumb 15.9.2008, 10:25
Цитата(Kirgston @  15.9.2008,  10:40 Найти цитируемый пост)
Сорц или ехе? 
а. ланчер сами писали? а анти-чит? и что он из себя представляет этот анти-чит - отдельный .exe или как?

Автор: Virtuals 15.9.2008, 10:29
Kirgston, если совсем нет никакой возможности програмно рулить сервером, ну хотя-бы програмно кнопки жать
то 
изврат но попробовать стоит такое:

клиент античита передает серваку что клиент чист и можно играть
сервер античита сравнивает ид клиента по своей базе, получает его IP (по свойствам соединения от клиента), и открывает доступ в файрволе для такоготоИП и такогото порта.
как тока серверу че не понравилорсь так сразу рубить разрешающее_правило из файрвола
(если лень писать свой фаер, то смотри в сторону консольного файрвола WIPFW)

Автор: Kirgston 15.9.2008, 10:53
Virtuals, 
Нет нету там консоли. Там только Коннект Сервер. Программно там ничего не зделаеш. Только кликами мышки.


dumb, 
Да сам. Это один файл. Который загружаеться, после чего создаються потоки. Которые сканируют на наличие в процессах и приложения именных программ - читов. Если находят то через tlhealp32 завершают процесс. 


Virtuals, 
Ну у меня разве такая идея... чтоб настроить файрволл так чтоб если от него ответа 3 секунды то заблокировать на 1 секунду ИП с которого был коннект. Но как это сделать?

Автор: Virtuals 15.9.2008, 11:11
Цитата

Ну у меня разве такая идея... чтоб настроить файрволл так чтоб если от него ответа 3 секунды то заблокировать на 1 секунду ИП с которого был коннект. Но как это сделать?

поправь предложение не понял что хотел сказать.
///
вбей в поисковик
WIPFW
почитай... это консольный фаер, и управлять им сможеш просто
start ipfw действие номер_правила тело

Автор: Kirgston 15.9.2008, 13:01
Все я нашол статейку (очень не маленькую) ну хорошо. Допустим я тогда прочту что и как мне можна изменять в файрволле. Но а как его прикрутить к Делфям? И работать Клиент-Сервер?

Добавлено через 11 минут и 25 секунд
Все я нашол статейку (очень не маленькую) ну хорошо. Допустим я тогда прочту что и как мне можна изменять в файрволле. Но а как его прикрутить к Делфям? И работать Клиент-Сервер?

Автор: dumb 15.9.2008, 15:38
Kirgston, держи временный вариант: http://ifolder.ru/8137229
чтобы он запустился, в своем ланчере ты должен сделать:
Код
CreateMutex(nil, true, PChar('MUOACLMUTEX'));


ps. не проверял, ибо игры самой у меня нет, а ставить - бэ.

Автор: Virtuals 15.9.2008, 15:55
Kirgston, 
http://wipfw.sourceforge.net/index-ru.html
почитай пока, дабы хоть какое то представление иметь...

Добавлено через 5 минут и 18 секунд
dumb, батенька да вы хакер smile , а что будет если геймеры найдут оригинальный файл?, а они найдут!

Автор: Kirgston 15.9.2008, 22:19
Цитата(dumb @ 15.9.2008,  15:38)
Kirgston, держи временный вариант: http://ifolder.ru/8137229
чтобы он запустился, в своем ланчере ты должен сделать:
Код
CreateMutex(nil, true, PChar('MUOACLMUTEX'));


ps. не проверял, ибо игры самой у меня нет, а ставить - бэ.

о_О
Да вы ШАЙТАН! Что вы зделали?  smile  примерчиком не поделитесь? smile т.к. там вшыт ИП + порт + серийник и мы если будем чтото изменять то надо будет переделать все... пожалуйста  smile  и вот ещо такой вопрос... если я WinLicense криптую? То еффект останиться? Ведь мне обязательно надо криптовать такой штукой чтоб никто не увидел, порт, ип, а главное серийник.  smile 
Очень благодарен!

Автор: dumb 16.9.2008, 03:19
Цитата(Kirgston @  15.9.2008,  23:19 Найти цитируемый пост)
Да вы ШАЙТАН! Что вы зделали?
user posted image

этот .exe выглядит весьма потрепанным: изначально он был запакован asprotect'ом, потом его сняли, потом "вкрыжили" подгрузку zend.dll, потом еще и muforeva.dll, потом "закоротили" вывод ошибки в случае  отсутствия zend.dll.
а я вставил проверку существования мьютекса(писал "на коленке", поэтому даю копирку "с коленки"):
Код

.007C2845: 6803287C00                   push        0007C2803  ----- (1)
.007C284A: FF150C327C00                 call        LoadLibraryA ;KERNEL32.dll
.007C2850: 09C0                         or          eax,eax
.007C2852: 7413                         je         .0007C2867  ----- (2)
.007C2854: 683B287C00                   push        0007C283B  ----- (3)
.007C2859: 50                           push        eax
.007C285A: FF1508327C00                 call        GetProcAddress ;KERNEL32.dll
.007C2860: FFD0                         call        eax
.007C2862: 68B42D7C00                   push        0007C2DB4  ----- (4)
.007C2867: FF150C327C00                 call        LoadLibraryA ;KERNEL32.dll
.007C286D: EB21                         jmps       .0007C2890  ----- (5) ; jmp to oep > jmp к нам
.007C286F: F5                           cmc
.007C2870: FD                           std
.007C2871: FF6A00                       jmp         f,[edx][00]
.007C2874: 6813287C00                   push        0007C2813  ----- (6)
.007C2879: 6823287C00                   push        0007C2823  ----- (7)
.007C287E: 6A00                         push        000
.007C2880: FF15B0347C00                 call        MessageBoxA ;USER32.dll
.007C2886: 6A00                         push        000
.007C2888: FF1514327C00                 call        ExitProcess ;KERNEL32.dll
.007C288E: 90                           nop
.007C288F: 90                           nop
; начало нашего кода
.007C2890: E841000000                   call       .0007C28D6  ----- (8)
.007C2895: 0BC0                         or          eax,eax
.007C2897: 75ED                         jne        .0007C2886  ----- (9)
.007C2899: 50                           push        eax
.007C289A: 8D0C24                       lea         ecx,[esp]
.007C289D: 51                           push        ecx
.007C289E: 50                           push        eax
.007C289F: 50                           push        eax
.007C28A0: 68C0287C00                   push        0007C28C0  ----- (A)
.007C28A5: 50                           push        eax
.007C28A6: 50                           push        eax
.007C28A7: FF15E8307C00                 call        CreateThread ;KERNEL32.dll
.007C28AD: 59                           pop         ecx
.007C28AE: E978F5FDFF                   jmp        .0007A1E2B  ----- (B) ; jmp to OEP
.007C28B3: db 'MUOACLMUTEX', 0, 0
.007C28C0: E811000000                   call       .0007C28D6  ----- (1)
.007C28C5: 0BC0                         or          eax,eax
.007C28C7: 75BD                         jne        .0007C2886  ----- (2)
.007C28C9: 68E8030000                   push        0000003E8 ;"  ш"
.007C28CE: FF1564317C00                 call        Sleep ;KERNEL32.dll
.007C28D4: EBEA                         jmps       .0007C28C0  ----- (3)
.007C28D6: 68B3287C00                   push        0007C28B3  ----- (4)
.007C28DB: 6A01                         push        001
.007C28DD: 6A00                         push        000
.007C28DF: FF15BC317C00                 call        CreateMutexA ;KERNEL32.dll
.007C28E5: FF1584317C00                 call        GetLastError ;KERNEL32.dll
.007C28EB: 3CB7                         cmp         al,0B7 ;"╖"
.007C28ED: B800000000                   mov         eax,000000000 ;"    "
.007C28F2: 7401                         je         .0007C28F5  ----- (5)
.007C28F4: 40                           inc         eax
.007C28F5: C3                           retn


никакие "навесные" прибамбасы(вроде крипторов) естественно не будут влиять на работу нашего кода.

Автор: Kirgston 16.9.2008, 13:20
еммммм а вы откуда узнали что там был АС Пак? Как мне узнать или был криптор или его сняли и т.д.? Просто я только учусь ... и до ассемблера...  smile вобщем я его не знаю smile
Код

.007C28DF: FF15BC317C00                 call        CreateMutexA ;KERNEL32.dll
.007C28E5: FF1584317C00                 call        GetLastError ;KERNEL32.dll
.007C28EB: 3CB7                         cmp         al,0B7 ;"╖"
.007C28ED: B800000000                   mov         eax,000000000 ;"    "
.007C28F2: 7401                         je         .0007C28F5  ----- (5)
.007C28F4: 40                           inc         eax
.007C28F5: C3                           retn


Если я не ошибаюсь именно тут вы вставили Mutexa. А что это такое? smile с чем его едят ?  smile 

и после чего его надо вставлять?  smile   
Большое спасибО!  smile 

Автор: Virtuals 16.9.2008, 18:08
Kirgston, 
качай DRKB, полезно будет smile 
Цитата

© DRKB
Mutex (Mutually Exclusive)

Мутекс – это объект синхронизации, который находится в сигнальном состоянии только тогда, когда он не принадлежит ни одному из процессов. Как только хотя бы один процесс запрашивает владение мутексом, он переходит в несигнальное состояние и остается в нем до тех пор, пока не будет освобожден владельцем. Такое поведение позволяет использовать мутексы для синхронизации совместного доступа нескольких процессов к разделяемому ресурсу. 


по русски, флаг в системе, типа ктот тут флажек поставил значит можно...

Цитата

еммммм а вы откуда узнали что там был АС Пак? Как мне узнать или был криптор или его сняли и т.д.? Просто я только учусь ... и до ассемблера...   вобщем я его не знаю

.по коду узнать можно много чего, особо если при взломе не подчищали за собой (разного рода кряки этим не заморачиваются)
.без знания асма (и еще много чего) вам такое недоступно, но со временем возможно, при желании учится smile 

но еще раз повторюсь!
весь этот дзен с кодом безпользы если пользователь найдет оригинал файла!!! тупо "погуглив"

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

ЗЫЗЫ это все не мои идеи, а опыт анализа античитов, самых популярных игр  smile 

Автор: Kirgston 16.9.2008, 19:28
Цитата(Virtuals @ 16.9.2008,  18:08)
Kirgston, 
качай DRKB, полезно будет smile 
Цитата

© DRKB
Mutex (Mutually Exclusive)

Мутекс – это объект синхронизации, который находится в сигнальном состоянии только тогда, когда он не принадлежит ни одному из процессов. Как только хотя бы один процесс запрашивает владение мутексом, он переходит в несигнальное состояние и остается в нем до тех пор, пока не будет освобожден владельцем. Такое поведение позволяет использовать мутексы для синхронизации совместного доступа нескольких процессов к разделяемому ресурсу. 


по русски, флаг в системе, типа ктот тут флажек поставил значит можно...

Цитата

еммммм а вы откуда узнали что там был АС Пак? Как мне узнать или был криптор или его сняли и т.д.? Просто я только учусь ... и до ассемблера...   вобщем я его не знаю

.по коду узнать можно много чего, особо если при взломе не подчищали за собой (разного рода кряки этим не заморачиваются)
.без знания асма (и еще много чего) вам такое недоступно, но со временем возможно, при желании учится smile 

но еще раз повторюсь!
весь этот дзен с кодом безпользы если пользователь найдет оригинал файла!!! тупо "погуглив"

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

ЗЫЗЫ это все не мои идеи, а опыт анализа античитов, самых популярных игр  smile

Большое вам спасибо!!!
Щас уже качаю библиотеку. Дело в том что я учу асм.... но просто мы только 1 неделю назад (в институте) начали изучать. Там все не так просто... ну тоисть не очень сложно но много заморочек smile и мы учим только 8ми битки. А на сколько я знаю для семейства Интел аля Амд (нового поколения) там асм чуток другой, и на порядок сложнее... но уже азы начинаю понимать ;)

З.Ы. Ждем ответа товарища dumb

Добавлено через 6 минут и 17 секунд
Ой да... и забыл )))))) извените за дабл пост. Вобщем загуглиться не получится )))))) там идет серийник с помощю которого можна залазить на серв. Скачать скачает. Но там надо будет менять ип, порт, серийник. Поменяет если откроет НЕХ редактором )))))))) когда криптуеш то там уже ничего не поменяеш. Убеш код. Так что с загуглением отпадает ;)

Автор: Virtuals 16.9.2008, 20:01
хм... Х86 платформа изначально 16бит, потом идет 32бит расширение, далее защищенный режим, разного рода расширения типа ммх, и т.д.

ЗЫ асм= система комманд процессора, первооснова, а разные си и дельфи это надстройка для ленивых, более высокоуровневый язык
ЗЫЗЫ я слился до поры до времени

Автор: Kirgston 27.9.2008, 08:52
Ув. 
dumb, а каким дизассемблером или чем вы пользовались? Я чтото немогу найти тот код...

Автор: dumb 27.9.2008, 18:28
Цитата(Kirgston @  27.9.2008,  09:52 Найти цитируемый пост)
а каким дизассемблером или чем вы пользовались?
в данном случае - hiew. 
Цитата(Kirgston @  27.9.2008,  09:52 Найти цитируемый пост)
Я чтото немогу найти тот код... 
о каком коде идет речь?

Автор: Kirgston 27.9.2008, 21:34
Спасибо буду искть

Ну код где вы создаете мутекс. Искал строку и ненашол :( Там надо просто криейт мутекс или с ещо всякими прибамбасами? И в Делфи я могу поставить любую строку создания мутекса? или именно ту что вы дали? Спасибо !!!

Автор: Kirgston 28.9.2008, 09:17
Ув. Только этот код

Код

007C28DF: FF15BC317C00                 call        CreateMutexA ;KERNEL32.dll

 
Отвечает за создание мутекса? Или ещо какието ?

Автор: Kirgston 28.9.2008, 11:08
Очень прошу напишыте пожалуйста как приблезительно делать мутекс. Буду очень благодарень. Я перечитал много литературы. Всюду есть мутекс в делфи\С++\юниксе и т.д. но нету как делать связь асм и делфи. Помогите ОЧЕНЬ прошу!!! БОЛЬШОЕ СПАСИБО!!!

Автор: Virtuals 29.9.2008, 06:28
Kirgston, в DRKB сходи, там все разжевано
Цитата

Синхронизация процессов при работе с Windows (статья

Автор: Kirgston 29.9.2008, 08:10
Да читал ;) уже давно скачал ДРКБ smile но там описано как сделать Мутекс для Делфи. А для делфи у меня уже есть... а мне надо Мутекс вписать в мой маин. Вот посмотрите как зделал dumb . Вот нечто такое мне надо сделать опять smile конешно он дал код куда это втулить... но... хе хе... я незнаю перед чем это втулить smile  smile 

Автор: Virtuals 29.9.2008, 11:47
Kirgston,  smile , нифига не понял...
какая разница на каком языке создается Mutex?, хоть дельфи хоть си да что угодно,... в конечном итоге оно станет 
вида:
Код

007C28DF: FF15BC317C00                 call        CreateMutexA ;KERNEL32.dll


а вот куда вложить это, то в каждом конкретном случае смотреть нуна.
ЗЫ не обижайтесь, но може пока рано заниматся кодпатчингом?, тут явно нужен, мягкоговоря, другой уровень программирования.

ЗЫЗЫ + еще раз повторюсь, это бесполезно!, рано или поздно (боюсь что очень рано) геймеры узнают про ваш мьютекс, и за 3 минуты в любом компиляторе его сваяют. (так что ваша защита сымается на раз, и нужно на порядок меньше знаний и времени чтоб ее снять)
да и код дизасмить эллементарно, даже если все закриптуете (нет ничего невозможного в коде физически доступном на своем компе, аксиома), а правильный путь уже подсказал выше (придуман не мной, подсмотрен у античитов достаточно популярных игр)

Автор: Virtuals 29.9.2008, 12:12
--
да вот тебе картинка для понимания что есть, предложенное тебе
 smile 
Код

007C28DF: FF15BC317C00


Автор: Virtuals 29.9.2008, 12:15
--
да вот тебе картинка для понимания что есть, предложенное тебе
 smile 
Код

007C28DF: FF15BC317C00


Автор: Kirgston 30.9.2008, 16:26
Да я понимаю )))) я знаю как его сделать ;) но незнаю как и куда поставить флажок на проверку есть ли мутекс. Это елементарная защита )))) конешно потом надо будет делать защиту на уровне файрволла. Но щас нету времени :( быстрее думаю сделать мутекс... да и не каждый юзер додумается сделать мутекс самому, темболее некаждый знает слово программирование...

Автор: Virtuals 30.9.2008, 19:55
Kirgston, 
как? уже описано выше с помощью любого редактора hiew рулит
куда? учим асм и анализируем где есть свободное место в коде, далее пихаем туда свое, и делаем джамп из основного кода
Цитата

конешно потом надо будет делать защиту на уровне файрволла. Но щас нету времени :( быстрее думаю сделать мутекс

имхо на уровне файрвола быстрее и надежней //заодно и научитесь эллементарным правилам для безопасности.
Цитата

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

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

знает слово программирование...

а если один нашел то через неделю будут знать все!

Автор: Kirgston 3.10.2008, 10:56
Хорошо будем копать в ту сторону ))))
Но вопросик ещо один... вот например есть программа для читов. Скажем имеет название cheat.exe и сидит в памяти так. Я её удаляю с процессов. Или с приложений. Если её переименовать в cheat2.exe то она уже будет в процессах и в приложениях висеть именно под cheat2.exe . Есть какие то способы "убить" такие программки которые меняются от имени программы. 

Автор: Kirgston 4.10.2008, 17:28
Ребята подскажите пожалуйста. Чит программа изменяет имя процесса на то которое данно пользователем. Ну тоисть я назвал прогу чит.ехе и в процесах она также будет названа, и в приложениях тоже - как с таким чудом боротся? Ведь если переименовать прогу то простое удаление с процесса не поможет... :(

Автор: Virtuals 5.10.2008, 12:53
Kirgston, самый простой способ
большинству для работы нужно окно! (это-ж винда и все заточено под окна), соответственно если этот чит имеет окна (видимые или нет, неважно) то его можно отловить через наличие окна с опр классом или названием, ну или какими либо другими признаками окна
сложнее но надежней, это открытие каждого процеса, и поиск в коде опр последовательностей (поиск по сигнатурам в памяти) smile

Добавлено через 2 минуты и 21 секунду
еще один совет, не стоит удалять чит из процессов, стоит лочить и баннить пользователя, пусть сам живет со своими читами

Автор: Kirgston 5.10.2008, 15:03
Да он конешно имеет свои окна, но я же говорю что окно меняется от имени программы. Я переименовал програму в чит.ехе и сразу окно переименовалось в чит.ехе. Я смотрел на WIPFW ... )))) С++ )))) а я там ещо не бум-бум. Делфи покачто изучаю... ну..... логично что надо чтоб блочить тогда видеть какие пакеты чит отсылает, но как? О_о 

Автор: Virtuals 5.10.2008, 16:43
smile  smile  smile 
за код ногами небить, чисто тесто, для понимания что есть окна

Добавлено через 2 минуты и 50 секунд
WIPFW есть готовый к употреблению файрвол, в самом простом случае управляется с коммандной строки типа 
ipfw номерправила тело...

Автор: Kirgston 5.10.2008, 17:57
Да я понял ))))) я в курсе что они есть )))) но я же говорю что если я создам ..... еееее ладно щас попробую сам написать ))))
Просто я закрываю чит по определьонному окну. А как его закрыть если он постоянно меняется? ))))

Автор: Virtuals 5.10.2008, 18:11
Kirgston, ну тогда
Цитата

сложнее но надежней, это открытие каждого процеса, и поиск в коде опр последовательностей (поиск по сигнатурам в памяти) 


Автор: Kirgston 5.10.2008, 18:13
Ну вобщем если нажать правой кнопкой на будущий ехешник и зайти в вив сорц, то там с самого верху красуется program ***** так вот это значение устанавливется как := Application.ExeName; И тогда у тебя получается в процессах друге название программы и в окнах такоеже. Как тогда отследить если чит если программа будет названа asdasd.exe??? Также она будет красоватся в приложениях ))) и команда WM_Close явно не подойдет т.к. мне что тогда переберать все возможные комбинации кнопок на клавиатуре? )))))))

Добавлено через 6 минут и 7 секунд
Тоисть ты предлогаеш.... например выводить список процессов, тогда заглядывать внутрь каждого из них и проверять или в нем нету совпадающего кода? )))))

Автор: Virtuals 5.10.2008, 18:39
Kirgston, 
1. мой пример посмотри, не важно как называется запускаемый файл, фажно признаки его окон
2.
Цитата

Добавлено через 6 минут и 7 секунд

именно так, и самое главное пофиг будет как его закриптовали, в памяти будет исходник smile , это самое правильное решение (и самое распространенное у античитов и антивирусов)

Автор: ConstantinXXX 5.10.2008, 22:24
Можно написать программку которая будет при поевлении или в определенный момент дампить твой файлик в другую папку и там уж запрещай сворачивать прогу, отключай ctrl+v and ctrl+c это все непоможет! Надо написать драйвер который будет на уровне системы сидеть и блочить любое постороненние обращение к файлу.

Автор: Kirgston 6.10.2008, 08:59
ConstantinXXX, а вы не подскажете как написать именно такую программу чтоб на системном уровне запрещала любые обращения к файлу?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)