67 votes

Comment puis-je savoir si un .EXE possède des options de ligne de commande ?

Supposons que vous ayez un .EXE et que vous vouliez vérifier s'il possède des options de ligne de commande. Comment savoir si le .EXE possède cette capacité ? Dans mon cas, je sais que Nir Sofers WebBrowserPassView.exe a la possibilité de le lancer via cmd.exe et WebBrowserPassView.exe /stext output.txt. Mais comment le savoir si je ne le sais pas ?

88voto

Adam Points 918

Le moyen le plus simple serait d'utiliser ProcessExplorer mais il faudrait quand même faire des recherches.

Assurez-vous que votre exe est en cours d'exécution et ouvrez ProcessExplorer. Dans ProcessExplorer, trouvez le nom de votre fichier binaire et double-cliquez dessus pour afficher les propriétés. Cliquez sur l'onglet Strings. Recherchez dans la liste des chaînes trouvées dans le fichier binaire. La plupart des chaînes seront des déchets et peuvent être ignorées. Recherchez tout ce qui pourrait ressembler à un commutateur de ligne de commande. Testez ce commutateur à partir de la ligne de commande et voyez s'il fait quelque chose.

Notez qu'il se peut que votre binaire n'ait tout simplement pas de commutateur de ligne de commande.

Pour référence, voici les étapes ci-dessus appliquées à l'exécutable Chrome. Les commutateurs de ligne de commande acceptés par Chrome peuvent être vus dans la liste :

Process explorer analyzing Chrome.exe

26voto

Marcin Points 25366

L'invoquer à partir du shell, avec un argument tel que /? ou --help . Ce sont les interrupteurs d'aide habituels.

8voto

user8027324 Points 31

Sysinternals propose un autre outil que vous pouvez utiliser, Strings.exe

Exemple :

strings.exe c:\windows\system32\wuauclt.exe > %temp%\wuauclt_strings.txt && %temp%\wuauclt_strings.txt

5voto

Tom Wenseleers Points 565

Il suffit d'utiliser IDA PRO ( https://www.hex-rays.com/products/ida/index.shtml ) pour désassembler le fichier, et rechercher une option de ligne de commande connue (en utilisant Search...Text) - dans cette section, vous verrez alors généralement toutes les options de ligne de commande - pour le programme (LIB2NIST.exe) dans la capture d'écran ci-dessous, par exemple, il montre une option de ligne de commande documentée (/COM2TAG) mais aussi d'autres non documentées, comme /L. J'espère que cela vous aidera ?

enter image description here

4voto

Izzy Points 474

Il s'agit en fait d'une extension de la réponse de Marcin.

Mais vous pouvez aussi essayer de passer des arguments "inutiles" pour voir si vous obtenez des erreurs en retour. Obtenir une réponse de l'exécutable directement dans l'interpréteur de commandes signifie qu'il est probablement en train de regarder les arguments que vous passez, une réponse d'erreur étant presque une garantie que c'est le cas.

Sinon, vous devrez peut-être demander directement aux éditeurs/créateurs/propriétaires... renifler les binaires vous-même semble être beaucoup trop de travail pour un utilisateur final.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X