SergBrNord

Пользователи
  • Публикации

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

  • Посещение

  • Days Won

    5

Все публикации пользователя SergBrNord

  1. Всем опять и снова привед! Продолжаем мучать старенькую игрушку "Гарри Поттер и Философский камень" =) На сей раз чисто умозрительный вопрос по таймерам, использующихся на урока по обучению заклинаниям. Вот так это выглядит: Ломаем таймер в нижнем углу. За таймер отвечают три значения: закрашивание полоски красным цветом, тип float, реализовано декрементацией (~14->0); скорость воспроизведения звука часов, тип float, реализовано декрементацией (~14->0); сам таймер, тип float, реализовано инкрементацией (0->~14). Окно обращений инструкций: Во всех трёх инструкциях работа идёт с одним и тем же адресом; под адресу не структура, а значение. Листинг кода №1: Листинг кода №2 (инструкции рядом): И вопросы, которые меня мучают: Если писать скрипт, то, НЯП, надо работать со стеком, так как показывал srg91; т.е. заместить значение, вкладываемое инструкцией "fld dword ptr [esp+10]"? Если работать со стеком, что будет правильнее в использовании – просто положить в стеке значение сверху или вытолкнуть и затем положить своё? Как тут организовать фильтр? При заморозке адреса таймер, подсчёт очков начинает работать некорректно. Каким образом это может быть завязано на таймер? Как работает корректный подсчёт – игрок рисует изображение по контуру мышкой, не открывая ЛКМ до завершения, а затем игра повторяет его движение и выставляет очки. Как работает некорректный подсчёт – игрок рисует изображение по контуру мышкой, не открывая ЛКМ до завершения, а затем игра не повторяет движение, а соединяет две конечных точки. Вот так это выглядит: Т.е. тут что-то вроде запоминания положения курсора в определённой точке относительно таймера? P.S. Игрушка сделана на Unreal Engine, может кого на мысль натолкнёт =)
  2. Всем привед! Продолжаю ломать старенькую игрушку "Гарри Поттер и Философский камень" =) Сейчас взламываю здоровье. И возникла проблема с инструкцией fstp. НЯЗ, эта инструкция перемещает из регистра ST данные в регистр-цель. И вот как работать с этим регистром ST? Вот что я пытался провернуть (в структуре, находящейся в eax по смещению 4 – максимальное здоровье, в начале – текущее здоровье; всё типа float; инструкция работает с несколькими адресами, поэтому присутствует фильтр): P.S. Вариант с использованием инструкции fstp возник после неудачи с этой попыткой: Почему-то не срабатывает и отладить не могу - при попытке запустить игру в окне крашится напрочь.
  3. "В угол" . Garik66 1. Да, я видел эту инструкцию, но никакой толковой мысли не возникло, кроме "На кой здесь с единичкой сравнивают?" =) 2. Тут так много чего пишется в регистры. Скорее всего, завтра ещё одна тема будет с тупыми вопросами типа "как это готовить?"
  4. Проверил. Не работает. "В угол" . Garik66 По 1 скрипту – интерпритатор ругался на: cmp [eax+4],(float) 50 //50 Поправил на: mov [eax], (float)50 Также не сработал. По 2 скрипту – во время первого здоровье прибавилось, но после получения урона игра крашнулась (я насиловал игру несколькими скриптами подряд). Во время второго запуска - полёт нормальный.
  5. Нет, не крашнулось Данный конкретный случай - инструкция работает по 5 адресам.
  6. Сейчас указатель на таймер найду и опробую. Есть, там, где в теплицу чешешь, это сразу после Пивза. В лабиринте есть как и растения хищные, так и гнумы в секретках. P.S. У тебя, скорее всего, консоль включена. Это как-то через файлы конфигурации производится.
  7. Он пустой. Там ничего нет на момент срабатывания инструкции. Если бы что-то было, вложил бы в стек.
  8. 1. При попытке запустить в окошке эта собака крашится. 2. https://cloud.mail.ru/public/FxZJ/VXcMsjAB5 Сэйвы: бежим вперёд и огребаем; просто кинуть в документы; в архиве 2 варианта.
  9. Всем привет! Столкнулся с интересной проблемой. Есть такая старенькая игрушка "Гарри Поттер и Философский камень" =) Пытался сломать значение бобов в этой игрушке и получил в итоге: INJECT,Core.dll,ОШИБКА: Не удалось найти уникальный массив байт. Опробованный код "8B 08 89 0A C2 08 00" Насколько я понимаю, CE требуется уникальный массив байт, он же AoB. Пытался добавить вручную байт, получилось что-то вроде этого: aobscanmodule(INJECT,Core.dll,"8B 54 24 04 8B 08 89 0A C2 08 00") // should be unique Всё равно отказывается работать. Как таки получить уникальный массив байт? Весь текст скрипта полностью:
  10. Нет. 0 реакции, побегал, поиграл – без проблем. P.S. Это привет от CE остался.
  11. Уже дошло. НЯП, нужно удалить в двух местах:
  12. У меня полная антология от R.G.Recoding, но сигнатура подошла как родная. А вот что я получил (делал ручками): Что интересно, после доработки сигнатуры, место в коде находится точно, но переход не прописывается никак. Вот как это выглядит:
  13. Попробовал поиском по массиву - 0 результатов, хотя AoB Scan выдаёт цифру в 4 совпадения.
  14. Достаточно явно написано. Но мне нужно пояснение. Я сейчас читаю параллельно статью Ридиана с форума CE. У него есть такой пример: Я предполагал, что убираются одинаковые группы байт. Но глянул чуть подробнее — а там совсем не одинаковые группы байт. Т.е. идёт замена непосредственно адресов, которые используются в коде. Но у меня такого нет.
  15. Не буду оригинален - прошу посмотреть Prince of Persia: Forgotten Sands =) Времени нет толком доломать из-за работы, так хоть на видео посмотрю.
  16. Согласен, но я пока доламываю таймер времени. То что ты нашёл (огромное спасибо) - это всего лишь визуалка. Но! Вверх по коду есть следующее: Первый - 100% содержит количество времени, на которое разрешена отмотка. Я записал по "Prince of Persia.exe"+D0731C значение в 20 - и таймер увеличился на 9,5 секунд.
  17. Отлично получилось! Я понял в чём ошибка - на каком-то из этапов моих отсевов я постоянно по нулю чистил. Предполагал, что логика та же что и в старых, но почему-то не учёл, что под принцем новый движок. Я бы хотел попросить тебя сломать ещё и опыт.. но как-то совестно =)
  18. У меня есть скрипт же свой =)
  19. Идеально было бы, чтобы полоска вообще не убывала. Если смотреть по всем предыдущим играм серии - просто идёт запись действий игрока до определённого времени, около 20 секунд или выше, а при включении функции, обращает все действия игрока, вплоть до восстановления объектов и НПС. Да, работает со здоровьем боссов, как ни странно.
  20. Гарик, нужно помочь со сломом таймера отмотки, а не числа количества отмоток. Если по простому - то это полукруглая заполняющаяся полоса под красной полоской здоровья. Я вышел на статический адрес значения, которое если приморозить, то морозится вся игра. Вот этот адрес; просто добавь: "Prince of Persia.exe"+D09A08 Сделать, естественно, надо так, чтобы полоска не убывала. P.S. На эту функцию, которая у тебя, надо писать фильтр, т.к. она ещё работает и со здоровьем боссов (по крайней мере с первым - точно). Вот мой, ещё не опубликованный скрипт. P.P.S. Про dxwnd узнал на пред-предпоследнем стриме Руслана, а так, в окне ломал. Хардкор, етить его +)
  21. Увидел уведомление на форуме.
  22. На ГХК я попал как раз таки с канала на YouTube. на который, в свою очередь попал с канала Михаила Ремизова. Из пожеланий - разве что попробовать поломать таймер отмотки времени в PoP: The Forggoten Sands, я над ним неделю уже бьюсь. P.S Гарик обещал глянуть, но только когда освободится =) P.P.S. Надеюсь в выходные какая трансляция будет.
  23. Подымаю тему. У меня проблема, вышедшая за рамки моих навыков и умений. Я искал значение таймера и вышел на статический адрес. Но, если его заморозить, то при попытке отмотать значение морозится, но одновременно становиться невозможным отключить реверс + отключается управление. Выкладываю два скрипта (ничего не делающих), в которых есть адрес функций, которые работают с этим значением. Статический адрес для steam-версии: "Prince of Persia.exe"+D09A08 Ссылка на сохранения
  24. Всех с новым годом, товарищи! Поменьше всех дурных головняков на работе и по жизни. P.S. Пойду зарелижу таблицу по Prince of Persia: The Two Thrones =)
  25. Всем привет! Пытаюсь ломать Prince of Persia: The Two Thrones. В данный момент работаю над количеством песка и таймером реверса. Но вот незадача - значения находятся, прекрасно морозятся, но вот при попытке найти инструкции, которые обращаются к этим адресам - пустой вывод. Ломал её кто-нибудь раньше и как? P.S. Здоровье нашлось и сломалось просто прекрасно.