Cómo descubrir las opciones de línea de comandos (si lo hay) para un ejecutable indocumentado de origen desconocido?

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

Pregunta

Tome un ejecutable indocumentado de origen desconocido. Tratando / ?, -h, --help rendimientos de la línea de comandos nada. ¿Es posible descubrir si los soportes ejecutables las opciones de línea de comandos de mirar dentro de la? ingeniería inversa Posiblemente ejecutable? ¿Cuál sería la mejor manera de hacer esto?

Estoy hablando de un ejecutable de Windows, pero estaría interesado en escuchar lo que serían necesarios diferentes enfoques con otro sistema operativo.

¿Fue útil?

Solución

Para Windows, se puede ver esta pregunta sobre descompilación ejecutables de Windows. Debería ser relativamente fácil de descubrir, al menos, las opciones (lo que hacen en realidad es una historia diferente).

Otros consejos

En Linux, el primer paso sería dirigido strings your_file que vuelca todas las cadenas de caracteres imprimibles en el archivo. Así pues, se muestran cualquier constante caracteres, incluyendo cualquier instrucción "de uso".

El siguiente paso podría ser correr ltrace en el archivo. Esta muestra todas las llamadas de función que hace el programa. Si incluye getopt (o familiar), entonces es una señal segura de que está procesando parámetros de entrada. De hecho, usted debería ser capaz de ver exactamente lo que el argumento del programa está a la espera ya que es el tercer parámetro a la función getopt.

Si se trata de un intento ejecutable .NET utilizando Reflector . Esto convertirá el código MSIL en el código C # equivalente que puede hacer que sea más fácil de entender. Se perderán los nombres de variables Desafortunadamente privadas y locales, ya que estos no se almacenan en el MSIL pero aún debe ser posible seguir lo que está pasando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top