Programme d’auto-relocalisation

Définition - Que signifie le programme d'auto-relocalisation?

Un programme à déplacement automatique est un programme qui déplace ses instructions sensibles à l'adresse vers d'autres parties de la mémoire. Le programme effectue sa propre réinstallation et ne nécessite pas d'éditeur de liens. L'auto-relocalisation est utilisée dans les systèmes d'exploitation à temps partagé où l'adresse de chargement d'un programme peut changer pour chaque exécution différente.

Definir Tech explique le programme d'auto-relocalisation

Un programme à déplacement automatique se modifie pour s'exécuter à partir d'un emplacement différent de la mémoire. L'auto-relocalisation élimine le besoin d'avoir plusieurs copies d'un programme sur un disque, chaque copie ayant sa propre origine de chargement. Toutefois, les programmes à déplacement automatique ne sont pas nécessaires lorsque l'ordinateur utilise la mémoire virtuelle.

Pendant le processus de relocalisation, le programme repositionne ses instructions sensibles sensibles aux adresses, ce qui lui permet de s'exécuter à partir de n'importe quelle partie de la mémoire. Les exigences relatives au processus de réinstallation sont les suivantes:

  • Un tableau des instructions sensibles à l'adresse. Le programme doit connaître l'origine traduite et l'adresse de début d'exécution ainsi que les adresses des instructions sensibles à l'adresse.
  • Une logique de relocalisation, qui est le code qui exécute le processus de relocalisation.

Les deux fonctions sont intégrées au programme; l'adresse de début du code de relocalisation est généralement spécifiée comme l'adresse de début d'exécution du programme. Une fois que le programme est chargé dans la mémoire pour exécution, la logique de relocalisation prend le contrôle et effectue la relocalisation en utilisant l'adresse de chargement et les informations concernant les instructions sensibles à l'adresse.

Le processus d'auto-relocalisation peut être statique ou dynamique. Le déplacement statique est effectué avant l'exécution du programme, tandis que le déplacement dynamique est effectué pendant l'exécution du programme. La relocalisation dynamique peut d'abord suspendre l'exécution du programme et effectuer la relocalisation, ou utiliser un registre de relocalisation.

Les programmes auto-relocalisables sont moins efficaces que les programmes rechargeables.

Outre les véritables programmes d'auto-relocalisation, les programmes malveillants utilisent la même méthode d'auto-réinstallation pour se propager à travers les systèmes et les réseaux afin de diffuser leur code malveillant.