partoftheworlD Опубликовано 19 сентября, 2016 Поделиться Опубликовано 19 сентября, 2016 (изменено) Для чего может понадобится размер пакета, это зависит от фантазии читера, допустим сделать аимбот, чтобы наблюдатели при стрельбе не наблюдали ничего необычного. Т.е отключаем отправку пакетов на сервер, делаем выстрел и включаем в итоге сервер не получает пакеты на которых у нас дергается экран к примеру. Легче искать это в играх, при отключении интернета в которых будет выводиться какое-нибудь сообщение от которого можно будет оттолкнуться при поиске функции. Для начала зайдем на любой сервер и отключим интернет, смотрим какие сообщения игра нам выдаст. Заходим в IDA(olly, x64dbg) и ищем сообщение которое было в верхнем правом углу. Переходим на функцию которая использует этот текст. Смотрим по коду и ищем какой-нибудь вызов перед текстом который нашли. \ После того как перешли по вызову, надо будет поискать младшую половину 8-битного регистра.(сейчас используется ECX(cl), хотя раньше был EBX(bl)) Находим откуда берется ECX, теперь подключаем CE к игре, Ставим бряк на инструкцию lea ecx,[ebp-1C] и добавляем адрес(ebp-1C) в таблицу. Теперь с этими данными можно делать что угодно. //UPD Немного ошибся, это размер пакета мы находим, а не их количество. Это можно проверить посмотрев в Wireshark. Все это происходит перед функцией которая создает "движение" в игре(движение противников, выстрелы, летящие гранаты и т.д.). Изменено 19 сентября, 2016 пользователем partoftheworlD 5 Ссылка на комментарий Поделиться на другие сайты Поделиться
TheErel Опубликовано 21 сентября, 2017 Поделиться Опубликовано 21 сентября, 2017 Тема интересная, не знал что так можно находить пакеты получения и отправки, но тут на примере непонятно хотя бы то как он подсоединился к игре, выбрал ехе файл или что? Подробней бы, ведь в фантазии можно к примеру найти движение игрока и что бы тебя не видели. Ссылка на комментарий Поделиться на другие сайты Поделиться
temtriss Опубликовано 26 сентября, 2017 Поделиться Опубликовано 26 сентября, 2017 @partoftheworlD Замечательная статья В 21.09.2017 в 19:28, TheErel сказал: но тут на примере непонятно А что тут не понятного? Открыл был engine.dll в IDA Pro... Найдена в дллке строка, просмотрено какие именно функции используют данную строку, как я понял в этом случае только одна функции использует эту строку. Ищем первый вызов(call) перед использованием данной строки(в данном случае перед помещением ее в стэк) Переходим по функции, далее смотрим где заполняется реест ECX(В данном случае в этой строчке lea ecx,[ebp-1C]), далее открываешь ЦЕ тлт любой дебагер, открываешь данную функцию и ставишь бряк на эту инструкцию, брякаешся и добавляешь в таблицу адрес из ebp-0x1C Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 26 сентября, 2017 Автор Поделиться Опубликовано 26 сентября, 2017 29 минут назад, temtriss сказал: Замечательная статья Неожиданно, но спасибо. 29 минут назад, temtriss сказал: реест ECX регистр, реестр это другое Ссылка на комментарий Поделиться на другие сайты Поделиться
TheErel Опубликовано 7 ноября, 2017 Поделиться Опубликовано 7 ноября, 2017 В 26.09.2017 в 21:24, temtriss сказал: А что тут не понятного? Можете пожалуйста сделать видео по данной теме? Не думаю что оно выйдет длинным просто, по картинкам последовательность как во Вьетнаме ноги оторванных солдат, я смотрю но не вижу связи. Ну к примеру я не понял как произошло подключение ида? Вы выбрали игру или длл? Если длл то как вы поняли что именно эту и в папке игры ? Дальше по картинкам я вообще не понял как вы вышли на ecx и прочее. Пожалуйста запишите видео. Мне интересна эта тема . Ссылка на комментарий Поделиться на другие сайты Поделиться
temtriss Опубликовано 7 ноября, 2017 Поделиться Опубликовано 7 ноября, 2017 10 минут назад, TheErel сказал: Почему именно engine.dll ? По тому, что на скрине открыт именно engine.dll... Вопрост же был про пример)) Вот я по примеру все и выдал) Ссылка на комментарий Поделиться на другие сайты Поделиться
TheErel Опубликовано 7 ноября, 2017 Поделиться Опубликовано 7 ноября, 2017 2 минуты назад, temtriss сказал: По тому, что на скрине открыт именно engine.dll... Вопрост же был про пример)) Вот я по примеру все и выдал) Чуть выше прочтите я дополнил вопрос. Ссылка на комментарий Поделиться на другие сайты Поделиться
temtriss Опубликовано 7 ноября, 2017 Поделиться Опубликовано 7 ноября, 2017 (изменено) 12 минуты назад, TheErel сказал: я дополнил вопрос. Ида - интерактивный дизасемблер, она анализирует без подключения(Да функция и возможность дебага есть, но ИМХО не так удобно как например Олли или х64дбг)... Открывается dllка из папки игры... можно посмотреть в заголовке окна иды... найти строку... кликнуть по строке выбрать Xref или просто нажать на X... в окошке выбираем функцию(как я понял только одна функция использует эту строку).... далее ищем первый call перед помещением(ну так на скрине) ее в стек(push offset что-то там....) заходим в функцию и ищем где заполняется ECX... нашел?! отлично дальеш подключаешся любым дебагером к игре(можно и ЦЕ) идеш по смещению в engine dll... ставишь бряк, на функцию, которая заполняет ECX получаешь адрес... профит! P.s. Залейте мне куда-то engine.dll я вам нагляднее покажу)) Изменено 7 ноября, 2017 пользователем temtriss Ссылка на комментарий Поделиться на другие сайты Поделиться
temtriss Опубликовано 7 ноября, 2017 Поделиться Опубликовано 7 ноября, 2017 1 час назад, TheErel сказал: Пожалуйста запишите видео. Блин... тут же гайд аля, делай как я... если вы не можете с этим справится, то вам еще такое рано, не в обиду сказано. Но хорошо, я запишу, сейчас докачаю сорс. Ссылка на комментарий Поделиться на другие сайты Поделиться
temtriss Опубликовано 7 ноября, 2017 Поделиться Опубликовано 7 ноября, 2017 (изменено) Запилил видосик на скорую руку))) По гайду так сказать.... видос доступен только по ссылке... вроде... Но это не точно https://youtu.be/ZDbQ0dhA_H8 Изменено 7 ноября, 2017 пользователем temtriss Не запилился видосик в тэге) 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
TheErel Опубликовано 14 августа, 2019 Поделиться Опубликовано 14 августа, 2019 (изменено) В 07.11.2017 в 23:34, temtriss сказал: Запилил видосик на скорую руку))) По гайду так сказать.... видос доступен только по ссылке... вроде... Но это не точно https://youtu.be/ZDbQ0dhA_H8 Может уже и поздно, но спасибо тебе за видео :) Таким образом мы нашли размер пакета верно? Жаль дальше я не знаю что с этим делать, ну тоже хорошо. Может пример где есть что теперь можно сделать с размером пакета. Изменено 14 августа, 2019 пользователем TheErel Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 14 августа, 2019 Автор Поделиться Опубликовано 14 августа, 2019 5 часов назад, TheErel сказал: я не знаю что с этим делать, ну тоже хорошо. Реверсить. Имея размер пакета, можешь найти участок кода, который вычисляет размер пакета, имея участок кода для вычисления пакета, можешь найти функцию, которая формирует пакет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения