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 ?
Réponses
Trop de publicités?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 :
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
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 ?
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.
- Réponses précédentes
- Plus de réponses