Descobrir o nome do computador de compilação do binário

4

Recentemente, no nosso local de trabalho, encontramos um arquivo binário muito antigo, originado de um computador antigo desconhecido. No entanto, a fim de executar este binário, precisamos obter alguns recursos locais e esperamos acuire documentos adicionais locais em relação a esse binário. Falando sobre missas de escritório ... Agora nós já usamos o binário 'dumpelf' para extrair qualquer tipo de informação sobre ele. Assumimos a partir dessas informações e, juntamente com nossa prática de programação, que o binário foi compilado para vxworks 5.3.1 OS como uma compilação cruzada de Solaris 2.6 OS e gcc version 2.95 (estamos discutindo aqui o verdadeiro legado!)

Eu já disse que acredito firmemente que não é possível, mas espero estar errado. Se o nome não for possível recuperar, podemos usar outras propriedades, como um endereço IP, endereço MAC de uma NIC, nomes de usuário, modelo de computador e etc para restringir nossa pesquisa.

Obrigado pelos próximos esforços

Editar: strings comando já foi sugerido e executado, mas não deu resultados indicativos.

    
por Aviv 13.01.2016 / 12:41

1 resposta

3

Você deve executar strings no seu programa:

strings /path/to/binary

Isto irá imprimir todas as seqüências de caracteres (por padrão) 4 ou mais caracteres imprimíveis em uma linha para o seu terminal. Muito disso será lixo, mas se o nome do host estiver em algum lugar no binário, isso deve ser informado.

Eu concordo com você que é altamente improvável que ele contenha coisas como endereço MAC ou nome de host do host de compilação; no entanto, se o binário não estiver preso (isto é, contiver símbolos de depuração), provavelmente ele conterá nomes de caminho para a origem da qual ele foi compilado. Isso pode lhe dar alguma pista sobre qual ambiente foi construído em primeiro lugar.

    
por 13.01.2016 / 13:47