User Tag List

Показано с 1 по 10 из 41

Тема: какой программой удобно ковырять игры?

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #20

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ondas Посмотреть сообщение
    Усем привет, после ковыряний удалось увеличить продолжительность тура до 300 туров.
    сохранил 12 и 13 туры, сравнил, был 0C стал 0D , последовательно получается, поменял на значение 99,
    но возникает проблема, когда эту уровень доигрываю и выбираю этот же или другой уровень кол-во туров возвращается до стока. или дефолтного. короче говоря сбрасывается до заводского.
    подксажите адрес копать. спасибо.
    Отличный прогресс!

    Теперь берем отладчик в эмуляторе и пытаемся найти, где же в оперативной памяти лежит тот кусок памяти, который был поправлен в SNA. Проще всего поиском, ищем какую-нибудь последовательность байт. В вашем случае можно прямо по 05 05 00 00 0С искать. В общем, у меня оказалось, что этот ваш байт соответствует адресу в памяти #B711.

    Сейчас нужно поставить точку останова на чтение или запись по этому адресу в памяти. Это почему-то не очень частая функция в отладчиках, но в Unreal Speccy есть. Идем в отладчик (ESC), жмем Alt+C, вводим в правое окно наш адрес, жмем обе галки, добавляем.



    Выходим из отладчика (ESC) и начинаем играть. В один из моментов наша точка останова сработает и программа тормознется в том коде, который попробует прочитать (чаще) или записать (реже) нашу ячейку. Тут нужно базовое знание ассемблера для того, чтобы примерно понять, что вокруг происходит. Если ничего интересного, то жмем ESC и ждем следующего срабатывания. Но может быть и что-то нужное, например, чтение ячейки и сравнение её с какой-то другой:



    В этом случае смотрим, что располагается по сравниваемому адресу (B701). И нам сразу повезло! Там 0x1E, то есть 30. Искомое количество ходов!
    Меняем его на FF и вуаля!



    Дальше надо попробовать найти окружающую этот байт последовательность в SNA-файле (ну или просто, зная, что B711 минус B701 - это 0x10, то есть 16, идем по смещению от уже известного нам своим расположением в SNA счетчика ходов) и поменять. Готово, теперь у нас есть рабочий образ игры, в которой навсегда забито 255 ходов.
    Последний раз редактировалось Eltaron; 28.10.2019 в 12:12.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

    Эти 6 пользователя(ей) поблагодарили Eltaron за это полезное сообщение:

    Bedazzle(28.10.2019), Oleg N. Cher(29.10.2019), ondas(28.10.2019), Reobne(28.10.2019), TomCaT(29.10.2019), ZX_NOVOSIB(28.10.2019)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 17
    Последнее: 17.11.2014, 18:52
  2. Какой программой скопировать диски под ZX на PC?
    от Дядя Зорыч в разделе Для начинающих
    Ответов: 43
    Последнее: 08.10.2009, 22:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •