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

Лидеры

  1. LIRW

    LIRW

    Ветераны


    • Баллы

      604

    • Постов

      4 514


  2. Garik66

    Garik66

    Помогаторы


    • Баллы

      219

    • Постов

      5 750


  3. MasterGH

    MasterGH

    Ветераны


    • Баллы

      192

    • Постов

      2 999


  4. JustHack

    JustHack

    Разработчики


    • Баллы

      169

    • Постов

      342


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

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

  1. И снова, здравствуйте)) В этой части, мы с вами создадим NoRecoil. Здесь, я уже не буду всё разжевывать. Опирайтесь на прошлые статьи, кому что-то не понятно. Открываем дамп из прошлых частей. Поиск по строкам. Для начала, нам нужно найти IGameFramework. Вводим "Failed to create the GameFramework Interface!". Двойной клик по строке, попадаем сюда Через окно перекрестных ссылок, выходим на адрес Итак, мы нашли адрес IGameFramewrok = 0x1AF7E2C Теперь, в окне поиска строк, ищем "sp_difficulty" Двойной клик по строке. Меню перекрестных ссылок. Открываем псевдокод. Через ReClass x32 восстанавливаем классы. Переходим к написанию кода. classes.h main.cpp Собираем проект. Внедряем в игру. Готово. Продолжение следует...
    9 баллов
  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 Продолжение следует...
    7 баллов
  3. FreeCam - свободная камера, подразумевает возможность полёта камеры отдельно от объекта/персонажа и тому подобного, используется в самых разных целях, для обнаружения противников, для создания красивых снимков, для нахождения секретов и тому подобного. Принцип создания: Всё зависит от типа игры. Если реализован поворот камеры мышью - то данную функцию делать не нужно. Для перемещения камеры можно использовать самые разные функции, но я склоняюсь к полёту в ту сторону куда смотрит игрок. Для этого необходимо вычислить синус и косинус для поворота по горизонтальной, и синус для поворота по вертикальной оси. После их надо умножить на радиус, мы получим точку на сфере - это и будет вектор ускорения для камеры. Его следует добавлять к уже существующим координатам камеры, изменяя радиус мы можем изменять скорость. Для того что бы камера была "свободная", нужно записывать свои значения в координаты, а функцию которая записывает их в игре по стандарту - отключить. Более детально всё показано в следующем видео Создание свободной камеры на примере игры "WarThunder": Видео где показан принцип работы формул: тык
    7 баллов
  4. Привет всем. По просьбам людей с форума, дискорда и ютуба, я напишу цикл статей, по созданию мультихака, на примере 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 Продолжение следует...
    7 баллов
  5. Cheat Engine сервер предназначен для удалённого взлома каких либо приложений, сервер располагается на целевом устройстве, а клиент подключается к нему по IP, после этого становятся доступны почти все функции стандартного Cheat Engine ☺️. Установка Cheat Engine сервера на Android: Особенности использования, написание скрипта:
    6 баллов
  6. Статью пишу первый раз , так , что где будет не понятно - спрашивайте Python под GHL флагом Часть 1 В этой статье (будет из нескольких частей) я полностью объясни и напишу рабочий автошот для игры Начну с введения: 1) Определимся с языком программирования , для меня пал выбор на язык python так как давно хотел его изучить начать писать на нем (язык очень простой , да и библиотек сторонних куча, что должно радовать)PS для вас может быть тот который хорошо знаете 2) представим как должна работать программа : Программа не как не воздействует на игру, не читает/ не пишет в память, не инжектится в код, а работает как стороннее приложение благодаря чему не доступна для анти-читов, т.е. бан в игре получить почти не реально! Программка сканирует цвет пикселей экрана в заранее заданной области, где обычно должен отображаться ник врага (по кому программа должна делать авто-выстрел), допустим цвет ника будет красный и должен появляться при наведении прицелом на врага, как только это условие соблюдается и в заданной области появляются пиксели заданного(красного) цвета то программа имитируя нажатие ЛКМ/ПКМ делает выстрел по врагу , задержка между выстрелами по желанию, и так далее.... 3) вообразим алгоритм программы : 1) программа обнаруживает ник противника (пиксельно) 2) программа имитирует выстрел Ну что ж , начнем : Сразу первый этап выполнять "круто" , начнем с малого , определим цвет пикселя под мышкой (компьютерной) . 1 этап: В этом нам поможет классная статья с хабрахабр (в комментариях он оставил ссылку на gamehacklab, явно кто-то из наших, я оставлю ссылку на статью ) PS рекомендую к прочтению Нагло скопируем код Воспользуемся его наработками Все замечательно , с малой задачей справились. 2 этап : Теперь мы осознали, что ник у нас "прямоугольный" и с одним пикселем можем не попасть в красные буквы Создадим дополнительно пару переменных (модернизируем программу под наши нужды) и получим такое: картинка Тут я использовал 5 пикселей чтобы наверняка определить ник точно : где x - это горизонтальная точка и от нее "отходим" влево и вправо Код программы : Теперь делаем скрин игры , определяем цвет ника , рисуем прямоугольники , радуемся , что программа работает и/или просто вводим мышкой по экрану.... PS конец первой части , оцениваем и обсуждаем , продолжение следует по мере возможности(скоро) ....
    6 баллов
  7. Версия 2.29.12

    241 раз скачали

    Возможен бан в игре. Вы используйте хак, на свой страх и риск. Перед использованием, ознакомьтесь с ЭТИМ Поддерживаемые ОС: Win7+ (x32 , x64) Поддерживаемые античиты: MRAC Версия от 01.11.19 (Последняя) Undetected Последнюю версию хака, можете скачать ТУТ.
    6 баллов
  8. Многие из вас слышали такие понятия как AIM, автонаведение, автоприцел и тому подобное, когда прицел игрока автоматически наводится на какой нибудь объект. В видео показано как сделать такое на LUA, ассемблер ничем не будет отличаться, разве что кучей команд ?. В первых четырёх (включая пример) видео - создание и мелкие нюансы.. В 5 просто демонстрация. Патроны летят в цель, неровная камера - просто обновления и это не влияет. Попадание зависит от разброса оружия ?. Видео о поиске значений ♦️: Видео о создании и вычислениях ?: Видео дополнение ко второму (запись сломалась и потому пришлось доснять тут): Обзор первый: Обзор второй: Ну и скрипт на LUA:
    6 баллов
  9. Итак, начнем с самого начала Когда-то очень давно я начал играть в игру под названием Rocket League Импровизированая игра в футбол, где катаются машинки, со своей физикой и пр. Проиграв около года, все надоело и я решил посмотреть что есть у этой игры: Как оказалось апи для какой-либо статистики открытого нет (Имею ввиду то, которое поддерживается официальными разработчиками) Ну раз нет апи, решил сделать что-то элементарное, например найти структуру игррка (в данном случае машинки) На данный момент у игры нет античита, хотя он тут и не нужен вовсе Вообщем загорелся идеей, начал пытаться найти эту структуру Долгое время ковырялся, ковырялся, ничего не получалось То ли дело во мне, то ли грабли не едут Посмотрел движок игры, оказалось Unreal Engine 3 На UE3 вроде как бесполезно что-то искать руками, т.к поинтер будет с громадным количеством оффсетов и почти наверняка невалидным Посмотрел как реверсят игрушки на UE, и что-то не въехал с первого раза (даже с 5 не понял :DD) А суть была в том, что в Unreal Engine 3 можно хукнуть метод который передает все внутреигровые ф-ии которые использует в режиме реального времени Прочитал много статеек, посмотрел примеры и понял что хукают метод ProcessEvent Делают это с помощью дампа игровых классов, которые можно использовать для написания своего чита Собственно вот и дампер Тык Там уже есть заготовки для некоторые UE3, UE4 игр Нужная нам также имеется, осталось только сдампить Для дампа необходимо знать сигнатурки ProcessEvent GlobalNames GlobalObjects Собственно вот и скомпилированный дампер Сам дампер это длл которая инжектится в игру, ну а сама длл и вытягивает все нужные классы для дальнейшего написания Теперь к написанию... Создаем проект, подключаем к проекту sdk которое сгенерировалось на диске С Подключаем все нужные инклуды и пр. Точка входа для нашей длл BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: AllocConsole(); freopen("output.log", "w", stdout); printf("Dll Initialized\n"); DisableThreadLibraryCalls(hModule); CreateThread(0, 0, MainThread, hModule, 0, 0); // creates our thread break; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } В длл создаем поток который будет хукать ProcessEvent и использовать внутреигровые функции DWORD WINAPI MainThread(LPVOID param) // our main thread { StartupApp(); printf("Inited\n"); ProcessEvent = (tProcessEvent)DetourFunction((BYTE*)ProcessEvent, (BYTE*)hkProcessEvent); return false; } StartupApp метод который по сигнатуркам ищет адрес GNames, GObjects bool InitializeObjectsStore() { auto address = FindPattern(GetModuleHandleW(nullptr), reinterpret_cast<const unsigned char*>(Signture), Mask); if (address == -1) { return false; } UObject::GObjects = reinterpret_cast<decltype(UObject::GObjects)>(*reinterpret_cast<uint32_t*>(address + 1)); return UObject::GObjects != nullptr; } bool InitializeNamesStore() { auto address = FindPattern(GetModuleHandleW(nullptr), reinterpret_cast<const unsigned char*>(Signture), Mask); if (address == -1) { return false; } FName::GNames = reinterpret_cast<decltype(FName::GNames)>(*reinterpret_cast<uint32_t*>(address + 2)); return FName::GNames != nullptr; } ProcessEvent это наш хук который мы будем использовать (Как происходит хук гуглим, detours lib в помощь) Теперь к основной части, наш метод hProcessEvent Не забываем указывать Typedef void __fastcall hkProcessEvent(UObject *pObject, void *edx, UFunction *pFunction, void *pParms, void *pResult); typedef void(__thiscall *tProcessEvent)(class UObject *, class UFunction *, void *, void *); tProcessEvent ProcessEvent = (tProcessEvent)FindPE(); void __fastcall hkProcessEvent(UObject *pObject, void *edx, UFunction *pFunction, void *pParms, void *pResult) { if (pFunction) { //Get Player* if (strcmp(pFunction->GetFullName().c_str(), "Function Engine.PlayerController.PlayerTick") == 0) pPlayerController = (APlayerController*)pObject; //Get Ball* if (strcmp(pFunction->GetFullName().c_str(), "Function TAGame.Ball_TA.OnRigidBodyCollision") == 0) pBall = (ABall_TA*)pObject; //Function TAGame.CarComponent_Boost_TA.EventBoostAmountChanged if (strcmp(pFunction->GetFullName().c_str(), "Function TAGame.CarComponent_Boost_TA.EventBoostAmountChanged") == 0) { Boost = ((ACarComponent_Boost_TA_EventBoostAmountChanged_Params*)(pParms))->Boost; } if (strcmp(pFunction->GetFullName().c_str(), "Function Engine.Interaction.PostRender") == 0) { Canvas = ((UInteraction_PostRender_Params*)(pParms))->Canvas; myPostRender(((UInteraction_PostRender_Params*)(pParms))->Canvas, pPlayerController, Boost); } } ProcessEvent(pObject, pFunction, pParms, pResult); } Этот метод срабатывает при каждом вызове игрой какой-нибудь ф-ии, будь то отрисовка, будь то создаение машинки или же простой выход в меню Осталось только найти нужный нам метод и путем сравнения этой ф-ии через pFunction->GetFullName() Перенаправить на наш код В данном случае я получаю Указатели на Игрока, Мяч, UCanvas (Который рисует все что возможно в игре) и эвент EventBoostAmountChanged, который срабатывает когда кто-то использует на карте буст Перейдем к методу myPostRender который при срабатывании рисует в игре количество буста у игрока и также линию от игрока к мячику void myPostRender(UCanvas* Canvas, APlayerController* player, ACarComponent_Boost_TA* boost) { //Проверка на валидность входных данных if (!Canvas || !player || player->bDeleteMe || !boost || Boost->bDeleteMe || boost == NULL) return; try { if (boost) { std::map<std::string, ACarComponent_Boost_TA*>::iterator it; //Есть ли игрок уже в map if (BoostMap.count(boost->Owner->GetFullName()) > 0) { //Обновляем игрока в map it = BoostMap.find(boost->Owner->GetFullName()); BoostMap.erase(it); BoostMap.insert(std::pair<std::string, ACarComponent_Boost_TA*>(boost->Owner->GetFullName(), boost)); } else { BoostMap.insert(std::pair<std::string, ACarComponent_Boost_TA*>(boost->Owner->GetFullName(), boost)); } } std::map<std::string, ACarComponent_Boost_TA*>::iterator i; for (i = BoostMap.begin(); i != BoostMap.end(); ++i) { //Опять проверяем на валидность if (!i->second->Owner || i->second->Owner->bDeleteMe || !i->second || i->second->bDeleteMe || i->second == NULL || i->second->Owner == NULL || !Canvas) { //Удаляем если не валиден BoostMap.erase(i); continue; } //Переводим 3D Координаты игрока через Видовую матрицу Canvas->Project в 2D FVector PlayerLoc = Canvas->Project(i->second->Owner->Location); if (i->second->Owner->GetTeamNum() == 0) //Blue Team { //Проверка на то, видем ли мы на экране точку в который нужно рисовать if (PlayerLoc.Z > 0) DrawTextToScreen(Canvas, string("Boost Amount: ") + std::to_string((int)(i->second->CurrentBoostAmount * 100)), PlayerLoc.X + 10, PlayerLoc.Y - 30, BLUE); } else { //Orange Team if (PlayerLoc.Z > 0) DrawTextToScreen(Canvas, string("Boost Amount: ") + std::to_string((int)(i->second->CurrentBoostAmount * 100)), PlayerLoc.X + 10, PlayerLoc.Y - 30, ORANGE); } } } catch(std::exception& e) { printf("Exception %s", e.what()); } } Итог: Разобраться в этом сразу конечно очень сложно, но методом проб и ошибок у вас должно получиться Ах, да, забыл показать конечный результат Вот... Отрисовку линий я убрал в коде, но там нет ничего сложного Теперь мы видим количество буста у тиммейтов и противников, что вполне неплохо Также можно придумать множество реализаций SDK
    6 баллов
  10. Сегодня начал серию видео уроков по написанию тренера на С++. В данный момент урок только один. Думаю раз в неделю(каждое воскресенье) будет добавляться по уроку. В данный момент, в первом уроке нового нечего нету и похожие уроки были на канале ГХЛаб, на канале товарища Coder и думаю много где еще. Но в планах наверно на третбем уроке перейти на немного другой тип тренеров(dll) и возможно уже там начнется что-то новое(но это не точно, уроков то масса, наверняка кто-то затрагивал те темы которые планирую я :)) Это первый видео урок, если можно конструктивной критики, может какие-то недоработки, ошибки и прочее... Сам пересмотрел уже несколько раз, пару косяков заметил в начале второго видео поправлюсь Всем спасибо Первый урок:
    6 баллов
  11. В видео про спавн врагов в ре6, во второй его части пользователь спросил: могу ли я сделать подобное для ре4, версия 1.1 Еще в феврале в 10-х числах начал искать. Как-то несколько дней что-то проверял, потом нашел зацепку, потом затянулось и только в марте снова взялся. Только сейчас дошли руки записать видео, скрипт пробный уже недели 2 готов был. Версия игры 1.1., это не Ultra HD Remaster или как он там в стим называется, но кажется в нем все так же работает, разве что указатели в других местах. Сделал пробный скрипт спавна врагов. Спавнит в упрощенном варианте, рядом с игроком. Если на уровне не предусмотрены враги, то возможен вылет при попытке спавна (возможно файл не загружен в памяти, а при создании объекта не проверяется, что не загружен). Как обычно работает на Tab. Сначала инициализирует массив со всеми структурами npc/enemy, прописано изначально только на врагов (0x12). При смене уровня обновляет массив заново. Можно убрать инициализацию цикла и создавать, заполняя данные вручную. По крайне мене когда я пытался, если спавнить не врагов а все иное, то вылет происходит, не сильно проверял почему, т.к. главной целью было спавнить врагов. видео Скрипт ссылка на файл http://s000.tinyupload.com/?file_id=08064413723196487564 Указатель на объект, который используется для спавна npc/врагов (и игрока единожды) 0x033F6EC4 +4 указатель на игрока +8 максимально возможно количество объектов +14 - последний созданный объект в каждом объекте +8 - предыдущий объект таким образом происходит полный обход всех объектов 0x009D3558 класс врага 0x009EF690 класс игрока если кому интересно, допишу подробнее информацию из заметок, что вел *оказалось записывал с отключенной функцией подавления шума, она сильно делала тише запись, но шумов не было. Когда усилил сигнал тут, то шумы очень сильно слышны были, подавил как мог в Audacity. Громкость не повышал аудиозаписи сильно, чтобы шумы не были уж слишком слышны.
    6 баллов
  12. Версия 06.11.2021

    2 769 раз скачали

    Использование: Запускаем сначала игру, а в главном меню игры (либо в уже начатой) запускаем трейнер Функции: Бесконечная жизнь Бесконечный щит Бесконечные очки на прокачку персонажа Убийство с одного выстрела Бесконечные гранаты Бесконечные мины Бесконечные световые предметы Без ожидания перезарядки мины Без отдачи оружия Точность оружия Без перезарядки оружия Бесконечные патроны Супер прыжок Бесконечное топливо для бура Без перегрева оружия Супер кирка Бесконечный крафт - нужен хотя бы один предмет в наличии Супер фонарь Бесконечные ресурсы Быстрый сбор яиц и моли Бесконечные деньги - в меню покупок костюмов записываются
    5 баллов
  13. Продолжаем создавать наш 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 будет выглядеть вот так Собираем проект. Внедряем в игру. Готово. Продолжение следует...
    5 баллов
  14. Предлагаю видеоурок поиск указателя без отладчика. Прошу не жалеть коментов.
    5 баллов
  15. Возможен бан в игре. Вы используете хак, на свой страх и риск. Перед использованием, ознакомьтесь с ЭТИМ Поддерживаемые ОС: Win7+ (x64) Поддерживаемая версия клиента: (x64) Поддерживаемая версия DirectX DX9, DX11 Поддерживаемые античиты: MRAC Версия от 11.11.20 (Последняя) Undetected ЕСП: Силуеты врагов Силуеты взрывчатки Силуеты капсулы Силуеты пауки Силуеты боссов миссий Аимбот: Супер аимбот Кость - наилучший выбор (простые враги - голова, джаггернаут - рюкзак и т.п.) Аим на турели Аим на пауков Аим на мины Аим на капсулы Аим на боссов Мемхаки: Отдача Точность Беск патроны АнтиАФК Кик с пве и спецопераций (в любой момент) Подсад в любой точке на карте Быстрый нож ПКМ, ЛКМ Без перегрева СЕД Видео: Инструкция: Запускаете игру Внедряете dll Нагибаете Активация/Деактивация хака - клавиша INSERT wfru.rar
    5 баллов
  16. Вот и настало время когда я вернулся снова к этой игре Только теперь уже для нее есть исходный код, который позволит находить всякие функции в разы быстрее и проще На этот раз будем делать карту ресурсов, рисовать ее и загружать прямо в игру Этапы которые этому способствуют 1. Распаковать саму карту из surfaces.pck 2. Достать саму карту, посмотреть каким образом она примерно отображается 3. Узнать координаты респа ресурсов Vec3 на карте 4. Перевести Vec3 игровые в Vec2 картовые 5. Нанести по Vec2 соответствующие иконки 6. Привести все в читаемый формат для игры 7. Запаковать все обратно 1. Распаковка pck этой игры уже не представляется сложностью, и есть довольно много софтов делающее это (Собственно как и упаковка обратно) А значит пункты 1 и 7 не сложны совсем 2. Карта в игре отображается довольно специфическим образом (Незнаю как до этого додумались разработчики, или же это движок сам режет так интересно) В целом картина такая Мировая карта состоит из 88 частей - т.е. 8 столбцов и 11 строк (В свою очередь каждый квадрат тут 1024*1024 пикселя) Из всех этих кусков собирается единая карта, которую можно будет увидеть в игре Формат файла dds, т.е. в итоге мы должны получить карту в 88 dds файлов как в оригинале 3. Координаты респа найти довольно легко, опять же распаковав configs.pck Внутри будет coords_data.txt в котором некоторым списком указаны Vec3 координаты нахождения ресурса / моба и т.п. Структура примерно такая Парсим нужные координаты по ID (Пишем вспомогательный парсер который выдаст c++ массив с Vec3) 3091 - ID, world - фильтрация только для основной карты Ну и достаем Vec3 - x y z координаты 4. Когда есть массив всех этих ресурсов, нужно перевести Vec3 (Т.е. внутриигровое положение в мире, на карту, которая 2D) Тут поможет исходник клиента PW, и метод который рисует стрелочку игрока на карте Вот та самая функция в исходном коде, далее надо ее найти и заменить координаты (т.е. оригинально передаются Vec3 игрока, и вычисляется Х-У для рисования на карте) Ничто не помешает нам подменить эти координаты на те, где находятся ресурсы Vec3 Далее дело техники, и создания хука (Учитывания calling conventions, определения аргументов и т.д.) Имея исходный код не так сложно найти функцию (Правда версия игры немного старее чем этот исходный код) Собственно вот и хук. В цикле перебираем массив который сделали на шарпе путем парсинга файла Выдаем результаты в виде массива (Далее пригодится) Таким образом я получил координаты для 4х видов ресурсов (Больше мне и не нужно. Vec2 координаты) ~320 штук 5. Далее необходимо нанести все это дело на карту. Дабы не скреплять все 88 кусков в каком-нибудь редакторе мне удалось найти (Не без помощи) карту 8*1024 х 11*1024 пикселей. Т.е. точно такую как и нужна Для добавления иконок на общую картину была написана еще одна вспомогательная программа на шарпе, которая грузит общую карту, а потом по координатам ставит маленькую иконку 16х16 по координатам из массива (Скрин выше) Ну соответственно наносим сами иконки на общую карту и сохраняем в jpg. Получаем на выходе карту в 113мб с нанесенными иконками Остается всего 2 пункта, один из которых пустяковый 6. Режем эту общую карту в фотошопе (Качаем фотошоп, да да у меня его не было на этой машине) с помощью инструмента "раскройка" И как раз получаем 88 изображений; 8 столбцов и 11 строк, где каждая картинка по 1024*1024 пикселя. Идеально Остается нерешенным только вопрос конвертации из jpg в dds. Но тут придется только ручками все делать. А также ручками приводить потом названия этих кусочков в вид который на скриншоте №1. (Не смертельно, но долго) Заменяем 88 dds файлов на новые в папке maps 7. Запаковываем все обратно в единый pck файл программой из п1. и проверяем в игре. Все работает. Отлично.. Сама по себе идея не новая, но вот реализации именно внутри игры пока что не видел нигде
    5 баллов
  17. Версия 7.2

    749 раз скачали

    Установка: Скопировать содержимое архива в корневую папку Cheat Engine
    5 баллов
  18. Версия 3.0

    113 раза скачали

    Версия игры 1.5 [Steam] [РУ] - Бесконечные боеприпасы - Скорострельность на всех видах оружия - Спидхак - Без отдачи - Супер точность - Абсолютное бессмертие и без урона - Призрак (каспер мод) - Бесшумность - Заморозка прицела (для снайперских винтовок) - Высокий прыжок - Без перегрева (для пулеметов) - Умный триггер бот Инструкция по запуску: - Запустить игру - Запустить файл JHInject.exe (Необходимы права администратора) Скрыть / Показать меню клавиша INSERT
    5 баллов
  19. Версия 2.0

    164 раза скачали

    Версия игры 1.01 1.Бесконечные патроны 2.Скорострельность на всех видах оружия 3.Бесконечные гранаты 4.Без отдачи 5.Суперточность 6.Без урона (бессмертие и не трясет при попадании в вас) 7.Призрак (Каспер мод) 8.Спидхак 9.Высокий прыжок 10.Триггер бот (автоматическая стрельба, при наведении на противника) Скрыть | показать меню клавиша INSERT
    5 баллов
  20. Наверняка многим было интересно как же всё таки работает SpeedHack предоставляемый Cheat Engine, в этом видео рассказывается об этом: Кратко для тех, кто не хочет смотреть:
    5 баллов
  21. Обход функции, снятия скринов античитами. 01.11.2020 Undetected Поддерживаемые системы: x64 only Windows 7+ Поддерживаемые режимы игры: Windowed mode FullScreen Инструкция: Для запуска требуются права администратора Запустить файл Запустить игру Играть В зависимости от античита, скрины не будут сниматься или будут чистые BpScr.rar
    5 баллов
  22. Версия 3.28.12

    81 раз скачали

    ===ПАБЛИК ПРОЕКТ ВРЕМЕННО ЗАКРЫТ=== Возможен бан в игре. Вы используйте хак, на свой страх и риск. Перед использованием, ознакомьтесь с ЭТИМ Поддерживаемые ОС: Win7+ Поддерживаемые античиты: MRAC Версия от 01.11.19 (Последняя) Undetected Мемхаки: Без отдачи (Убирает отдачу у всего оружия) Точность 100% (Все пули летят в 1 точку) Супер урон (Повышает наносимый урон каждой пули в 10 раз) Скрыть ники (Скрывает ваш ник, ники союзников и противников. Вы будете показываться как ADMIN, все остальные как BOT. В списке игроков, не будет видно НИКОГО) Антислепа (Убирает эффект светошумовых гранат) Подсад (Вы сможете забираться на любые возвышенности, без помощи напарника, там где это возможно в игре) Длинный подкат (Сможете подкатываться через полкарты) Бесконечные патроны (Патроны никогда не заканчиваются) Кик с ПВЕ (Сможете исключить ЛЮБОГО союзника с ЛЮБОЙ миссии или Спецоперации, в ЛЮБОЙ момент) ЕСП: Силуеты (Обводит противников в определенный цвет, в зависимости от видимости ) Линии (показывает линии от вашего прицела до противников) Взрывчатка (Позволяет видеть установленные мины, а также гранаты летящие в вас) Аимбот: Фаст Аим (Убиваете противников, даже не наводясь на них) Угол Аима (Выбор угла действия Аима) Кость (Аим всегда наводится на выбранную кость) Триггер бот / Автошот (Производит выстрел, при наведение на любую кость противника. Очень полезен на снайпере или медике.) Инструкция: Закрываете игру и ИЦ Запускаете хак Запускаете игру Нагибаете Показать / Скрыть меню - клавиша HOME
    5 баллов
  23. Вот тут показаны некоторые простые функции LUA и как сделать управление перемещением на примере игры Terraria. Первая часть: Вторая часть:
    5 баллов
  24. Второй урок готов! Третий будет сегодня чуть-чуть по позже К сожалению данный урок пришлось клеить из кусков, т.к. немного косячил Надеюсь в дальнейшем буду записывать целиком, с первого дубля
    5 баллов
  25. Выкладываю маленький хак. Кому интересно, берите играйте. Игра вроде популярная. Отдача / Чамсы. Использование: 1. Запускаем игру 2. После 1 ролика можно внедрять. P.S Инжектор не прилагаю, т.к. игра онлайн и у каждого свои методы внедрения. Тема переехала сюда
    5 баллов
  26. Всем доброго дня. Ломал издание от [Медиа-Сервис 2000]. Его можно найти на торрентах. В Steam или Uplay получить не выйдет. Выкладываю здесь поскольку в основной разделе нельзя. Итак: Соберу всё в одном. Ещё редактировал.(пора на проверку) InfiniteHealth: InfiniteAmmo: NoReload: SuperAccuracy:
    4 балла
  27. The Hunter Classic Просмотр файла Запускаем игру.. Запускаем трейнер. Функции: _1. Без перезарядки оружия. _2. Бесконечные патроны. _3. Нет задержки выстрела. _4. Без отдачи оружия. _5. Нет колебания оптического прицела. _6. Умножена кратность оптического прицела в 3 раза от стандарта. Добавил LIRW Добавлено 24.06.2019 Категория Трейнеры для PC игр  
    4 балла
  28. Версия 1.0.0

    0 раз скачали

    Для игры: Night in the Woods Функции: Без ошибок в играемой музыке Автоматическая игра музыки
    4 балла
  29. Версия 1.0.0

    0 раз скачали

    Для игры: Darkwood Функции: Бесконечное топливо у генераторов Видеть сквозь стены Осветить всё вокруг Полный радиус обзора Восстановление здоровья персонажа Персонаж не отравляется на поверхностях
    4 балла
  30. 11 декабря 2019 года форуму Gamehacklab исполнится 10 лет. Это дата первого пользователя форума. Поздравляю всех: активных пользователей, высший состав форума, админов и модеров, старожил, помогаторов, тех кто был на форуме очень давно и перестал заходить. Отдельно @Xipho, @srg91, @partoftheworlD, @Garik66, @LIRW, @SER[G]ANT, @gmz. Извините, если кого-то персонально пропустил. Можно пожелать всем бесконечного энтузиазма на тему поиска сигнатур и значений, сравнении структур и стеков, дизассемблирования и ассемблирования. Энтузиазма в программировании на C++ и WinAPI. Энтузизма в том, чтобы найти универсальное решение при создании любого чита для любой игры. P.S. Для энтузиазма. Подкину идею. Мне нравится видеть, как наборы инструкций можно условно разделить на: математические, логические, ветвления, чтения и записи и другие. При этом математические на мой взгляд наиболее выделяются, т.к. они заставляют в игре всему меняться. Хотя логические инструкции тоже могут что-то менять, но по ощущениям не так явно менять, как математические инструкции. По математическим в основном меняются перемещение камеры и перемещение персонажа и изменяются игровые значения. Можно отдизассемблировать весь игровой код и найти все математические операции и точно некоторые из них связаны с будущими читами. Это всякие добавить, отнять, умножить, разделить. Не думаю, что их будет за тысячу даже, которые именно нужны для читов, а не те которые что-то рассчитывают не понятно что) Если руки дойдут, то возьму IDA да пройдусь по какой-нибудь игре с поиском всех математических инструкций, поставлю на них счетчик срабатывания да прогуляюсь в игре персонажем... Если будет время...
    4 балла
  31. Для таких случаев есть дампер. Он создает dll-ки, которые помещаются в GameAssembly.dll и открываются в dnSpy. Так же создает скрипты для IDA и GHIDRA. Классная вещь, в общем. Правда там нет реализации функций почти, но, для нас они в принципе и не важны. А для перехвата/вызова и прочей работы хватает всего, что он дает.
    4 балла
  32. Всем уже давно известно как делать Glow Esp, но сегодня мы посмотрим на проблемы, которые возникли при написании этого чита, для менее популярных игр, таких как Left 4 Dead 2. В погоне за оптимизацией, отрисовка обводки происходит не постоянно, как например, это было в Sniper Elite 4. В Left 4 Dead 2 существует Glow Manager, который пуст. Да-да, если же в CS:GO структура заполнена указателями на свойства подсветки всех сущностей, то здесь же вообще ничего нет. А значит, простым изменением “выключателя” включающего подсветку тут не обойтись. Для начала найдем указатель на Glow Manager, для этого найдем виртуальную таблицу класса CGlowManager и перейдем по второй виртуальной функции, в ней мы увидим глобальную переменную в которую пишется указатель на структуру Glow Manager. Теперь необходимо найти функцию, обновляющую отрисовку обводки, в той же виртуальной таблице, под 5 индексом можно её найти. игнорируя nullbytes в таблице. Адрес потребуется для дальнейшего исследования алгоритма работы функции, чтобы c помощью подмены некоторых значений, заставить работать обводку на нас. После восстановления функции, можем продолжать. Итак, на этом этапе необходимо понять, что нам потребуется в дальнейшем. Начнем по порядку, итак, под 1 пунктом мы видим, что свойства обводки берутся из массива с сущностями. Далее, 2-й пункт, на котором держится вся работа функции, необходимо точно указывать количество подсвечиваемых сущностей, а как мы видели из первого пункта, что индекс указывает на структуру сущности, из-за чего если укажем значение меньше, чем находится указателей в pEntityArray, то часть из них обводится не будет, если больше, получим исключение Access Violation и вылет из игры. Как собрать смещения из функций уже не будем обсуждать, раз статья в разделе для взрослых. Имея все необходимое, можно подумать как код будет работать. { // Для начала выделим память в размере 128 байт, этого будет достаточно, движок все равно не сможет рисовать больше 32 сущностей. auto argh = VirtualAllocEx(this->m_hProcess, 0, 128, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); auto item = 0; this->m_writeMemory<DWORD, int>(this->m_hProcess, GlowManager + 0x18, item); // Далее, запишем адрес выделенной памяти в структуру CGlowManager по смещению 0xC. this->m_writeMemory<DWORD, DWORD>(this->m_hProcess, GlowManager + 0xC, reinterpret_cast<DWORD>(argh)); for (auto i = 0; i <= 4096; i++) { auto entity = this->m_readMemory<DWORD, DWORD>(this->m_hProcess, EntityList + this->m_getHiddenStruct(i) * 8); auto pClassID = this->m_readMemory<DWORD, DWORD>(this->m_hProcess, entity, {0x8, 0x4, 0x1, 0x14}); if (entity) { // Отфильтруем сущности по классу Infected if (pClassID == Infected) { // Теперь необходимо получить смещение на свойства обводки auto t = entity + 0x278; // Заполняем структуру свойств, цветом, состоянием и включаем все this->m_writeMemory<DWORD, int>(this->m_hProcess, entity + 0x278 + 0x4, state); this->m_writeMemory<DWORD, int>(this->m_hProcess, entity + 0x278 + 0x10, activator); this->m_writeMemory<DWORD, float>(this->m_hProcess, entity + 0x278 + 0x18, color[0]); this->m_writeMemory<DWORD, float>(this->m_hProcess, entity + 0x278 + 0x18 + 0x4, color[1]); this->m_writeMemory<DWORD, float>(this->m_hProcess, entity + 0x278 + 0x18 + 0x8, color[2]); this->m_writeMemory<DWORD, int>(this->m_hProcess, entity + 0x278 + 0x28, activator); //Поместим адрес свойств в argh и прибавим к количеству предметов в структуре 1 WriteProcessMemory(this->m_hProcess, static_cast<DWORD*>(argh) + item, &t, sizeof t, 0); item++; } } } } //И после того, как все циклы закончили свою работу, запишем количество сущностей в CGlowManager this->m_writeMemory<DWORD, int>(this->m_hProcess, GlowManager + 0x18, item); Запускаем, и хоба как два байта обнулить. Таким образом можно подсвечивать абсолютно любые предметы на локации. Возможно, после статьи по спавну предметов в TES Skyrim доберемся до Sniper Elite 4, вот в этой игре подсветка работает не так просто, и очень интересно, исследовать её было одно удовольствие.
    4 балла
  33. Взлом flash игр. Скачать Инфо Гифки
    4 балла
  34. Risk Of Rain 2 Просмотр файла Трейнер для Risk Of Rain 2. Использование: Открыть игру, начать игру, инжектнуть DLL, отметить флажок In Game, менять что душе угодно. При выключенном флажке "Write in field's" будет читать из игры, при включенном - писать в неё. Функционал: Управление параметрами камеры Управление параметрами персонажа Убийство курсором ( на боссах лучше не использовать, портал застревает на 99%) Взлом денег. ВНИМАНИЕ! Не запускайте чит до того, как зайдете в игру, иначе получите краш. Так же для корректной работы после смены уровня (после прохождения телепорта) нужно выключить и включить чит обратно. Для того, чтобы ввести значение, не указанное в границах поля, нужно нажать CTRL+клик по значению, которое хотите ввести. (Осторожно, может привести к вылету) Переключение между вкладками чита SHIFT+TAB Не тестировалось в мультиплеере и в стим версии. Актуально на репаке от хатаба. Спасибо за внимание и приятной игры! Добавил KRYPTOPUNK Добавлено 22.08.2020 Категория Трейнеры для PC игр  
    4 балла
  35. В этом руководстве показан принцип работы стека FPU и обращение с ним, рассмотрены команды загрузки, записи, проверки, и другие. Первая часть: Вторая часть: SoCommands.txt
    4 балла
  36. resident evil 2 remake Просмотр файла Использование: Запускаем сначала игру, а в главном меню игры (либо в уже начатой)запускаем трейнер (.cpl) Функции: 1. > Бесконечная жизнь. 2. > Без перезарядки оружия. 3. > Бесконечные патроны. 4. > Бесконечные гранаты. 5. > Точность оружия. 6. > Без отдачи оружия. 7. > Урон оружия множен в 800 раз. 8. > Скорострельность оружия. 9. > Максимальный размер сумки. 10. > Разблокировать оружие. 11. > Универсальный предмет. 12. > Бесконечное время. Добавил LIRW Добавлено 14.02.2020 Категория Трейнеры для PC игр  
    4 балла
  37. Описание: Dungeon Lords v_1.5 + 22 Сделано на СЕ 6.6 использование: Запускаем трейнер Запускаем игру Нажимаем клавишу нужной функции (игра не любит сворачивания, по этому запоминаем, записываем, или распечатываем. Совпадающие клавиши с трейнером переназначить, или отключить) Numpad 1 - Беск жизнь, кислород, нет отравления ядом. Numpad 2 - Нет урона любой магией (для включения зайти и выйти из инвентаря) Numpad 3 - убийство с одного удара Numpad 4 - Нет износа доспехов. Numpad 5 - беск. кристалы, зелье, магич.заряды Numpad 6 - очки не менее 10000000 Numpad 7 - беск замедление игры (для включения используем кристал, или зелье времени) Numpad 8 - увеличение скорости игры (для включения используем кристал, или зелье времени) Numpad 9 - беск. защита от огоня, льда Numpad 0 - меньше демонов,демоны не спавнятся . (только те, что есть в локации остаются) U;I;O;P - время суток (соответствует указанным значениям) Numpad / - опыт плюс 2500 Numpad * - опыт плюс 100000 Numpad - - очки + 50000 Numpad + - Деньги + 50000 Home - быстрый уровень скилов = 10 (одно нажатие при распределении) End - быстр. уровень характ -к = 100 (одно нажатие при распределении) PgUp - добавляет полезные -хорошие вещи PgDn - не закрываются двери с таймером. Так же останавливает платформы в бассейне с кислотой. З.Ы. В архиве присутствуют файлы для замены дефолтных маркера игрока, стрелки компаса и изменения цвета отсчёта вскрытия замков. ReadMe присутствует. Treyner&Mod.rar
    4 балла
  38. Fixes: Disassembler: Several disassembler instructions had a comma too many or too few ,fixed those Disassembler: Fixed the description for ret # Disassembler/Debug: Fixed the address that is being edited when a breakpoint hits while editing an instruction Assembler: Fixed assembling reg*2/4/8+unquotedsymbol Plugin: Fixed the SDK for C plugins that use the disassembler callback Hotkeys: Fixed the attach to foreground hotkey Memory Scan: Fixed the percentage scan Memory Scan: Fixed a rare situation that could cause an error Memory Scan: Simple values now works with groupscan Memory Scan Lua: Scanfiles now also get deleted if the memory scan object is freed before the scan is fully done Fill Memory: Now allows 64-bit addresses Structure Dissect: Fixed the popupmenu "change type" so it now affects all selected entries instead of just the first PointerOrPointee window: Fix the debug pointer or pointee window button text when using access instead of writes GUI: Fixed and restored the DPI Aware option in setting GUI: Some DPI fixes/adjustments here and there Graphical Memory view: Fixed DPI issues Symbolhandler: When the symbolhandler now waits till it's done, it won't wait for the structures to be parsed anymore Additions and changes: Lua Engine: Added autocomplete DLL injection: On DLL injection failure CE tries to fall back on forced injection methods Assembler: Added multibyte NOP Plugins: Plugins can now have side dll's that are statically linked in their own folder (Windows 7 with updates and later) Debugging: Improved the FPU window editing when single stepping, allowing you to change the FPU registers Debugging: Threadview now updates when single stepping and cnanges made there will affect the currently debugged thread (before it didn't) Debugging: Added Code Filter. This lets you filter out code based on if it has been executed or not (Uses software breakpoints) Debugging: Added an option to chose if you wish to break on unexpected breakpoints, and if CE should break on unexpected breakpoints, or only on specified regions (like AA scripts) Disassembler: The comments now show multiple parameters Pointerscan: Add option to allow negative offset scanning Pointerscan: Add extra types to the display Advanced Options/CodeList: Now uses symbolnames Tutorial Game: Added a levelskip option when you've solved a step Tutorial Game: Added a secondary test Compare memory: Added a limit to the number of address values shown per row (can be changed) Address List: When the option to deactivate children is set, the children will get deactivated first Memory Scan: Add a lua script in autorun that lets you specify which module to scan lua: ExecuteCodeLocal (Let's you execute code in the target and pass parameters) Added 2 new parameters to getNameFromAddress (ModuleNames and Symbols) Added addModule and deleteModule to the symbollist class Added the ModuleLoader class which can force load dll's Fixed endUpdate for the listview https://github.com/cheat-engine/cheat-engine/releases/tag/6.8.2
    4 балла
  39. Far Cry 4 Просмотр файла Функции: Бесконечная жизнь. Бесконечная броня. Бесконечная энергия. Бесконечный кислород. Бесконечные гранаты. Бесконечные патроны. Без перезарядки оружия. Максимальная дальность выстрела. Супер перезарядка оружие. Супер точность на всё оружие. Без отдачи оружия. Бесплатный магазин. Невидимость. Разблокировать магазин. Разблокировать слоты оружия. Супер скорость бега. Супер прыжок. Нет качание оптики во время прицеливания. Супер увеличение оптики. Бесконечное время миссии. Не надо натягивать лук при стрельбе. Скорострельность автоматического оружия. Прицел при выстреле не пропадает. Крафт любым предметом. Нет урона автомобилю. Нет лимита мин. Нет лимита С4 Супер дистанция броска С4 Умноженный урон оружия в 500 раз Бесконечные поинты на прокачку умений. Бесконечные деньги. Бесконечный шприц. Бесконечное время эффекта после него. Много очков кармы. Супер очки при убийствах. Ps: Запускаем сначала игру, а в уже начатой игре (не в меню игры) а уже начатой игре - запускаем трейнер. Так как там игровой модуль(dll) упакован vmprotect и сверяется во время загрузки игры его контрольная сумма, а обхода подобного я не у кого не видел в трейнере. Клавиши в трейнере парные.. Зажимаем клавишу insert и жмем клавишу указанную на панели трейнера. Каждая функция, под своей буквой - цифрой. Добавил LIRW Добавлено 18.11.2018 Категория Трейнеры для PC игр
    4 балла
  40. Версия Steam 04.05.2018

    113 раза скачали

    Использование: Скаченный архив распаковываем в любое удобное для вас место. Запускаем сначала игру, а в главном меню игры или в уже начатой игре "trainer" Клавиши в трейнере парные - зажимаем insert и в En алфавитном порядке функции. Функции Трейнера: 1) Бесконечная жизнь. 2) Бесконечная выносливость. 3) Без перезарядки оружия. 4) Бесконечные патроны. 5) В магазине цены на все 1$. 6) Бесплатный верстак - не требует ресурсов на сборку. 7) Бесконечный глушитель. ? Отключение звука выстрела - хоть с глушителем,хоть без него - враги не слышат. 9) Без отдачи оружия. 10) Максимальная точность выстрела снайперской винтовки на любом расстоянии. 11) Показ цели, куда прилетит пуля. Естественно кроме хард режима. 12) Бесконечный заряд дрона. 13) 100% не видимость. (Функцию не особо тестировал).
    4 балла
  41. Версия 4427 Codex

    135 раз скачали

    Использование: Скаченный архив распаковываем в любое удобное для вас место. Запускаем игру, запускаем трейнер от имени администратора в главном меню игры или в уже начатой игре. Клавиши в трейнере парные - зажимаем insert и в En алфавитном порядке функции. Функции Трейнера: 1) Бесконечная жизнь. 2) Убийство с одного выстрела - убивает всех. 3) Нет урона автомобилю. 4) Быстрое убийство вражеского авто. 5) Бесконечные очки. - Поднять надо какое либо количество. 6) Много репутации. 7) Без перегрева пулеметов. 8. Супер счет убийств. 9) Супер скорость персонажа. 10) Точность оружия. 11) Без отдачи оружия. 12) Без перезарядки оружия. 13) Бесконечные патроны. 14) Бесконечные гранаты. 15) Заморозка времени - пока в бете. 16) Сброс поиска персонажа (врагами). Demo:
    4 балла
  42. Всё-таки я склоняюсь к 1 способу обхода античита, который показал в начале видео - т.е. писать шифрование для каждого скрипта отдельно, как к самому надежному и не напрягающему пользователям. Так что в следующем видео я его повторю уже для конкретных случаев. Видео: Табличка: табличка ниже.
    4 балла
  43. Здесь. Step 1 Скрипты: "Step 1 v.1" "Step 1 v.2" "Step 1 v.3" Видео: Табличка: // табличку перенес ниже.
    4 балла
  44. FarCry 5 Просмотр файла Использование: Скаченный архив распаковываем в любое удобное для вас место. Запускаем игру, запускаем трейнер в меню игры, либо в уже начатой игре. Клавиши в трейнере парные - зажимаем insert и в En алфавитном порядке функции. Функции Трейнера: 1) Сохранить позицию. 2) Загрузить позицию. 3) Супер точность ружья. 4) Телепорт к маркеру. 5) Без ограничения дистанции на выстрел. 6) Все вещи в магазине бесплатные. 7) Скорострельность автоматического оружия. 8) Бесконечная жизнь. 9) Бесконечная выносливость. 10) Бесконечный кислород. 11) Супер точность. 12) Без отдачи оружия. 13) Без перезарядки оружия. 14) Бесконечные патроны - предметы. 15) Невидимость. 16) Супер рыбалка - рыба сама тянется. 17) Нет урона от падений. 18) Супер скорость. 19) Супер прыжок. 20) Бесконечное время. 21) Прокачка персонажа без sp 22) Леска не рвется. 23) Супер перезарядка на болтовках и ружьях. 24) Без перегрева оружия. 25) Разблокировать оружие. 26) Легкий Крафтинг. PS: Спасибо @Gmz за настройку самого аппарата. Добавил LIRW Добавлено 29.04.2018 Категория Трейнеры для PC игр
    4 балла
  45. проще было бы использовать тогда уже vector а не array а облачать еще в скобки нужно потому что это уже не просто данные массива упрощенно array это template<class Ty, size_t Size> struct {Ty[Size] data;} а подобные простые классы или структуры (или union) можно инициализировать упрощенно у меня уже тут ошибку дает std::vector<std::array<int, 2>> data2 = { { 1, 2 } }; а вот так не дает std::vector<std::vector<int>> data = { { 1, 1 } }; можно присваивать, как ты присвоил a с vector of array не пашет упрощение, потому что список инициализации для вот тут про это говорится https://stackoverflow.com/questions/6041459/c-vector-of-arrays из-за того что это уже не просто array, а vector<array> правило для упрощения инициализации не работает можно еще тут прочесть (не сказать что я все уяснил)) ) http://ru.cppreference.com/w/cpp/container/array http://ru.cppreference.com/w/cpp/container/vector http://ru.cppreference.com/w/cpp/language/aggregate_initialization http://ru.cppreference.com/w/cpp/language/list_initialization (хотя кажется лучше en версию читать)) ) чтобы понять как он хранится в памяти проще в ide дебаг запустить и посомтреть locals (у vector есть allocator,allocator_vals,first,last)
    4 балла
  46. Проведено огромное количество опытов над структурами. Много переделок. Очень кратко напишу, что поменялось. 1. Название структуры состоит из адреса, количества адресов в ней и времени в миллисекундах на один байт в структуре. Подчеркнуто красным 2. Смещения отбираются только те, на которых за X времени не было обнаружено ни одной инструкции на запись. Чем больше та самая чувствительность, тем точнее результат 3. В именах структур теперь ценная информация. Это смещение, регистр и тип На скриншоте ниже можно посмотреть пункты 2 и 3. Также на этом скриншоте я заморозил по соседству адрес (поставил Lock) и пару раз пострелял в игре Сталкере Зов Припяти Выводы, которые я сделал за очень и очень скромное время пользования. За минут 15 и на паре структур оружия в двух разных играх L4D2 и Сталкер Зов Припяти 1. Если править 4-х байтовые значения, то легко можно нарваться на вылет игры. Но подключившись снова, можно продолжить. 2. Правки значений с типом в 1 байт могут заблокировать оружие (в двух играх) или же устроить скорострельность на полную катушку в L4D2. 3. Правки значений с типом float. Можно легко нарваться на вылет в игре, если например поставить нолик. Деление на ноль или какая-то иная причина. Лучше ставить чуть больше нуля, можно положительные или отрицательные значения 4. Частенько бывают адреса в структуре, на которых включаются инструкции записи только после изменения значения. Тут я пока ничего не смог сделать, просто удалить их из структуры как лишние. 5. Для сканера используется 1 аппаратный брейкпоинт, остальные три штуки еще не используются, т.к. сложно их прикрутить. Если использовать все 4 аппаратных бряка, то скорость сканера была бы в 4 раза быстрее. Сейчас на 2К байт по 10 мс, у меня уходит где-то 150 секунд. Если я ставил 20мс, то находилось на 10 смещений больше или какие-то другие смещения пропадали. Код будущего плагина все еще находится на стадии тестирования. Поэтому пока плагин не выкладываю. upd1: инструкции cmp, add, sub, xor, and, not, test, mulss, fsub, fmul, dec, inc, mul; теперь выводятся в имя элемента структуры. На скриншоте случайно вышел на координаты UI таймера. Сделал три скана трех структур в новых окнах upd2: перемещение структуры Итог перемещения двух структур в первую
    4 балла
  47. 1. Персонаж падает с большой высоты и разбивается Ищем адрес скорости прыжка прыгая под speedhack. Находим эту скорость. Ставим бряк на доступ. Прыгаем. Инструкции на чтение добавляем в список адресов и там начинаем нопить - Либо по одной - Либо рискнем по половине от половины - Либо рискнем и все сразу занопим Если повезет, а должно повезти, то инструкция не прочитает то значение скорости, которое уложило бы персонажа на землю и можно будет прыгать на огромную высоту. 2. Как делать супер прыжок Ищем под speedhack скорость float (назовем её velocityZ, Z - вертикальная ось) по вертикальной оси прыгая персонажем. Когда прыгаем. то скорость в один момент увеличивается. Затем, скорость постоянно уменьшается от положительного до отрицательного значения. Когда на земле, то скорость быстро записывается и равна нулю. Дальше смотрим что это рабочий адрес. Прыгаем и замораживаем значение. Если адрес рабочий, то персонаж зависает в воздухе или движется. Дальше ставим бряк на запись на этот адрес и снимаем speedhack Прыгнули и увидели инструкции. Например одна из них будет movss [rdi+0000010C],xmm0 и работает каждый раз при прыжке по одному разу за прыжок (прыгнули — сработала, прыгнули — сработала). Вот в неё и легко сделать инъекцию с рядом стоящими адресами с умножением на scale величину. Все и персонаж будет с суперпрыжком. Чтобы он не разбивался при прыжке смотрим пункт1 Еще один вариант — не писать инъекцию кода, а искать адрес силы прыжка в структуре. Это можно сделать меняя значения в структуре где-то рядом с [rdi+0000010C] и смотреть что происходит в игре. Можно найти, а можно и не найти, и возможно этот процесс будет долгий. Еще можно в пошаговой отладке пройтись, посмотреть стек, протресить и попробовать найти адрес в структуре (при чем структура не обязательно будет с адресом в rdi) без рандомного поиска в структуре. Но у последнего есть свои плюсы, можно найти разные параметры движения игрока и увидеть изменения в игре. 3. Менять данные в структурах или менять код? В примере выше пришлось создать два новых поля scaleXY: dd (float)4 scaleZ: dd (float)4 И умножать их на скорости X,Y,Z персонажа. С одной стороны больше кода писать и добавлять новые поля, а с другой стороны выделить время и найти подход к поиску значения стартовой скорости в структуре. Можно в структуре ничего не искать, а написать скрипт выше и это может быть быстрее чем искать в структуре. С другой стороны если в структуре рандомно ставить параметры в течении времени X на 4К байт, то можно найти: адрес скорости, адрес гравитации, адрес чувствительности и много чего еще. И еще одно ограничение. Расструктуризация не всегда правильная. Упорно вместо float может видеть 4 байта. Это в лучшем случае, в худшем разные смешения смержены и выводятся разные типы данных. В общем исследование игровой структуры эта тема интересная. Можно сказать это поиск свойств, по которым будет меняется поведения персонажа в игре. Структуру желательно обследовать какой оффест, что делает и какого он типа (через брейкпоинт). Это всего 4К байт проанализировать. Каждое смещение подписать и сохранить. Сделав это вы скажите себе я исследовал всю структуру и знаю, что делает смещение. Lua может помочь автоматизировать анализ структур и пока я думаю об этом. Данные структур могут сильно повлиять на поведение персонажа, на прохождение потоком отладочных инструкций игры по разным условиям — выполнять и не выполнять ответвления кода с разными условиям. В общем есть над чем подумать. Всегда было приоритетным менять код, но теперь стал задумываться о том чтобы больше смотреть в сторону правки данных структур. Фактически код мы не правим, а меняем данные и код работает уже с другими данными.
    4 балла
  48. Версия 2.4

    643 раза скачали

    На основной страничке ссылки на скачивание плагина протухли, выложил здесь
    4 балла
×
×
  • Создать...

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

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