Ingénierie inverse

Définition - Que signifie l'ingénierie inverse?

L'ingénierie inverse, en programmation informatique, est une technique utilisée pour analyser un logiciel afin d'identifier et de comprendre les parties qui le composent. Les raisons habituelles de la rétro-ingénierie d'un logiciel sont de recréer le programme, de construire quelque chose de similaire, d'exploiter ses faiblesses ou de renforcer ses défenses.

Definir Tech explique l'ingénierie inverse

Parce que les logiciels fermés et propriétaires ne sont jamais accompagnés de documentation qui révèle le code source utilisé pour les créer, les gens utilisent l'ingénierie inverse chaque fois qu'ils veulent comprendre le fonctionnement interne du logiciel.

Certains hackers utilisent l'ingénierie inverse pour trouver les points faibles des programmes qu'ils peuvent exploiter.

D'autres hackers utilisent l'ingénierie inverse pour localiser les points faibles dans le but de renforcer les défenses là-bas.

Les éditeurs de logiciels proposant des produits concurrents font de l'ingénierie inverse des programmes de leurs concurrents pour savoir où et comment des améliorations peuvent être apportées à leurs propres produits. Certaines entreprises utilisent l'ingénierie inverse lorsqu'elles ne disposent pas encore de produits similaires, pour créer leurs propres produits.

Ceux qui ont l'intention de créer leur propre produit à partir d'un produit existant préfèrent souvent l'ingénierie inverse à la création à partir de zéro car une fois les pièces et les dépendances identifiées, le processus de reconstruction a tendance à être beaucoup plus facile.

Aux États-Unis, l'ingénierie inverse des logiciels est protégée par l'exception d'utilisation équitable dans la loi sur le droit d'auteur.