Come scoprire le opzioni della riga di comando (se possibile) per una non documentata eseguibile di origine sconosciuta?

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

Domanda

Prendere prive di documenti eseguibile di origine sconosciuta.Cerca /?, -h, --help dalla riga di comando produce nulla. E ' possibile scoprire se l'eseguibile che supporta qualsiasi tipo di opzioni della riga di comando guardando dentro l'eseguibile? Forse il reverse engineering?Quale sarebbe il modo migliore di fare questo?

Sto parlando di un file eseguibile di Windows, ma sarebbe interessato a sentire quello che diversi approcci sarebbero necessari con un altro OS.

È stato utile?

Soluzione

Per Windows, è possibile vedere questa domanda su decompilazione eseguibili di Windows. Esso dovrebbe essere relativamente facile da almeno scoprire le opzioni (quello che fanno è una storia diversa).

Altri suggerimenti

In Linux, passo si potrebbe essere eseguito strings your_file che scarica tutte le stringhe di caratteri stampabili nel file. saranno quindi mostrato alcuna costanti caratteri, comprese eventuali istruzioni "utilizzo".

Il passo successivo potrebbe essere quello di eseguire ltrace sul file. Questo dimostra tutte le funzioni chiama il programma fa. Se si comprende getopt (o familiare), allora è un segno sicuro che si sta elaborando i parametri di input. In realtà, si dovrebbe essere in grado di vedere esattamente ciò che l'argomento del programma si aspetta dato che questo è il terzo parametro alla funzione getopt.

Se si tratta di un .NET eseguibile provare a utilizzare Riflettore.Questo permette di convertire il codice MSIL nell'equivalente di codice C# che possono rendere più facile da capire.Purtroppo private e i nomi delle variabili locali saranno persi, in quanto questi non vengono memorizzati in MSIL ma dovrebbe essere ancora possibile seguire cosa sta succedendo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top