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

supposons que vous en ayez un .exe et vous voulez vérifier si elle a des Options de ligne de commande. Comment peut-on savoir si l' .l'exe a ce pouvoir. Dans mon cas je maintenant que Nir Sofers WebBrowserPassView.exe a la capacité de le démarrer via cmd.exe et WebBrowserPassView.exe /stext de sortie.txt. Mais comment puis-je savoir si je ne sais pas?

38
demandé sur JohnnyFromBF 2012-01-15 15:08:33

6 réponses

Le plus simple serait d'utiliser ProcessExplorer, mais il nécessite quelques recherches.

assurez-vous que votre exe est en cours d'exécution et ouvrez ProcessExplorer. Dans ProcessExplorer trouver le nom de votre fichier binaire et double-cliquez dessus pour afficher les propriétés. Cliquez sur l'onglet Chaînes. Rechercher dans la liste des chaînes de caractères trouvées dans le fichier binaire. La plupart des ficelles seront des ordures pour qu'elles puissent être ignorées. Cherchez tout ce qui pourrait ressembler à un commutateur de ligne de commande. Tester ce commutateur de la ligne de commande et voir si ça fait quelque chose.

notez qu'il se peut que votre binaire n'ait tout simplement pas de commutateurs 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: enter image description here

50
répondu Adam 2012-06-07 02:18:04

l'Appeler à partir du shell, avec un argument comme /? ou --help. Ce sont les commutateurs d'aide habituels.

17
répondu Marcin 2012-01-15 11:09:58

à Moins que l'auteur de l'exécutable a expressément prévu un moyen pour vous d'afficher une liste de tous les commutateurs de ligne de commande qu'il propose, il n'y a aucun moyen de le faire.

comme Marcin le suggère, les interrupteurs typiques pour afficher toutes les options sont soit /? ou /help (certaines applications peuvent préférer la syntaxe Unix-style,-? et -help, respectivement). Mais ceux qui sont juste d'une convention commune.

si cela ne fonctionne pas, vous êtes hors de chance. Vous aurez besoin de vérifier la documentation pour l'application, ou peut-être essayer de décompiler l'exécutable (si vous savez ce que vous cherchez).

3
répondu Cody Gray 2012-01-15 11:16:18

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...Texte) - dans cette section, vous verrez alors typiquement 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 certaines non documentées, comme /L. espérons que cela aide?

enter image description here

2
répondu Tom Wenseleers 2013-10-03 10:22:59

vraiment c'est une extension à la réponse de Marcin.

Mais vous pouvez aussi essayer de passer "une absurdité", arguments pour voir si vous obtenez des erreurs de retour. Obtenir n'importe quelle réponse de l'exécutable directement dans le shell signifiera qu'il est probable qu'il regarde les arguments que vous passez, avec une réponse d'erreur étant proche d'une garantie qu'il est.

Défaut que vous pourriez avoir à demander directement les éditeurs/créateurs/propriétaires... renifler les binaires vous semble juste comme bien trop de travail pour un utilisateur final.

1
répondu Izzy 2015-08-28 08:37:28

Sysinternals a un autre outil que vous pouvez utiliser,Chaînes.exe

Exemple:

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

0
répondu user8027324 2017-05-18 00:02:55