Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Griever RRC2008
Зарегистрирован: 15.07.2005 Сообщения: 112 Откуда: Н.Новгород
|
Добавлено: Вс Ноя 19, 2006 2:56 pm Заголовок сообщения: Hunt for the Red October на NES |
|
|
В этой довольно простой игре нестандартно организованы указатели. Таблиц там нет и в помине, поинтеры берутся из разных частей рома (например, два указателя на соседние строки текста разбросаны почти на $90 байт). В добавок, непосредственно перед строками иногда имеются по нескольку неизвестных байт (мне встречалось
три, но не исключено что и их количество может изменяться)(предположительно для изменения портретов беседующих послов), которые непосредственно перед выводом текста несколько раз сравнивают с разными значениями ячеек ОЗУ, и в зависимости от результата, ветвятся в разные места.
А указатели на поинтеры(!) тоже труднонаходимы, так как не сразу выбираются из РОМа, а каким-то образом ещё изменяются.
Интересно, в чём же тут дело и зачем было так изощраться? _________________
|
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вс Ноя 19, 2006 3:15 pm Заголовок сообщения: |
|
|
Наверное, программисты нерадивые попались - хранят данные неорганизованно, прямо в коде, а то и вообще - строят данные кодом (то есть вместо двухбайтоного поинтера имеется 10 байт кода - скажем, 7 инструкций, которые на пустом месте создают готовые 2 байта - поинтер). Всякие извращения встречаются. Но что интересного в данной игре? |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Вс Ноя 19, 2006 4:14 pm Заголовок сообщения: |
|
|
В Crimsonland такая же проблема - поинтеры разбросаны в произвольном порядке по всему файлу (~от 2xxx до 6xxxx), каждый поинтер приходиться вручную находить, а их иногда до 20 штук |
|
Вернуться к началу |
|
|
Griever RRC2008
Зарегистрирован: 15.07.2005 Сообщения: 112 Откуда: Н.Новгород
|
Добавлено: Пн Ноя 20, 2006 9:04 pm Заголовок сообщения: |
|
|
Не думаю. Данные не хранятся и не строятся кодом - просто указатели являются всего лишь частью каких-то других данных и найти закономерности их нахождения проблематично.
Я-то к другому веду: возможна ли автоматизация изменения такого рода поинтеров? _________________
|
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вт Ноя 21, 2006 6:01 pm Заголовок сообщения: |
|
|
Ну, если закономерности нет (а пока ты её не нашёл, можно считать, что её нет), то автоматизировать вряд ли удастся... |
|
Вернуться к началу |
|
|
|