Como bien explicaron arriba, es tomar un lenguaje de programación cualquiera y con ayuda de un compilador lo transformas a un lenguaje que una maquina puede leer. Ejemplos básicos es la producción de archivos .exe o .jar que son de los mas conocidos, para producir un archivo .exe como podría ser wow.exe alguien tuvo que escribir un código (ese código se le conoce también como fuente) donde están programadas todas las funciones representadas en paquetes, que esta aplicación tendrá, así cada vez que ejecutas el archivo wow.exe estas poniendo en marcha todas esas instrucciones que vienen programadas, aunque no puedas leer como vienen programadas o directamente modificar su código.
PD: Existe el cracking que se realiza mediante diversos procesos, pero existen algunos limites respecto a lo que se puede hacer y siempre sera mas cómodo para modificar un archivo compilado, hacerlo usando su fuente y generarlo devuelta.