eXeL@B —› Вопросы новичков —› Шифрование пакетов и онлайн игре |
Посл.ответ | Сообщение |
|
Создано: 25 апреля 2018 11:55 · Поправил: ZSavich · Личное сообщение · #1 Здравствуйте! Сильно загорелся старой мечтой взломать игру R2 Online и начал читать много "туториалов" о том по теме отлавливания пакетом через ollyDBG и их изменение. Exe файл компилируется на С++ и не зашифрован благодаря чему я смог посмотреть все функции через IDE. Запустил игру, ollyDBG и начал отлавливать событие "send" и заметил, что перед отправкой шифруются все пакеты кроме сообщений в чате. Начал искать функцию которая шифрует данные пакеты но пока безуспешно. Как найти данную функцию? Стоит ли подниматься по функциям вверх или есть другой путь? P.S. Шифрование пакетов происходит с помощью Microsoft Base Cryptographic Provider v1.0. Методы шифрования: |
|
Создано: 25 апреля 2018 17:27 · Поправил: unknownproject · Личное сообщение · #2 ZSavich пишет: Начал искать функцию которая шифрует данные пакеты но пока безуспешно. Какого конкретно пакета ? crc может использоваться для валидации пакета в том случае, если он был изменен. На клиент надо натравить сниффер, а не отладчик, потому что первичная задача - это восстановить клиент-серверную логику и понять, по какому протоколу отправляются данные. То, что нашел KANAL - не факт, что есть в софте. При разработке софта и добавлении на форму сетевого компонента тянутся все криптографические функции, задействованые в нем (компоненте), которые используются для сжатия и шифрования траффика, вне зависимости от того, используются ли они непосредственно в данном софте или нет. Это не более, чем особенность сборки, а по факту - просто индексация. Если же вам хочется, чтобы каждое событие в игре сопровождалось прерыванием - можете понаставить брейкпоинты в отладчике повсюду, но это такое себе удовольствие. ----- TEST YOUR MIGHT |
|
Создано: 25 апреля 2018 20:29 · Личное сообщение · #3 |
|
Создано: 05 мая 2018 11:28 · Поправил: f13nd · Личное сообщение · #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 (насколько я могу судить, в большинстве игр трафик шифруется этой библиотекой) или просто подсказки. ----- 2 оттенка серого |
eXeL@B —› Вопросы новичков —› Шифрование пакетов и онлайн игре |