A engenharia reversa pode ser aplicada a qualquer tipo de programa. Por exemplo, se quisermos construir um editor de cronograma compatível com o MS-Project, precisamos entender a representação que ele usa para ler os documentos ou poder salvar documentos no formato do Project.
No exemplo citado anteriormente (sistema construído há mais de 20 anos), a sua reconstrução deverá, a princípio, possuir características não muito diferentes do atual, evitando a rejeição do aplicativo novo. O velho programa tem uma interface específica, e costuma ser acionado de maneira bem definida à qual os usuários da empresa já estão familiarizados. O novo programa deve tentar acatar a mesma interface.
É importante observar que, apesar da evolução dos sistemas e informação, sistemas antigos como o que citamos aqui são muito mais frequentes do que se imagina.