Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как различить пакеты ? Два приложения шлют одинаковые пакеты 
:(
    Опции темы
SharedNoob
Дата 25.6.2007, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 25.6.2007
Где: UA

Репутация: нет
Всего: 5



Доброго времени суток. 
Пишу Античит для сетевой игры. 
Есть локальная сеть, допустим IP адрес компьютера игрока 192.168.0.2 , а ip сервера игры 192.168.0.1. 
Далее так. 
Запускается клиент игры, пакеты которого я направляю на клиент античита то есть на 192.168.0.2:6661, Клиент античита перенаправляет пакеты на сервер античита 192.168.0.1:7771, Сервер античита проверяет IP с которого присланы пакеты, если Ip разрешено(или к примеру не запрещено) подключатся к серверу игры то он перенаправляет пакеты на порт сервера игры 192.168.0.1:4444, иначе откидывает эти пакеты. 

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

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

Для мапинга пакетов использую Indy IdMappedPortTCP. 

Подсткажыте как отличить пакеты посланные читом от пакетов посланных клинетом игры НА ЛОКАЛЬНОЙ МАШИНЕ?

Зараннее благодарен.
PM MAIL ICQ Skype   Вверх
Snowy
Дата 25.6.2007, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Чтобы избавиться от дублирования пакетов, введи порядковый байт-нумератор.
То есть каждый следующий пакет должен предворяться байтом, значение которого на 1 выше предыдущего.
Когда байт дойдёт до 255, он сбросится в 0 и пойдёт заново.
Если чит дублирует пакеты, то он продублирует и байт-нумератор пакета, оставив его прежним.
По данному поведению сервер сможет отличить нормальный пакет от дубликата.
Подобная система применяется в протоколе ICQ для защиты от записи/воспроизведения пакетов.

Добавлено через 1 минуту и 27 секунд
ЗЫ. И не забудь закрыть файрволом настоящий порт сервера от доступа извне.
PM MAIL   Вверх
_hunter
Дата 25.6.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



перехватывать connect() и send() и смотреть какое приложение шлет пакеты по указанному адресу. если не .exe-шник игры -- то тупо не send-ить. причем еще и проверку контрольной суммы .exe-шника прикрутить придется (чтобы переименование чита не помогло)


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
SharedNoob
Дата 25.6.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 25.6.2007
Где: UA

Репутация: нет
Всего: 5



2Snowy
Если бя у меня были исходники игры я бы уже давно изменил пакеты таким образом, но у меня на руках только .exe-шник. 

2_hunter
Можно поподробнее описать КАК узнать какое приложение пустило этот пакет ?
Я копаюсь с этим третий день, ничего не нашел.

Я перерыл свойства IdMappedPortTCP 10 раз. Нашол IP скоторого пришол пакет, порт, еще несколько свойств, но как определить какое приложение его послало найти так и не смог.

Это сообщение отредактировал(а) SharedNoob - 25.6.2007, 15:43
PM MAIL ICQ Skype   Вверх
SharedNoob
Дата 25.6.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 25.6.2007
Где: UA

Репутация: нет
Всего: 5



 smile 
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.