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

Лидеры

Популярный контент

Показан контент с высокой репутацией 28.06.2018 во всех областях

  1. Привет всем. По просьбам людей с форума, дискорда и ютуба, я напишу цикл статей, по созданию мультихака, на примере CryEngine3 SDK. А может, я не буду вас мучать и ограничимся всего 2-3 публикациями. Всё зависит от вашего интереса и моего свободного времени. По итогу, мы создадим мультихак, содержащий примерно следующий функционал: Аимбот Силуеты врагов 3D боксы оружий и мин Линии до врагов Точность Отдача Антислепа Все описанные действия, могут быть реализованы и в других играх, на движке CryEngine3. Итак, начнем пожалуй с самого простого, а далее будем двигаться к более сложному. Здесь не будет объяснений, что такое дизассемлер, указатели, классы, интерфейсы, смещения и прочее. Если вы не знаете, что это, то вам придется самостоятельно восполнять эти пробелы. Движок CryEngine3, сделан на основе глобальных объектов. Глобальные объекты завёрнуты в одну структуру и являются указателями на абстрактные сущности, которые инициализируются в нужный момент, в нужном месте программы. Никаких дополнительных накладных расходов, никаких лишних надстроек, контроль за типом во время компиляции. CryEngine3 представляет собой достаточно старый проект, где все интерфейсы устаканились, а новое прикручивается подобно тому, что существует на данный момент. Поэтому нет необходимости придумывать дополнительные обёртки или способы работы с глобальными объектами. SSystemGlobalEnvironment - это основной базовый класс, где хранятся указатели на "стартовые классы". Примерное описание и содержание можно посмотреть на GitHub. Т.к. мы решили начать с самого простого, то на этом этапе, мы сделаем хак, который будет убирать эффект ослепления от светошумовых гранат (антислепа / noflash). Метод SetPostEffectParam (ознакомиться) Итак, наша задача найти адрес базового класса SSystemGlobalEnvironment, затем указатель на I3DEngine, восстановить класс и реализовать метод SetPostEffectParam, с нужными нам параметрами. Необходимый софт: Официальный SDK движка Visual Studio 2015+ PeTools IdaPro 6.8+ ReClass x32 Продолжение следует...
    3 балла
  2. Итак, мы вооружились всеми нужными инструментами и поверхностным пониманием того, что будем делать. Теперь, можно приступать к самому интересному. В этой части, перед нами стоит задача найти SSystemGlobalEnvironment и указатель на I3DEngine. Открываем PeTools и делаем полный дамп. Далее, запускаем IDA PRO и выбираем "новый проект". Открываем наш дамп игры. Выбираем IDA PRO, предложит указать расположение 3 библиотек. Выбираем место установки и нажимаем ОК. Дождёмся, пока IDA проанализирует файл. Вы услышите звуковой сигнал, по окончании. Также, можно будет видеть надпись "idle" (в простое). После окончания анализа, открываем список всех строк. Через меню View или нажав Shift+F12. Жмем Ctrl+F и вводим "ai_CompatibilityMode". Двойной клик по строке и оказываемся тут Выделяем строку и жмем 'X', в открывшемся окне перекрестных ссылок, нажимаем ОК. Оказываемся тут dword_18C23DC это и есть адрес нашего SSystemGlobalEnvironment = 0x18C23DC. Можете переименовать сразу (выделив и нажав 'N' ), можете оставить так. Кому как удобнее. Самое главное мы нашли. Теперь нам нужно найти I3DEngine и SetPostEffectParam. Повторяем шаги с поиском SSystemGlobalEnvironment , только теперь вводим "Dof_Active" в строке поиска. Нашли, выделили, перешли в окно перекрестных ссылок, выбираем первую и жмем ОК. Выделяем, жмем 'F5', для перехода к псевдокоду. Видим такую запись. Выделяем смещение '+136', жмем ПКМ, переводим в HEX. И получаем SSystemGlobalEnvironment + 0x88 это и есть смещение до I3DEngine В итоге имеем: SSystemGlobalEnvironment = 0x18C23DC SSystemGlobalEnvironment + 0x88 = I3DEngine Продолжение следует...
    1 балл
×
×
  • Создать...

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

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