Définition reverse engineering

definition-reverse-engineering
definition-reverse-engineering

Définition reverse engineering

439 lecteurs
Sommaire de l'article

La définition de la rétroconception

La rétro-ingénierie consiste à démonter un objet pour observer son fonctionnement afin de le reproduire ou de l’améliorer. Cette méthode, empruntée au passé, est utilisée de nos jours sur les ordinateurs tant matériels que logiciels. La rétroconception de logiciels consiste à inverser le code machine – le programme (la séquence de 0 et de 1 qui est transmise au processeur logique) – pour le ramener au code source qui l’a écrit en utilisant les instructions d’un langage de programmation.

La rétro-ingénierie d’un logiciel est effectuée pour récupérer le code source du programme qui a été perdu, ou pour étudier la façon dont le programme exécute certaines fonctions afin d’améliorer ses performances, ou pour résoudre un problème (corriger une erreur qui se produit dans le programme si le code source n’est pas disponible) et pour trouver des codes malveillants dans les programmes, tels que des virus, ou pour adapter le programme conçu pour fonctionner sur un microprocesseur spécifique à un autre. L’ingénierie inverse dans l’intention de copier ou de dupliquer un logiciel peut être considérée comme une violation du droit d’auteur. Dans certains cas, l’utilisation du logiciel par le titulaire de la licence interdit l’ingénierie inverse.

Toute personne qui pratique l’ingénierie inverse d’un logiciel peut utiliser divers outils pour désassembler le programme. L’un d’eux est un dumper au format hexadécimal qui imprime ou affiche les nombres binaires du programme sous forme hexadécimale (plus facile à lire que le format binaire). En comprenant les modèles de bits utilisés pour représenter les instructions des processeurs ainsi que la longueur de l’instruction, l’ingénierie inverse peut aider à identifier les composants spécifiques d’un programme et à déterminer leur fonctionnement. Un autre outil couramment utilisé est le désassembleur. Le désassembleur est capable de lire le code binaire, et affiche chaque instruction exécutable en texte. Les désassembleurs sont incapables de discerner la distinction entre les instructions exécutables et les données utilisées par le programme. Les débogueurs sont utilisés pour permettre au désassembleur de ne pas désassembler les éléments de données du programme. Ces outils peuvent être utilisés par des pirates pour modifier le code et pénétrer dans le système informatique ou causer d’autres dommages.

Voir Aussi  Comment créer une société en Irlande ?

La rétro-ingénierie matérielle est le processus de désassemblage d’un dispositif pour en déterminer le fonctionnement. Par exemple, si un fabricant de processeurs souhaite voir comment fonctionne le processeur d’un concurrent, il peut acheter le processeur de ce dernier, le détruire et concevoir un processeur identique. Toutefois, cette pratique est interdite dans un certain nombre de pays. La rétro-ingénierie du matériel requiert beaucoup de connaissances et est coûteuse.

Une autre forme d’ingénierie inverse consiste à utiliser la technologie pour créer des images en 3D des pièces lorsqu’un dessin n’est pas disponible, afin de pouvoir refaire la pièce à neuf. La rétroconception d’un composant consiste à le mesurer à l’aide d’un instrument appelé machine à mesurer tridimensionnelle (MMT). Pendant la mesure, elle crée une image filaire en 3D qui s’affiche sur un écran. Lorsque la mesure est terminée, l’image filaire est dimensionnée. Ces méthodes permettent la rétroconception de n’importe quel composant.

L’expression « forward engineering » est souvent utilisée comme alternative à « reverse engineering ».

4.6/5 - (14 votes)
Marine
Marine

Passionnée par l'entreprenariat depuis plus de 10 ans, je suis à la tête d'une société française visant à favoriser la communication des entreprises. Également attiré par la finance, je partage mes conseils et expériences au travers mes articles de blog.

Retour en haut