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

Egorka

Стажёры
  • Постов

    6
  • Зарегистрирован

  • Посещение

Репутация

3 Навыки не прокачены

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Решил в игре получить невосприимчивость к вражеским объектам (неуязвимость). Но т.к. в этой игре умираешь с одного раза, то у меня возникли трудности. Сначала я пытался в интернете найти похожие запросы, но ничего, кроме уже готовых трейнеров/таблиц не увидел для других игр. Тогда я решил искать 4-байтное значение по признаку "изменилось/не изменилось". Однако таким образом я смог найти только время респа персонажа после смерти (оно длиться 1 секунду). Я предположил, что инструкция, работающая с этим таймером находится внутри подпрограммы, связанной со смертью персонажа. Значит необходимо посмотреть, что находится раньше вызова этой подпрограммы. Но ничего определенного я не нашел (там естественно было сравнение с условным переходом, но по моим наблюдениям этот условный переход всегда выполняется: и когда жив персонаж, и когда мертв): Тогда я решил выполнить трассировку этой подпрограммы в случаях, когда персонаж жив и когда мертв, сравнить их и "проанализировать отличающиеся моменты" (хотя это слишком громкое заявление): Посмотрев на инструкцию с адресом 0x20DAE917, решил узнать, что находится в ячейке памяти по адресу [eax+142]. А там первый байт как раз отвечает за жизнь (1 - жив, 0 - мертв). Ну а дальше поставил брейкпоинт на запись. Там 1-ая инструкция записывает 0 в ячеку памяти с жизнью, а 2-ая - 1. Ну я опять делаю предположение, что 1-ая инструкция находится в подпрограмме, отвечающей за смерть персонажа, выхожу на вызов этой подпрограммы, и ради прикола меняю условный переход на безусловный: Ну и я получил бессмертие, но только для определенных вражеских предметов (шипы меня не убивали, но вот, например, лава для меня смертельна). Тогда я опять поставил брейкпоинт на запись для той же ячейки памяти, в которой находится жизнь персонажа, и выяснил, что эту подпрограмму вызывают еще в других местах. Единственное, что пришло мне в голову, это после вызова подпрограммы сразу написать инструкцию "ret": И этот скрипт работает так, как я планировал (ну т.е. я получил неуязвимость ко всем вражеским объектам). Но я столкнулся с проблемами. Во-первых, в игре есть такой вражеский объект как "каменный кулак", который падает вниз, когда персонаж находится под этим кулаком. И когда этот кулак падает на персонажа при включенном скрипте неуязвимости, я не могу двигаться (но при этом сквозь шипы я могу спокойно проходить). Во-вторых, если перезапустить игру и попытаться активировать скрипт, то он не сработает (не активируется). Позже методом проб и ошибок я выяснил, что если хотя бы один раз умереть, то скрипт заработает. Почему так происходит? Как это починить? Правильно ли я сделал взлом? Есть ли в интернете подробные разборы того, как получить неуязвимость, когда персонаж умирает с одного удара, или как сделать так, чтобы персонаж проходил сквозь вражеские объекты?
  2. Нашел, где используется строка "Hello what is your name?": "Гуляя" по этому участку кода выяснил, что сравнение введенного пароля с эталонным происходит при вызове функции: В ней обнаружил, что сравнение введенного пароля с эталонным начинается с 37 символа от начала введенного пароля: Т.е. первые 36 символов могут быть любыми, а последние 7 символов - "1234567". Например: Ну как, правильно я сделал или нет?
  3. Всё, я нашел, как это сделать:
  4. Egorka

    Вопрос по AA-скрипту

    Можно ли объединить 2 скрипта в один, чтобы при его активации происходили 2 инъекции в разные участки кода игры? Как их объединить корректно, а то, сколько бы я не экспериментировал, инъекции всегда были какие-то стрёмные, и игра крашилась? И вообще нет ли случаем какой-нибудь статьи или другой литературы, где будет основательно расписано про AA скрипты (про синтаксис, команды, инъекции и т.д.)?
  5. В общем, решил я эту проблему посредством переустановки ОС. Я так и не выяснил, почему у меня этот косяк появился. Возможно это связанно с тем, что я недавно скачал программу, отключающая слежку в Windows 10. Ведь не зря сама Microsoft пишет, что отключение некоторых служб и др. может сказаться на работу ОС. Тему, наверное, можно закрывать.
  6. Проблема заключается в том, что если мне необходимо узнать, какие инструкции считывают/записывают данные в какую-то ячейку памяти, то я, естественно, нажимаю ПКМ по выбранной ячейке и выбираю пункт "find out what writes to this address". В этом случае появляется окно, в котором должен быть список инструкций (если он есть). И если эти инструкции существуют, то компьютер наглухо зависает (если инструкций нет, то все норм). Ни клавиатура, ни мышь в этот момент не работают. Помогает только перезагрузка компьютера. Ранее данной проблемы не было. Трудно сказать, после чего она появилась, ибо я некоторое время (около 3 недель) не использовал CE. Разумеется, я попробовал переустановить CE, а также поставить более раннюю версию, но это не помогло. При этом, если в опциях выбрать windows debbuger или kernelmode debbuger, то данная проблема не наблюдается. Ну и в связи с этим возникает вопрос: сталкивались ли вы с данной проблемой и смогли ли решить? Если эту проблему не получится решить, то у меня есть другой вопрос: в чем заключается отличие VEH debugger от kernelmode debbuger и можно ли использовать последний в качестве замены VEH debugger? Использую ОС Win10 x64.
×
×
  • Создать...

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

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