Cuprins:
Definiție - Ce înseamnă Programul Auto-relocant?
Un program de auto-relocare este unul care își mută instrucțiunile sensibile la adresă în alte părți ale memoriei. Programul își efectuează propria relocare și nu necesită un linker. Auto-relocarea se folosește în sistemele de operare cu distribuire de timp în care adresa de încărcare a unui program se poate modifica pentru fiecare execuție diferită.
Techopedia explică Programul de auto-relocare
Un program de auto-relocare se modifică pentru a executa dintr-o altă locație a memoriei. Auto-relocarea elimină necesitatea de a avea mai multe copii ale unui program pe un disc, fiecare copie având propria sa origine de încărcare. Cu toate acestea, programele care se autocontrolează nu sunt necesare atunci când computerul folosește memorie virtuală.
În timpul procesului de relocare, programul își mută instrucțiunile sensibile la adresa adresată, ceea ce îi permite să execute din orice parte a memoriei. Cerințele pentru procesul de relocare sunt următoarele:
- Un tabel cu instrucțiunile sensibile la adresă. Programul trebuie să cunoască originea tradusă și adresa de început a execuției, precum și adresele instrucțiunilor sensibile la adresă.
- O logică de relocare, care este codul care realizează procesul de relocare.
Cele două funcții sunt încorporate în program; adresa de început a codului de relocare este de obicei specificată ca adresă de început de execuție a programului. Odată ce programul este încărcat în memorie pentru execuție, logica de relocare preia controlul și efectuează relocarea folosind adresa de încărcare și informațiile referitoare la instrucțiunile sensibile la adresă.
Procesul de auto-relocare poate fi static sau dinamic. Relocarea statică se efectuează înainte de executarea programului, în timp ce relocarea dinamică se realizează în timpul executării programului. O relocare dinamică poate mai întâi să suspende execuția programului și să efectueze relocarea sau să utilizeze un registru de relocare.
Programele care se mută cu sine sunt mai puțin eficiente în comparație cu programele reîncărcabile.
În afară de programele veritabile de auto-relocare, programele malware folosesc aceeași metodă de auto-relocare pentru a se propaga prin sisteme și rețele pentru a răspândi codul lor rău intenționat.