Como descobrir opções de linha de comando (se houver) para um executável não documentado de origem desconhecida?

StackOverflow https://stackoverflow.com/questions/2341095

Pergunta

Pegue um executável não documentado de origem desconhecida.Tentar /?, -h, --help na linha de comando não produz nada. É possível descobrir se o executável suporta alguma opção de linha de comando olhando dentro do executável? Possivelmente engenharia reversa?Qual seria a melhor maneira de fazer isso?

Estou falando de um executável do Windows, mas gostaria de saber quais abordagens diferentes seriam necessárias com outro sistema operacional.

Foi útil?

Solução

Você pode encontrar muitos exemplos neste blog

e há um toolkit aqui.

Outras dicas

No Linux, a etapa um seria executada strings your_file que despeja todas as cordas dos caracteres imprimíveis no arquivo. Qualquer constante que os chars serão mostrados, incluindo quaisquer instruções de "uso".

O próximo passo pode ser correr ltrace no arquivo. Isso mostra toda a função chama o programa. Se incluir getopt (ou familiar), é um sinal claro de que está processando parâmetros de entrada. De fato, você deve poder ver exatamente qual argumento o programa está esperando, pois esse é o terceiro parâmetro para o getopt função.

Se for um executável .NET, tente usar Refletor.Isso converterá o código MSIL no código C# equivalente, o que pode torná-lo mais fácil de entender.Infelizmente, os nomes das variáveis ​​privadas e locais serão perdidos, pois não são armazenados no MSIL, mas ainda deve ser possível acompanhar o que está acontecendo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top