Разработка и ромхакинг > Ромхакинг
[PS1] Это самомодификация кода?
(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 не загружал, поэтому там и пусто,, а код в оперативке для того чтобы си-ди привод лишний раз не мутузить..
Навигация
Перейти к полной версии