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

Лидеры

  1. LIRW

    LIRW

    Ветераны


    • Баллы

      3

    • Постов

      4 514


  2. partoftheworlD

    partoftheworlD

    Пользователи+


    • Баллы

      3

    • Постов

      2 687


  3. skip123

    skip123

    Пользователи+


    • Баллы

      2

    • Постов

      258


  4. Garik66

    Garik66

    Помогаторы


    • Баллы

      1

    • Постов

      5 750


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

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

  1. Автор статьи: Whitey Перевел: partoftheworlD специально для gamehacklab.ru Оригинальная cтатья Необходимые инструменты: Сканер памяти(Cheat Engine) Отладчик(x32dbg) Оглавление Введение Шаг 1 Поиск здоровья и получение нашей структуры Шаг 2 Поиск координат нашего игрока Шаг 3 Инъекция кода Шаг 4 Код в трейнере Введение: В этом уроке мы собираемся сохранять/восстанавливать значения в Bloodrayne 2 Demo. Такая опция предполагает, что пользователь, нажав на одну кнопку мог сохранить текущую позицию, а при нажатии на другую телепортировался в ранее сохраненную позицию. У вас должны быть хорошие навыки в поиске и отладке, если хотите выполнить этот урок. Я стараюсь вдаваться в подробности как могу, если вы будите следовать всем шагам, то у вас не возникнет никаких проблем. Шаг 1 Поиск здоровья и получение нашей структуры Ладно, я уверен вы знаете как искать значение здоровья. То, что мы хотим сделать это получить все указатели, потому что мы будем использовать один из них для нашей инъекции. Открываем x32dbg... Видим снизу консоль и вводим в неё bpm адрес, нажимаем Enter После срабатывания начинаем записывать адреса инструкций при срабатывании, нажимая F9 для продолжения выполнения программы, записываем адреса пока не начнут повторяться. Это те адреса, которые нам нужны, на самом деле их на много больше. 5BE285 : PUSH [EBX+39C4] 5BE2B5 : 5BE2D1 : 5BF30A : Теперь ставим бряки на этих адресах по одному и смотрим на структуру внутри указателя, для того чтобы убедиться, что структура никогда не изменяется, так мы узнаем, что указатель работает только со здоровьем игрока. Пишем в консоле: bpx 5BE285 Продолжаем нажимать F9 при срабатывании наблюдая за адресом структуры в EBX и, если она никогда не изменится значит она работает только для нашего героя. Это адрес, который мы будем использовать для нашего телепорта. 5BE285 : PUSH [EBX+39C4] Вы должны знать, как работает большинство игр. У вашего игрока, оружия, предметов есть свои структуры, таким образом в структуре вашего игрока будет все что использует ваш персонаж. Так, теперь получим координаты. Шаг 2 Поиск координат нашего игрока Есть много способов найти их, многие будут использовать долгий способ с поиском координат, но это не всегда работает. Быстрой и простой способ - использовать структуру игрока. Этот указатель PUSH [EBX+39C4], EBX является началом структуры игрока, всякий раз, когда игра должна какую-нибудь информацию от игрока, она добавляет к EBX какое-нибудь смещение. Например, ваше здоровье хранится в [EBX+39C4], сила в [EBX+34] и т.д. Надеюсь вы понимаете. Так, теперь получим координаты, нам нужно установить бряк на выполнение на указатель здоровья и дамп нашей структуры. Пишем в консоле: bpx 5BE285 d EBX Теперь в окне дампа первым адресом будет наша структура. Будем наблюдать за байтами, которые изменяются в окне дампа во время движения. В окне данные будут выглядеть так. 600001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 600002 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Координаты хранятся так: 600001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 600002 00 00 11 11 11 11 22 22 22 22 33 33 33 33 00 00 1 = X(первая координата) 2 = Y(вторая координата) 3 = Z(третья координата) И так, проделав эти шаги мы нашли 3 DWORD значения в 2 строка которые изменяются, когда наш герой двигается. Получили следующие смещения. 34,38,3C. [PlayerStructure+34] = первая координата[PlayerStructure+38] = вторая координата[PlayerStructure+3C] = третья координата Отлично, теперь у нас есть координаты и наша позиция. Шаг 3 Инъекция кода Что нам нужно для инъекции. Место под код 2 пустых адрес для установки 2-х флагов 3 пустых адрес для хранения сохраненных координат. Ладно, для начала найдем большое место под код т.к .у нас будет большая инъекция. 5BE285: JMP CODE CAVE | ---------- Оригинальная инструкция для прыжка в наш код NOP | ---------- балансировка байт PUSHAD | ---------- сохраняем регистры CAVE: PUSH [EBX+39C4] | ---------- Оригинальная инструкция сохраняющая регистр CMP [FLAG1],1 | ---------- проверка, если наша кнопка сохранения позиции нажата JNE SHORT | ---------- если кнопка не нажата, прыгает восстановленной оригинальной инструкции, если нажата пропускаем. MOV [FLAG1],0 | ---------- устанавливаем 0 нашему флагу, чтобы код не повторялся MOV ECX,3 | ---------- Установим значение счетчика 3 LEA EDI,[STATIC1] | ---------- Загрузим начальное значение в EDI LEA ESI,[EBX+34] | ---------- Загрузим первую координату в ESI REP MOVSD | ---------- Цикл пока ecx не будет равно 0 CMP [FLAG2],1 | ---------- Сравниваем, если кнопка восстановления нажата JNE TO END | ---------- если нет прыгаем в конец скрипта MOV [FLAG2],0 | ---------- устанавливаем 0 нашему флагу, чтобы код не повторялся MOV ECX,3 | ---------- Установим значение счетчика 3 LEA EDI,[EBX+34] | ---------- Загрузим начальное значение в EDI LEA ESI,[STATIC1] | ---------- Загрузим первую координату в ESI REP MOVSD | ---------- Цикл пока ecx не будет равно 0 END: | --------------------- POPAD | ---------- восстанавливаем регистры | ---------- И возвращаемся в игровой цикл Очень просто, хех? Шаг 4 Код в трейнере Ладно все что вам нужно сделать это, Для кнопки сохранения, инжектировать весь код и установить первому флагу 1. Для кнопки восстановления, инжектировать весь код и установить второму флагу 1. Теперь, нажимая на указанные "горячие клавиши" при сохранении будет устанавливаться флаг меняющий значение истинности и сохраняющий координаты в статические адреса, а при восстановлении установится второй флаг, который возьмет сохраненные координаты из статических адресов и установит их значение реальным координатам, что переместит нас в это место.
    3 балла
  2. Deadpool Просмотреть файл Бесконечная жизнь. Убийство с одного удара. Неограниченное умение. Супер комбо. Супер прыжок. Без перезарядки оружия. Бесконечные очки. Уменьшение отдачи - (Ну его на фиг эти анреал технологии :)) Бесконечные патроны. Demo: Автор LIRW Добавлен 10.08.2017 Категория Трейнеры для PC игр
    1 балл
  3. Mega Man Legacy Collection 2 Просмотреть файл Бессмертие. God mode - это персонажу не кто не может причинить урон. PS: Запускаем игру, запускаем трейнер - это тот, что cpl и жмем нужные клавиши. Опций более нет в игре - ну мне не попались. Я думал там прям игра, а это портировали с сеги и всё. А в сеге что там можно было сделать из функций то патроны, да бессмертие. Сама игра вот Естественно Стимовский магазин! Автор LIRW Добавлен 10.08.2017 Категория Трейнеры для PC игр  
    1 балл
  4. Версия 3dm

    37 раз скачали

    Бессмертие. God mode - это персонажу не кто не может причинить урон. PS: Запускаем игру, запускаем трейнер - это тот, что cpl и жмем нужные клавиши. Опций более нет в игре - ну мне не попались. Я думал там прям игра, а это портировали с сеги и всё. А в сеге что там можно было сделать из функций то патроны, да бессмертие. Сама игра вот Естественно Стимовский магазин!
    1 балл
  5. Уррааа! Получилось. Допилил таки свой старый скрипт, добавил срабатывание по метке, теперь чётко срабатывает и по метке и по курсору. what228, спасибо за помощь, я справился. Буду признателен, если поможешь с годмодом или беск. ХП.
    -1 балл
  6. Для Sacred 2 v.2.65.2 есть готовая таблица от Recifense с форума СЕ с нужной мне опцией GodMode. Ещё пробую сделать на эту игру телепорт по курсору. Проблема в том, что игра состоит из двух процессов - s2gs.exe и sacred2.exe. Таблица с режимом GodMode подсоединяется с процессу s2gs.exe и работает с ним, а реальные координаты персонажа находятся в процессе sacred2.exe. Что можно сделать, чтобы работало одновременно и то и другое? Версия СЕ 6.7.
    -1 балл
  7. Нет ли хороших новостей? С двумя запущенными СЕ, подключёнными к двум процессам у меня работает нестабильно, регулярно замирает или сразу падает на раб. стол. Несколько раз даже падало в синий экран великого зла.
    -1 балл
  8. На последней версии игры 1.0.1.1 трейнер не работает. Нельзя ли обновить?
    -1 балл
  9. Понимаю. Но если устаревшую таблицу для СЕ в принципе можно было бы допиливать под обновления самостоятельно, без помощи автора, то трейнер - замкнутая вещь в себе, это авторский "чёрный ящик" и обновление игры делает трейнер для стороннего пользователя практически бесполезным. ИМХО. Спасибо, интересная штука. Однако у автора на сайте огромными красными буквами значится: Latest game version (v1.0.0.9) only! Steam version only (no GoG support)!
    -1 балл
  10. Спасибо, я знаю этот сервис. Критический недостаток - онлайн. Для меня это крайне неудобно. Сейчас, за неимением лучшего, для этой цели пользуюсь Hexplorer'ом. Это компактный бесплатный НЕХ-редактор с простеньким дизассемблером. Достаточно скопипастить нужные байты любой длины и в отдельном окошке диз-ра показываются соответствующие коды. Обратное действие делать не умеет, но при полном отсутствии альтернатив и то неплохо. Если интересно, ссылка: https://sourceforge.net/projects/hexplorer/ Если б какой-нибудь спец написал такой плагин для СЕ... да ещё с поддержкой всяких ** и ??... цены бы ему не было...
    -1 балл
  11. Меню File --> Open File Да, проверил на 6.5.1, действительно работает. Вот ведь незадача. А на 6.7 это реально починить?
    -1 балл
  12. СЕ может открывать не только процессы, но и файлы, это заявленная возможность. Однако у меня не получается даже поиск в файле, не говоря уже об остальном (в артмани всё это работает). При открытии файла окно поиска просто неактивно. В Memory Viewer содержимое файла видно, но и только - поиск и там не работает. Вручную адрес в таблицу ввести можно, но отредактировать его потом уже нельзя, выскакивает какая-то ошибка lua. Получается, либо функция открытия файлов в СЕ совершенно бесполезна, либо я что-то не так делаю. Можно ли с помощью СЕ (6.7) находить значения в файлах и вообще создать нормально работающую таблицу?
    -1 балл
  13. Игра Blackguards. Плагин 2.4.2, СЕ 6.7. При попытке создать aob-скрипт плагин падает с ошибкой в окне Lua (с текстом lua:421:attempt to index a nil value). То же самое на играх Chaos Reborn, Hard West и некоторых других. Встроенная в СЕ опция создания аоб-скриптов на них работает нормально. Не знаю, важно ли: многие адреса инструкций в этих играх - это почему-то адреса вида "12345678", а не какое-нибудь "game.exe+1234". Плагин даёт ошибку на таких "просто адресах". Хорошо бы починить.
    -1 балл
  14. Тематические знания для такой форумной дожности - не главное, "самый умный" для неё не требуется. Тут важны в первую очередь лидерские качества, способности к организации и управлению. Ну и преданность делу, разумеется. Так что предложение, на мой взгляд, очень правильное. Золотые слова! Ибо...
    -1 балл
×
×
  • Создать...

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

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