C++ перехват пакетов - Страница 9 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Ответ
Опции темы
Непрочитано 03.08.2016, 13:58   #81
Пользователь

По умолчанию Re: C++ перехват пакетов

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Спасибо, вечером проверю, А модификация существующих пакетов работает корректно?
Ну если меняешь константные по размеру переменные, например всякие id'шники, то да. Или если меняешь строки на равные/более короткие, тогда тоже, достаточно остаток строки забить L'\0', и нормально. А вот если в сторону увеличения менять те же строки, то надо старый пакет удалять, и на его основе делать новый, как у меня собственно и сделано.

С другой стороны, никто не отменял округление выделяемого размера памяти, есть предположение, что для выделения памяти используется VirtualAlloc, который в принципе меньше размера страницы (4кб) не выделяет. Так что можно попробовать забить на реаллокацию, и тупо прямо в пакет нахерачить сверху данных, и посмотреть, что выйдет. Вечерком гляну.

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

Есть еще вариант, он не очень красивый, но тем не менее. Можно перехватывать вызов gmalloc, и если игра пытается выделить место под пакет (первый параметр == L"NetPacket"), тогда меняем размер на 64кб, например, которых точно хватит на любые изощрения. Тогда можно будет модифицировать любые игровые пакеты прямо на лету, как в большую, так и меньшую сторону, без всяких утечек памяти и реаллокации.
f1redark вне форума Ответить с цитированием
Непрочитано 03.08.2016, 14:26   #82
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: C++ перехват пакетов

Я над этим тоже думал:
Проблема в том, что необходимо увеличивать/сокращать количество аргументов т.е. например изменить тип системного сообщения (например ddd на dss), а значит удаление и создание нового пакета - самое то.
Я смотрел буфер, там после окончания пакета идет другой пакет (ну или мусор), поэтому мне стремно перетирать буфер.
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 03.08.2016, 14:38   #83
Пользователь

По умолчанию Re: C++ перехват пакетов

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Я над этим тоже думал:
Проблема в том, что необходимо увеличивать/сокращать количество аргументов т.е. например изменить тип системного сообщения (например ddd на dss), а значит удаление и создание нового пакета - самое то.
Я смотрел буфер, там после окончания пакета идет другой пакет (ну или мусор), поэтому мне стремно перетирать буфер.
Создание нового пакета - это самый чистый способ, тем более игровыми средствами. В этой точке можно: анализировать пакеты, удалять не желательные, модифицировать существующие, и добавлять свои, в общем, все, что нужно для счастья)
f1redark вне форума Ответить с цитированием
Непрочитано 03.08.2016, 15:00   #84
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: C++ перехват пакетов

И мне кажется, что защита этот самый хороший способ блокирует
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 03.08.2016, 16:19   #85
Пользователь

По умолчанию Re: C++ перехват пакетов

Цитата:
Сообщение от Zubastic Посмотреть сообщение
И мне кажется, что защита этот самый хороший способ блокирует
Ну не конкретно этот, а само изменение вмт) это еще лама палила)
f1redark вне форума Ответить с цитированием
Непрочитано 03.08.2016, 16:46   #86
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: C++ перехват пакетов

Интересно как обходить подобное. Ну кроме траплинов внутри функций...
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 03.08.2016, 17:28   #87
Пользователь

По умолчанию Re: C++ перехват пакетов

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Интересно как обходить подобное. Ну кроме траплинов внутри функций...

Драйвер писать) в юзермоде мало возможностей)
f1redark вне форума Ответить с цитированием
Непрочитано 03.08.2016, 17:44   #88
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: C++ перехват пакетов

Неподписанные драйвера же на х64 не работают (если не включать режим).
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 03.08.2016, 17:50   #89
Пользователь

По умолчанию Re: C++ перехват пакетов

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Неподписанные драйвера же на х64 не работают (если не включать режим).
Купить сертификат не большая проблема, или воспользоваться дырой в уже подписаном драйвере, но свой сертификат конечно лучше. Тут гораздо большие проблемы вызывает PG.
f1redark вне форума Ответить с цитированием
Непрочитано 03.08.2016, 20:45   #90
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: C++ перехват пакетов

Цитата:
Здесь присутствуют: 8 (пользователей: 5 , гостей: 3)
Zubastic, Persy, B J, Пионер
Слиш скайп ок да?
__________________
Zubastic вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват и подмена пакетов Smiler ArcheAge 27 13.01.2023 04:12
Шифровка пакетов SiriusED Blade & Soul 8 23.07.2015 00:21
Подмен пакетов katanasmil Программирование / Programming 4 16.06.2014 19:24
Отправка пакетов(C#) Tezarius ArcheAge 6 13.03.2014 01:28
Перехват пакетов конкретного приложения под win32 Redvain Курилка / Yak floor 0 28.05.2009 12:46


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 09:08. Часовой пояс GMT +3.

Вверх