Программа Simple Expect отправит ключ, когда программа выдаст некоторый текст

325
Sopalajo de Arrierez

Мне нужно запустить эту программу:

Luis@Windu /cygdrive/c/Temporal/Expect$ oclhashcat64 ../Test.hccap -m 2500 -a 3 ?d?d?d?d?d?d?d?d oclHashcat v1.31 starting...  Device #1: Bonaire, 1024MB, 1050Mhz, 12MCU Device #2: Tahiti, 3072MB, 900Mhz, 28MCU  Hashes: 1 hashes; 1 unique digests, 1 unique salts Bitmaps: 8 bits, 256 entries, 0x000000ff mask, 1024 bytes Applicable Optimizers: * Zero-Byte * Single-Hash * Single-Salt * Brute-Force Watchdog: Temperature abort trigger set to 90c Watchdog: Temperature retain trigger set to 80c Device #1: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/m02500.Bonaire_1573.4_1573.4 (VM).kernel (259320 bytes) Device #1: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/markov_le_v1.Bonaire_1573.4_1573.4 (VM).kernel (92404 bytes) Device #1: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/bzero.Bonaire_1573.4_1573.4 (VM).kernel (30496 bytes) Device #2: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/m02500.Tahiti_1573.4_1573.4 (VM).kernel (259428 bytes) Device #2: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/markov_le_v1.Tahiti_1573.4_1573.4 (VM).kernel (92388 bytes) Device #2: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/bzero.Tahiti_1573.4_1573.4 (VM).kernel (30492 bytes)  [s]tatus [p]ause [r]esume [b]ypass [q]uit => 

Когда появляется последняя строка, мне нужно автоматизированный способ отправить на qключ, так что я буду получать результаты как:

Session.Name...: oclHashcat Status.........: Aborted Input.Mode.....: Mask (?d?d?d?d?d?d?d?d) [8] Hash.Target....: 101 (00:1f:5b:c2:fb:0c <-> 30:87:30:e0:0b:cd) Hash.Type......: WPA/WPA2 Time.Started...: Sun Nov 16 06:41:17 2014 (11 secs) Time.Estimated.: Sun Nov 16 06:54:56 2014 (13 mins, 28 secs) Speed.GPU.#1...: 26537 H/s Speed.GPU.#2...: 99510 H/s Speed.GPU.#*...: 126.0 kH/s Recovered......: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts Progress.......: 1413120/100000000 (1.41%) Skipped........: 0/1413120 (0.00%) Rejected.......: 0/1413120 (0.00%) HWMon.GPU.#1...: 0% Util, 38c Temp, N/A Fan HWMon.GPU.#2...: 98% Util, 44c Temp, 49% Fan  WARNING: Failed to restore default fan speed for gpu number: 1: Started: Sun Nov 16 06:41:17 2014 Stopped: Sun Nov 16 06:41:28 2014 

Я пытаюсь это использовать, ожидая . Это код:

spawn oclHashcat64.exe ../Test.hccap -m 2500 -a 3 ?d?d?d?d?d?d?d?d expect "*tatus" send "q\r" close exit 

Но, похоже, не работает. Это результат:

Luis@Windu /cygdrive/c/Temporal/Expect $ expect.exe Prueba02.expect spawn oclHashcat64.exe ../Test.hccap -m 2500 -a 3 ?d?d?d?d?d?d?d?d oclHashcat v1.31 starting...  Device #1: Bonaire, 1024MB, 1050Mhz, 12MCU Device #2: Tahiti, 3072MB, 900Mhz, 28MCU  Hashes: 1 hashes; 1 unique digests, 1 unique salts Bitmaps: 8 bits, 256 entries, 0x000000ff mask, 1024 bytes Applicable Optimizers: * Zero-Byte * Single-Hash * Single-Salt * Brute-Force Watchdog: Temperature abort trigger set to 90c Watchdog: Temperature retain trigger set to 80c Device #1: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/m02500.Bonaire_1573.4_1573.4 (VM).kernel (259320 bytes) Device #1: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/markov_le_v1.Bonaire_1573.4_1573.4 (VM).kernel (92404 bytes) Device #1: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/bzero.Bonaire_1573.4_1573.4 (VM).kernel (30496 bytes) Device #2: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/m02500.Tahiti_1573.4_1573.4 (VM).kernel (259428 bytes) Device #2: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/markov_le_v1.Tahiti_1573.4_1573.4 (VM).kernel (92388 bytes) Device #2: Kernel D:\Programas\HashCat\OCLHashCat/kernels/4098/bzero.Tahiti_1573.4_1573.4 (VM).kernel (30492 bytes)  [s]tatus [p]ause [r]esume [b]ypass [q]uit => Luis@Windu /cygdrive/c/Temporal/Expect$ 

Как вы можете видеть, ожидаемая строка появляется, но вторая часть не появляется и q не отправляется, потому что основной процесс остается активным:

Luis@Windu /cygdrive/c/Temporal/Expect$ ps -e | grep "hashcat" -i 1180 1 1180 6976 pty0 1000 07:51:13 /cygdrive/d/Programas/HashCat/OCLHashCat/oclHashcat64 

Может кто-нибудь сказать мне, что я делаю не так, пожалуйста?

0
`echo" q "| wait.exe Prueba02.expect` не работает? Rinzwind 9 лет назад 0
Это не работает, @Rinzwind. Программа продолжает работать в фоновом режиме. Sopalajo de Arrierez 9 лет назад 0
тебе нужно это будет q или q ? Jacob 9 лет назад 0
Просто qдолжно работать. По крайней мере, мне не нужно нажимать Returnпри выполнении программы напрямую. Sopalajo de Arrierez 9 лет назад 0
Я могу придумать (действительно грязный) обходной путь, но: [1] окно терминала, на котором запущено это единственное? [2] окно терминала всегда впереди? (Я предполагаю, что нет) Jacob 9 лет назад 0
Боюсь, ответ на оба вопроса будет отрицательным, @JacobVlijm. Возможно даже, что эта программа будет запущена в удаленной консоли `SSH`. Sopalajo de Arrierez 9 лет назад 0
Попробуйте добавить `exp_internal 1` в ожидаемый скрипт. Это включит подробный режим. Предупреждение: это очень многословно. Вы можете найти что-то в подробном выводе, который объясняет, что происходит. ... ... ... Но также, вы пытались изменить "ожидать" * tatus "` ожидать "tatus" `? Это не должно иметь значения, но я считаю, что вам не нужно `*`. G-Man 9 лет назад 0
Вот оно, @ G-Man, спасибо тебе: http://pastebin.com/CS80x617. На самом деле, есть много информации. Я не очень разбираюсь в этом, но мне кажется, что последняя строка посылает ключ `q`. Может быть, это какой-то недостаток с OCLHashCat. Sopalajo de Arrierez 9 лет назад 0
И да, те же результаты с `tatus` вместо` * tatus`. Sopalajo de Arrierez 9 лет назад 0
(1) я согласен; похоже, что он посылает `q \ r`. (2) Нет никакого смысла в том, что подробный вывод заходит в тупик после получения `[s] tatus`. Интересно, будет ли это иметь значение, если вы скажете `wait" * tatus *> "`, чтобы попытаться заставить его читать до приглашения `>`. (3) Это также может помочь сказать «ожидайте» * tatus *> «отправить« q \ r »` (все в одной строке). (4) Похоже, вы используете Cygwin под Windows. Почему вы пишете в Ask Ubuntu? G-Man 9 лет назад 0
Те же результаты, что и с ожидаемым tatus *, @ G-Man. Sopalajo de Arrierez 9 лет назад 0
Вторая предложенная вами строка «ожидается» не работает с сообщением «use: send [args] string`», @ G-Man Sopalajo de Arrierez 9 лет назад 0
Ну, OCLHashCat имеет версию для Windows и Linux. Я планировал установить Linux, но драйверы GPU немного сложны, чтобы заставить его работать с HashCat (для этого требуется OpenCL, CUDA ... и т. Д.), Поэтому у меня пока только Windows 7 SP1. Но я надеюсь, что CygWin сможет имитировать среду Linux. UnixStackExchange был бы моим другим сайтом для публикации, но для каких-то вопросов я предпочитаю AskUbuntu; Я бы сказал, что другой сайт больше подходит для более технических вопросов. Sopalajo de Arrierez 9 лет назад 0
К сожалению, вместо того, чтобы "ожидать" * tatus *> "send" q \ r "` я имел в виду `ожидать" * tatus *> "`. G-Man 9 лет назад 0
Нет, @ G-Man. Я думаю, что это должно быть проблемой с OCLHashCat. Он готов работать с трубами `|`, но, возможно, по той же причине внешние входы не работают так, как должны. Я имею в виду: программа рассчитывает найти данные для обработки входящих данных по каналу, а не управляющие ключи. Sopalajo de Arrierez 9 лет назад 0
Обнаружена новая информация: https://hashcat.net/trac/ticket/535. Резюме: OCLHashCat, похоже, не работает с CygWin для управления ключами :-(. Но это не совсем так: у меня управление ключами работает нормально в CygWin, поэтому проблема должна заключаться в некоторой комбинации между CygWin и Expect. Sopalajo de Arrierez 9 лет назад 0
Хорошо, @ G-Man, если основная проблема исходит от CygWin, мы должны перенести эту ветку на другой форум, если это не может быть проблемой Ubuntu. Я должен признать, что я не тестировал все это в Ubuntu, только на CygWin. Как вы думаете? Sopalajo de Arrierez 9 лет назад 0
Принимая во внимание, что для запуска oclHashcat64.exe вы используете файл «allow.exe», AU, похоже, не подходит. Вы дали это в течение двух дней; возможно, настало время попробовать Super User (или Unix & Linux, если вы считаете, что это уместно). G-Man 9 лет назад 0

0 ответов на вопрос

Похожие вопросы