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

User Tag List

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 41

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

  1. #21

    Регистрация
    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)

  2. #22

    Регистрация
    31.08.2008
    Адрес
    г. Ургенч, Узбекистан
    Сообщений
    245
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    36
    Поблагодарили
    31 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Eltaron большое спасибо, мониторь пожалуйста эту тему.
    Последний раз редактировалось ondas; 28.10.2019 в 20:10.

  3. #23

    Регистрация
    31.08.2008
    Адрес
    г. Ургенч, Узбекистан
    Сообщений
    245
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    36
    Поблагодарили
    31 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #24

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

    По умолчанию

    Цитата Сообщение от ondas Посмотреть сообщение
    Eltaron ЕСЛИ можно тут по подробнее, заранее спасибо.
    SNAпка содержит слепок памяти. Но там сколько-то занимает заголовок файла, сколько-то состояние регистров и портов, а ROM части там нет вообще. В итоге прямое соответствие между смещением данных в файле и адресом спектрума, по которому в памяти эти данные лежали, отсутствует. Чтобы понять, где находится ваш найденный байт счетчика туров, нужно или разбираться с форматом SNA, или попробовать в лоб найти совпадение последовательностей из файла в памяти.

    Для этого открываем последнюю снапку (где 13 тур) эмулятором, идем в отладчик и ищем последовательность. 05 05 00 00 0С - это четыре байта, лежащие до счетчика туров, и сам счетчик. Раз эта последовательность есть в файле, то должна быть и в памяти, из которой он был получен. Поиск по данным в Unreal это Ctrl+F7. Забиваем то, что ищем в поле "code:" (без пробелов), в поле "mask:" вбиваем FF по количеству байт, которые ищем (1 - FF, 2 - FFFF, и т.д.). В Unreal последовательность для поиска ограничена четырмя байтами, поэтому ищем "05050000" или "0500000C"
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

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

    ondas(29.10.2019)

  5. #25

    Регистрация
    31.08.2008
    Адрес
    г. Ургенч, Узбекистан
    Сообщений
    245
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    36
    Поблагодарили
    31 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию





    МОНСТР

    ЭЛТАРОНУ И ВСЕМ СПАСИБО!
    Последний раз редактировалось ondas; 29.10.2019 в 14:09.

  6. #26

    Регистрация
    31.08.2008
    Адрес
    г. Ургенч, Узбекистан
    Сообщений
    245
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    36
    Поблагодарили
    31 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    В этом случае смотрим, что располагается по сравниваемому адресу (B701). И нам сразу повезло! Там 0x1E, то есть 30. Искомое количество ходов!
    Извините, а где Вы увидели 0x1E ? я в упор не вижу на Ваших скринах.
    Последний раз редактировалось ondas; 29.10.2019 в 16:39.

  7. #27

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

    По умолчанию

    Цитата Сообщение от ondas Посмотреть сообщение
    Извините, а где Вы увидели 0x1E ? я в упор не вижу на Ваших скринах.
    Как и написано, по адресу 0xB701

    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

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

    ondas(29.10.2019)

  8. #28

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    просто на том скрине оно уже было поменяно, #B701 = #FF
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]

    Этот пользователь поблагодарил TomCaT за это полезное сообщение:

    ondas(29.10.2019)

  9. #29

    Регистрация
    31.08.2008
    Адрес
    г. Ургенч, Узбекистан
    Сообщений
    245
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    36
    Поблагодарили
    31 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    за пару дней я научился азам Eltaron и всем спасибо
    когда жена ругается что я старый заглядываю на молодых девушек теперь я отвечаю что мне 33 лет.

    0x33

  10. #30

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    SNAпка содержит слепок памяти. Но там сколько-то занимает заголовок файла, сколько-то состояние регистров и портов, а ROM части там нет вообще. В итоге прямое соответствие между смещением данных в файле и адресом спектрума, по которому в памяти эти данные лежали, отсутствует. Чтобы понять, где находится ваш найденный байт счетчика туров, нужно или разбираться с форматом SNA, или попробовать в лоб найти совпадение последовательностей из файла в памяти.
    По 128му не скажу, пока не требовалось.
    48я тапка длина 49179 байт. Доступная память в спеке (также и ряд игрушек) длина 49152. Вычитаем одно из другого, получаем 27 байт заголовок (регистры, стек, состояние прерываний, бордюр).
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

    Этот пользователь поблагодарил Bedazzle за это полезное сообщение:

    ondas(30.10.2019)

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

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

Ваши права

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