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.
OtherOS
Los avances de la ingeniería inversa se centraron en el descubrimiento de una vulnerabilidad de análisis del descriptor USB en el firmware 3.41, que permitía ejecutar el núcleo Linux en el firmware 3.41. El estado actual del proyecto es la capacidad de cargar el núcleo Linux a través de TFTP y ejecutarlo con acceso a las 7 SPEs (requiere aplicar un pequeño parche al kernel). El resto del sistema se puede ejecutar en un recurso compartido NFS; el acceso al disco duro no está implementado actualmente, así como algunas otras funciones.