Как я могу узнать, имеет ли .EXE параметры командной строки? - PullRequest
43 голосов
/ 15 января 2012

Предположим, у вас есть .EXE, и вы хотите проверить, есть ли у него параметры командной строки.Как узнать, есть ли у .EXE такая возможность?В моем случае я знаю, что Nir Sofers WebBrowserPassView.exe имеет возможность запустить его через cmd.exe и WebBrowserPassView.exe / stext output.txt.Но как я могу узнать, если я не знаю?

Ответы [ 6 ]

57 голосов
/ 07 июня 2012

Самый простой способ - использовать ProcessExplorer, но он все равно потребует некоторого поиска.

Убедитесь, что исполняемый файл запущен, и откройте ProcessExplorer.В ProcessExplorer найдите имя вашего двоичного файла и дважды щелкните его, чтобы отобразить свойства.Перейдите на вкладку «Строки».Поиск по списку строк, найденных в двоичном файле.Большинство строк будут мусором, поэтому их можно игнорировать.Ищите все, что может напоминать переключатель командной строки.Протестируйте этот переключатель из командной строки и посмотрите, что он делает.

Обратите внимание, что это может быть ваш двоичный файл просто не имеет переключателей командной строки.Исполняемый файл ChromeПараметры командной строки, принятые Chrome, можно увидеть в списке: enter image description here

19 голосов
/ 15 января 2012

Вызовите его из оболочки с аргументом вроде /? или --help. Это обычные справочные ключи.

3 голосов
/ 15 января 2012

Если автор исполняемого файла специально не предоставил вам способ отобразить список всех переключателей командной строки, которые он предлагает, то сделать это невозможно.

Как предполагает Марчин,Типичные параметры для отображения всех опций: /? или /help (некоторые приложения могут предпочесть синтаксис в стиле Unix, -? и -help соответственно).Но это всего лишь общее соглашение.

Если они не работают, вам не повезло.Вам нужно проверить документацию для приложения или, возможно, попробовать декомпилировать исполняемый файл (если вы знаете, что ищете).

2 голосов
/ 03 октября 2013

Просто используйте IDA PRO (https://www.hex -rays.com / products / ida / index.shtml ), чтобы разобрать файл и найти какой-либо известный параметр командной строки (используя Поиск ... Текст) - в этом разделе вы обычно увидите все параметры командной строки - для программы (LIB2NIST.exe) на снимке экрана ниже, например, он показывает документированный параметр командной строки (/ COM2TAG), но также некоторые недокументированные, такие как/ л.Надеюсь, это поможет?

enter image description here

1 голос
/ 17 мая 2017

Sysinternals имеет другой инструмент, который вы можете использовать, Strings.exe

Пример:

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

1 голос
/ 28 августа 2015

Действительно, это продолжение ответа Марцина.

Но вы также можете попробовать передать "мусорные" аргументы, чтобы проверить, не получите ли вы какие-либо ошибки назад. Получение любого ответа от исполняемого файла непосредственно в оболочке будет означать, что он, вероятно, просматривает передаваемые вами аргументы, а ответ об ошибке близок к гарантии того, что это так.

В противном случае вам, возможно, придется напрямую спросить издателей / создателей / владельцев ... самому перехватывать двоичные файлы просто кажется слишком большой работой для конечного пользователя.

...