Ingeniería inversa
En el caso concreto del software, se conoce por ingeniería inversa a la actividad que se ocupa de descubrir cómo funciona un programa, función o característica de cuyo código fuente no se dispone, hasta el punto de poder modificar ese código o generar código propio que cumpla las mismas funciones. La gran mayoría del software de pago incluye en su licencia una prohibición expresa de aplicar ingeniería inversa a su código, con el intento de evitar que se pueda modificar su código y que así los usuarios tengan que pagar si quieren usarlo.
Magic (criptografía)
Una máquina de ingeniería inversa creada en 1939 por un equipo de técnicos dirigido por William Friedman y Frank Rowlett podía entender una parte del código PURPLE replicando algunos de los ajustes de las máquinas Enigma japonesas. Esto aceleraba la decodificación y la incorporación de más traductores en 1942 hizo más fácil y más rápido la descodificación de los mensajes interceptados.