![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| SharedNoob |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 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. Подсткажыте как отличить пакеты посланные читом от пакетов посланных клинетом игры НА ЛОКАЛЬНОЙ МАШИНЕ? Зараннее благодарен. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Чтобы избавиться от дублирования пакетов, введи порядковый байт-нумератор.
То есть каждый следующий пакет должен предворяться байтом, значение которого на 1 выше предыдущего. Когда байт дойдёт до 255, он сбросится в 0 и пойдёт заново. Если чит дублирует пакеты, то он продублирует и байт-нумератор пакета, оставив его прежним. По данному поведению сервер сможет отличить нормальный пакет от дубликата. Подобная система применяется в протоколе ICQ для защиты от записи/воспроизведения пакетов. Добавлено через 1 минуту и 27 секунд ЗЫ. И не забудь закрыть файрволом настоящий порт сервера от доступа извне. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
перехватывать connect() и send() и смотреть какое приложение шлет пакеты по указанному адресу. если не .exe-шник игры -- то тупо не send-ить. причем еще и проверку контрольной суммы .exe-шника прикрутить придется (чтобы переименование чита не помогло)
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| SharedNoob |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.6.2007 Где: UA Репутация: нет Всего: 5 |
2Snowy
Если бя у меня были исходники игры я бы уже давно изменил пакеты таким образом, но у меня на руках только .exe-шник. 2_hunter Можно поподробнее описать КАК узнать какое приложение пустило этот пакет ? Я копаюсь с этим третий день, ничего не нашел. Я перерыл свойства IdMappedPortTCP 10 раз. Нашол IP скоторого пришол пакет, порт, еще несколько свойств, но как определить какое приложение его послало найти так и не смог. Это сообщение отредактировал(а) SharedNoob - 25.6.2007, 15:43 |
|||
|
||||
| SharedNoob |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 25.6.2007 Где: UA Репутация: нет Всего: 5 |
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |