Перейти к содержанию

Поиск размера пакета отправляемого/получаемого


Рекомендуемые сообщения

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

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

 

Для начала зайдем на любой сервер и отключим интернет, смотрим какие сообщения игра нам выдаст.

uyronINfRBY.jpg

 

Заходим в IDA(olly, x64dbg) и ищем сообщение которое было в верхнем правом углу.

 

Y6DitAD1_as.jpg

 

Переходим на функцию которая использует этот текст.

 

iQoWz7SQomA.jpg

 

Смотрим по коду и ищем какой-нибудь вызов перед текстом который нашли.

 

zAHN0xgh2nk.jpg\

 

После того как перешли по вызову, надо будет поискать младшую половину 8-битного регистра.(сейчас используется ECX(cl), хотя раньше был EBX(bl))

 

MWwKvty3pUw.jpg

 

Находим откуда берется ECX, теперь подключаем CE к игре, Ставим бряк на инструкцию lea ecx,[ebp-1C] и добавляем адрес(ebp-1C) в таблицу.

 

RHdhYVtMi2s.jpg 

 

Теперь с этими данными можно делать что угодно.

 

 

//UPD 

Немного ошибся, это размер пакета мы находим, а не их количество. Это можно проверить посмотрев в Wireshark.

Все это происходит перед функцией которая создает "движение" в игре(движение противников, выстрелы, летящие гранаты и т.д.). 

Изменено пользователем partoftheworlD
  • Плюс 5
Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

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

Ссылка на комментарий
Поделиться на другие сайты

@partoftheworlD Замечательная статья :)

В 21.09.2017 в 19:28, TheErel сказал:

но тут на примере непонятно

А что тут не понятного?

Открыл был engine.dll в IDA Pro... Найдена в дллке строка, просмотрено какие именно функции используют данную строку, как я понял в этом случае только одна функции использует эту строку. Ищем первый вызов(call) перед использованием данной строки(в данном случае перед помещением ее в стэк) Переходим по функции, далее смотрим где заполняется реест ECX(В данном случае в этой строчке lea ecx,[ebp-1C]), далее открываешь ЦЕ тлт любой дебагер, открываешь данную функцию и ставишь бряк на эту инструкцию, брякаешся и добавляешь в таблицу адрес из ebp-0x1C

 

Ссылка на комментарий
Поделиться на другие сайты

29 минут назад, temtriss сказал:

Замечательная статья

Неожиданно, но спасибо.

 

29 минут назад, temtriss сказал:

реест ECX

регистр, реестр это другое

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
В 26.09.2017 в 21:24, temtriss сказал:

А что тут не понятного?


Можете пожалуйста сделать видео по данной теме?
Не думаю что оно выйдет длинным просто, по картинкам последовательность как во Вьетнаме ноги оторванных солдат, я смотрю но не вижу связи.
Ну к примеру я не понял как произошло подключение ида? 
Вы выбрали игру или длл? Если длл то как вы поняли что именно эту и в папке игры ?
Дальше по картинкам я вообще не понял как вы вышли на ecx  и прочее.
Пожалуйста запишите видео.
Мне интересна эта тема .
 

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, TheErel сказал:

Почему именно engine.dll ?

По тому, что на скрине открыт именно engine.dll... Вопрост же был про пример)) Вот я по примеру все и выдал)

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, temtriss сказал:

По тому, что на скрине открыт именно engine.dll... Вопрост же был про пример)) Вот я по примеру все и выдал)

Чуть выше прочтите я дополнил вопрос.

Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, TheErel сказал:

я дополнил вопрос.

Ида - интерактивный дизасемблер, она анализирует без подключения(Да функция и возможность дебага есть, но ИМХО не так удобно как например Олли или х64дбг)... Открывается dllка из папки игры... можно посмотреть в заголовке окна иды... найти строку... кликнуть по строке выбрать Xref или просто нажать на X... в окошке выбираем функцию(как я понял только одна функция использует эту строку).... далее ищем первый call  перед помещением(ну так на скрине) ее в стек(push offset что-то там....) заходим в функцию и ищем где заполняется ECX... нашел?! отлично дальеш подключаешся любым дебагером к игре(можно и ЦЕ) идеш по смещению в engine dll... ставишь бряк, на функцию, которая заполняет ECX получаешь адрес... профит!

 

P.s. Залейте мне куда-то engine.dll я вам нагляднее покажу))

Изменено пользователем temtriss
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, TheErel сказал:

Пожалуйста запишите видео.

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

Ссылка на комментарий
Поделиться на другие сайты

Запилил видосик на скорую руку))) По гайду так сказать.... видос доступен только по ссылке... вроде... Но это не точно :D

https://youtu.be/ZDbQ0dhA_H8

 

Изменено пользователем temtriss
Не запилился видосик в тэге)
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
В 07.11.2017 в 23:34, temtriss сказал:

Запилил видосик на скорую руку))) По гайду так сказать.... видос доступен только по ссылке... вроде... Но это не точно :D

https://youtu.be/ZDbQ0dhA_H8

 

Может уже и поздно, но спасибо тебе за видео :)

Таким образом мы нашли размер пакета верно?
Жаль дальше я не знаю что с этим делать, ну тоже хорошо.
Может пример где есть что теперь можно сделать с размером пакета.

 

Изменено пользователем TheErel
Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, TheErel сказал:

я не знаю что с этим делать, ну тоже хорошо.

 

Реверсить. Имея размер пакета, можешь найти участок кода, который вычисляет размер пакета, имея участок кода для вычисления пакета, можешь найти функцию, которая формирует пакет.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.