Как мне написать самомодифицирующийся код в сборке mips 32, который заставляет функцию вызывать другую функцию (без добавления в нее вызова функции)? Мне нужно изменить код функции во время выполнения, чтобы он вызывал другую функцию.
самоизменяющийся код в ассемблере
Ответы (1)
Во имя всего святого НЕ ДЕЛАЙТЕ!
- Ассемблер часто встроен в ПЗУ, поэтому он не работает.
- Любая ОС с хорошей безопасностью не позволит вам изменять сегменты кода или выполнять данные.
- Для тех, кто это делает, уготован особый ад, окруженный проклятиями тех из нас, кому когда-либо приходилось обслуживать проклятые вещи!
MIPS имеет режим регистрации для прыжков -
jr $rs
Переместите адрес, на который вы хотите перейти, в регистр и перейдите к нему. Это функциональный эквивалент помещения адреса в стек и выполнения возврата. Если вы хотите вызвать функцию, поместите переход в ее собственную подпрограмму, чтобы возврат из вызванной функции возвращался вызывающей стороне.
person
Mike
schedule
27.03.2015