Оглавление:
- Определение - Что означает Самоперемещающаяся Программа?
- Techopedia объясняет программу самостоятельного переселения
Определение - Что означает Самоперемещающаяся Программа?
Самоперемещающаяся программа - это программа, которая перемещает свои чувствительные к адресу инструкции в другие части памяти. Программа выполняет собственное перемещение и не требует компоновщика. Само-перемещение используется в операционных системах с разделением времени, где адрес загрузки программы может меняться для каждого отдельного выполнения.
Techopedia объясняет программу самостоятельного переселения
Самоперемещающаяся программа изменяется для выполнения из другого места в памяти. Самостоятельное перемещение исключает необходимость иметь несколько копий программы на диске, причем каждая копия имеет свой собственный источник загрузки. Однако самоперемещающиеся программы не нужны, когда компьютер использует виртуальную память.
Во время процесса перемещения программа перемещает свои конфиденциальные инструкции, чувствительные к адресу, что позволяет выполнять ее из любой части памяти. Требования к процессу перемещения следующие:
- Таблица адресно-зависимых инструкций. Программа должна знать переведенный источник и начальный адрес выполнения, а также адреса чувствительных к адресу инструкций.
- Логика перемещения, представляющая собой код, выполняющий процесс перемещения.
Эти две функции встроены в программу; начальный адрес перемещаемого кода обычно указывается в качестве начального адреса выполнения программы. Как только программа загружена в память для выполнения, логика перемещения берет на себя управление и выполняет перемещение, используя адрес загрузки и информацию, касающуюся чувствительных к адресу инструкций.
Процесс самостоятельного перемещения может быть статическим или динамическим. Статическое перемещение выполняется до выполнения программы, тогда как динамическое перемещение выполняется во время выполнения программы. Динамическое перемещение может сначала приостановить выполнение программы и выполнить перемещение или использовать регистр перемещения.
Самоперемещающиеся программы менее эффективны по сравнению с перезагружаемыми программами.
Помимо подлинных самоперемещающихся программ, вредоносные программы используют тот же метод самоперемещения для распространения через системы и сети для распространения своего вредоносного кода.