La ingeniería inversa supone el proceso contrario a lo que generalmente se entiende por ingeniería, en lugar de analizar, proyectar y construir con ayuda de unos datos técnicos, la ingeniería inversa, descompone un objeto ya existente y estudia su organización, proyecto, formas de fabricación, materiales, etc., traduciendo a datos técnicos toda esta información.
Habitualmente se aplica a la informática, aunque otros productos también pueden ser susceptibles de ser tratados con ayuda de la ingeniería inversa: equipos electrónicos, microcontroladores, etc.