Le reverse engineering (rétro ingénierie, ingénierie inverse) est définit comme « l'activité qui consiste à étudier un objet pour en déterminer le fonctionnement interne ou sa méthode de fabrication ». De façon plus générale, on peut dire que le reverse engineering a pour principal objectif de retrouver la conception d’un produit, machine, programme, à partir du produit final.