Разработка и ромхакинг > Ромхакинг и программирование
(PSX) Самомодификация кода?
(1/1)
DrMefistO:
Отлаживаю вот игрушку одну. Декомпилировал ее через IDA. Отлаживал себе PCSXR Debug'ом.
И вот, дошел в одном месте до адреса 800A59E4. Отладчик показывает, что имеются команды:

--- Код: ---800A59E4 sltu   v0, s2, v0
800A59E8 bne    v0, zero, La5aac [$800a5aac]
800A59EC lui    s0, $800a
800A59F0 lui    v0, $800a
800A59F4 addiu  s3, v0, $0120
800A59F8 addiu  s0, s1, $0003
--- Конец кода ---
Хотел посмотреть на него через IDA, а там:

--- Код: ---RAM:800A59E4                 .space 1
RAM:800A59E5                 .space 1
RAM:800A59E6                 .space 1
RAM:800A59E7                 .space 1
RAM:800A59E8                 .space 1
RAM:800A59E9                 .space 1
RAM:800A59EA                 .space 1
RAM:800A59EB                 .space 1
RAM:800A59EC                 .space 1
RAM:800A59ED                 .space 1
RAM:800A59EE                 .space 1
RAM:800A59EF                 .space 1
RAM:800A59F0                 .space 1
RAM:800A59F1                 .space 1
RAM:800A59F2                 .space 1
RAM:800A59F3                 .space 1
--- Конец кода ---

Облом. Отсюда вопрос: игра могла откуда-то извлечь команды на выполнение для себя?
Mr2:
Скорее всего неправильно дизасемблировал. Не сталкивался с самомодификацией.  o_0
Можешь через дебагер проверить, кто пишет инструкцию в адрес(800A59E4) и откуда.
Megaplex:
В IDA ты ram не загружал, поэтому там и пусто,, а код в оперативке для того чтобы си-ди привод лишний раз не мутузить..
Навигация
Главная страница сообщений

Перейти к полной версии