eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме:
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Шифрование пакетов и онлайн игре
Посл.ответ Сообщение

Ранг: 0.4 (гость)
Статус: Участник

Создано: 25 апреля 2018 11:55 · Поправил: ZSavich New!
Цитата · Личное сообщение · #1

Здравствуйте! Сильно загорелся старой мечтой взломать игру R2 Online и начал читать много "туториалов" о том по теме отлавливания пакетом через ollyDBG и их изменение. Exe файл компилируется на С++ и не зашифрован благодаря чему я смог посмотреть все функции через IDE.

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

Как найти данную функцию? Стоит ли подниматься по функциям вверх или есть другой путь?

P.S. Шифрование пакетов происходит с помощью Microsoft Base Cryptographic Provider v1.0.
Методы шифрования:

Ранг: 95.7 (постоянный)
Статус: Участник

Создано: 25 апреля 2018 17:27 · Поправил: unknownproject New!
Цитата · Личное сообщение · #2

ZSavich пишет:
Начал искать функцию которая шифрует данные пакеты но пока безуспешно.

Какого конкретно пакета ? crc может использоваться для валидации пакета в том случае, если он был изменен.

На клиент надо натравить сниффер, а не отладчик, потому что первичная задача - это восстановить клиент-серверную логику и понять, по какому протоколу отправляются данные. То, что нашел KANAL - не факт, что есть в софте. При разработке софта и добавлении на форму сетевого компонента тянутся все криптографические функции, задействованые в нем (компоненте), которые используются для сжатия и шифрования траффика, вне зависимости от того, используются ли они непосредственно в данном софте или нет. Это не более, чем особенность сборки, а по факту - просто индексация. Если же вам хочется, чтобы каждое событие в игре сопровождалось прерыванием - можете понаставить брейкпоинты в отладчике повсюду, но это такое себе удовольствие.

Ранг: 0.4 (гость)
Статус: Участник

Создано: 25 апреля 2018 20:29 New!
Цитата · Личное сообщение · #3

unknownproject пишет:
Какого конкретно пакета ? crc может использоваться для валидации пакета в том случае, если он был изменен.

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


Ранг: 119.7 (ветеран)
Статус: Участник

Создано: 5 мая 2018 11:28 · Поправил: f13nd New!
Цитата · Личное сообщение · #4

Я бы предложил несколько направлений на выбор.
1. от бряка на recv проследить что происходит с содержимым буфера (бряками на память)
2. если предположить, что соответствующая библиотека для шифрования прилинкована к ехе, можно втупую собрать с листинга все xor'ы, отсеяв из них в текстовом редакторе конструкции типа xor eax,eax. Вообще логические функции, если они не относятся к утилитарным каким-то вещам типа скалирования или проверки флагов (логический сдвиг вправо-влево на 1-2 бита это скалирование на 2 или 4, а например вправо на 7 бит, или тем более циклический сдвиг - почти всегда криптография), заслуживают внимания.
3. ну и наконец если в папке с игрой есть библиотеки openssl (ssleay32.dll, libeay32.dll), используются функции микрософт криптоапи - оно почти наверняка там.

99.5%, что вариант 3 твой случай.

ЗЫ: и вообще никогда не брезгуй просмотром referenced strings, раз олей пользуешься. Там тебя могут ждать служебные-отладочные строчки из openssl (насколько я могу судить, в большинстве игр трафик шифруется этой библиотекой) или просто подсказки.
 eXeL@B —› Вопросы новичков —› Шифрование пакетов и онлайн игре

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS