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

Лидеры

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

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

  1. Продолжаем создавать наш noflash. Открываем Reclass x32 и создаем новый класс. Далее, переименовываем название класса в SSystemGlobalEnvironment. Сейчас наш класс очень мал. Нарастите класс до смещения 0x90, используя панель модификации. Переходим на смещение 0x88, жмем по зеленой стрелке, выбираем тип - Указатель. Переименовываем указатель в p3DEngine. Ниже строчкой, переименовываем класс в I3DEngine. Спускаемся еще на строчку ниже. Создаём виртуальную таблицу, указав тип VTable. Открываем и видим, что функций всего 9, а нам нужно 143. Смещение 572 / 4 т.к. 32 битный процесс. Если бы был 64 битный, то делили бы на 8. 143 это и есть наша функция SetPostEffectParam() Наращиваем количество функций, как делали с классом. Переходим на 143 функцию, двойной клик, вписываем саму функцию. И очищаем лишнее в классе. Далее жмем "генерировать" класс. Получаем готовый код класса, копируем в удобное место. Открываем Visual Studio, создаем пустой проект, тип проекта "Библиотека DLL". Добавляем исходный файл main.cpp и заголовочный файл classes.h . В main.cpp подключаем #include <windows.h> #include "classes.h" Прописываем нашу функцию В точке входа создаем поток CreateThread(0, 0, (LPTHREAD_START_ROUTINE)noFlash, 0, 0, 0); Открываем файл classes.h и вставляем туда сгенерированный код из ReClass. В итоге файл classes.h будет выглядеть вот так Собираем проект. Внедряем в игру. Готово. Продолжение следует...
    1 балл
  2. Всем привет. В этой статье, мы создадим 100% точность и разброс для нашего учебного проекта. В этом уроке, появляется всё больше самостоятельной работы. Хотя, для тех, кто освоил прошлые уроки, это покажется легкой прогулкой. Мы просто, заставляем ваш мозг производить какие-то действия, а не тупо идти по шагам и копипастить. Итак, для создания этого, нам понадобится узнать смещения 2 классов - IGame и ICVar. IGame - ищем "IsPlayer" Получили смещение класса IGame. Аналогично с ICVar - ищем "GetCVar" и проделываем предыдущие шаги. После этого, нам нужно найти смещения функции SetIPelletsDisp и CrosshairSpreadTuning в ICVar. Нашли, восстановили классы, пишем саму функцию: void noSpread() { while (true) { IGame* pIGame = pSSGE->pIGame; if (!pIGame)continue; ICVar* pIcvar = pIGame->GetICvar(); if (!pIcvar)continue; float iValue = 200; pIcvar->SetIPelletsDisp(iValue); pIcvar->CrosshairSpreadTuning(0); Sleep(1); } } Собираем, внедряем, готово. Продолжение следует...
    1 балл
  3. И снова, здравствуйте)) В этой части, мы с вами создадим NoRecoil. Здесь, я уже не буду всё разжевывать. Опирайтесь на прошлые статьи, кому что-то не понятно. Открываем дамп из прошлых частей. Поиск по строкам. Для начала, нам нужно найти IGameFramework. Вводим "Failed to create the GameFramework Interface!". Двойной клик по строке, попадаем сюда Через окно перекрестных ссылок, выходим на адрес Итак, мы нашли адрес IGameFramewrok = 0x1AF7E2C Теперь, в окне поиска строк, ищем "sp_difficulty" Двойной клик по строке. Меню перекрестных ссылок. Открываем псевдокод. Через ReClass x32 восстанавливаем классы. Переходим к написанию кода. classes.h main.cpp Собираем проект. Внедряем в игру. Готово. Продолжение следует...
    1 балл
  4. Итак, мы вооружились всеми нужными инструментами и поверхностным пониманием того, что будем делать. Теперь, можно приступать к самому интересному. В этой части, перед нами стоит задача найти 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 балл
  5. Привет всем. По просьбам людей с форума, дискорда и ютуба, я напишу цикл статей, по созданию мультихака, на примере 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 Продолжение следует...
    1 балл
×
×
  • Создать...

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

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