Um código-fonte pode ser revertido para descobrir usos alternativos, como identificar a replicação não autorizada do código em um local onde não deveria ser usado ou aprender como um produto concorrente foi desenvolvido. Um objeto é desmontado usando a técnica de engenharia reversa para examinar seu design, arquitetura, código e componentes. Isso é feito para aprender mais sobre os materiais usados na criação do objeto. Os aplicativos de software são compostos por arquivos de código-fonte que são compilados em código executável binário. A engenharia reversa de código-fonte ocorre quando o código executável binário é transformado de volta em arquivos de código-fonte usando um decompilador.
O que é engenharia reversa de código?