Qu'est-ce que l'ingénierie inverse?
Certains termes sont explicites. C'est le cas de l'ingénierie inverse, qui consiste littéralement à démonter et à reconstituer quelque chose. Cela peut être fait physiquement ou virtuellement, et le but est de comprendre comment quelque chose fonctionne afin de créer quelque chose de similaire.
L'ingénierie inverse est utilisée depuis des siècles, presque aussi longtemps que les gens créent des choses. Parfois, l’ingénierie inverse est utilisée dans le but d’améliorer une création existante, alors que dans d’autres cas, l’ingénierie inverse implique le vol de technologie. Ce dernier cas a particulièrement été le cas des armes tout au long de l'histoire de la guerre.
Ce ne sont pas que des armes qui font l’objet d’une ingénierie inverse. Les objets de tous les jours, tels que les véhicules, les DVD et les appareils ménagers, font l’objet d’un examen minutieux dans les quatre coins du monde. Certaines entreprises ont l'habitude d'importer des marchandises d'autres pays, de les séparer pièce par pièce, puis de faire appel à la rétro-ingénierie.
L'ingénierie inverse est également effectuée dans le monde virtuel. Les informaticiens et les scientifiques pratiquent l’ingénierie inverse en construisant des modèles 3D d’appareils du monde réel, puis en les déconstruisant virtuellement afin de voir comment ils fonctionnent. Ils les remettent parfois ensemble de manière exacte ou légèrement différente. L'avènement des serveurs et des suites graphiques robustes a rendu cela possible et souhaitable.
Les ordinateurs pratiquent également l’ingénierie inverse à un niveau plus fondamental. Une forme de ce type d'ingénierie inverse est la décompilation. La décompilation est un processus au cours duquel un ordinateur convertit les informations d'un format de bas niveau (code informatique) en un format de haut niveau (texte et chiffres ASCII), afin de permettre aux utilisateurs de lire des informations telles que des instructions et des articles Web. Les occurrences courantes de la décompilation impliquent le transfert de fichiers d'un utilisateur à un autre, comme un échange de données ou d'images dans un courrier électronique, ou pour la reconstruction de codes endommagés ou n'ayant jamais été terminés. La décompilation peut également prendre la forme de failles de sécurité, dans lesquelles un pirate informatique utilisera le reverse engineering pour reconstruire les données que quelqu'un d'autre voulait si désespérément cacher par chiffrement.
Une autre utilisation du reverse engineering est la création et la prévention des virus informatiques. Les créateurs de virus se plongent dans les entrailles du code informatique pour trouver des endroits où enterrer leurs créations. En reconstruisant le code machine en tant que code source, le créateur de virus peut trouver ce qu'il cherche. Les personnes qui cherchent à prévenir ou à détruire les virus informatiques sont l’inverse. Eux aussi, utilisent l'ingénierie inverse pour déconstruire le virus lui-même et détruire ou anticiper les exécutables nuisibles.