Script bash paralelo procurando uma senha

0

O que eu tenho é o script abaixo para adivinhar a senha. Como posso fazer isso em paralelo usando o comando parallel ? Eu sei que não há paralelo no Cygwin, mas posso usar esse script na máquina Linux.

#!/bin/bash
while read -r p; do
    "/cygdrive/c/Program Files/TrueCrypt/TrueCrypt.exe" /a /s /l x /q /v container.tc /p"$p"
    code=$?
    echo "$code $p">>log.txt
    echo "$code $p"
    if [ "$code" -ne 1 ]; then echo "$p" >> found.txt ; echo -e "\a" ; exit ; fi
done < passwds.txt
echo -e "\a"
    
por pbies 18.09.2017 / 20:46

1 resposta

1

Gostaria de reescrever este scirpt usando o utilitário parallel no GNU / Linux.

Comando Bulitin while é a linha de leitura do arquivo passwds.txt linha por linha. Se o seu arquivo for grande o suficiente, o tempo de consumo total será muito longo.

Aqui, tento usar parallel para reescrevê-lo

#!/usr/bin/env bash

funcPasswdOperation(){
    p="${1:-}"
    "truecrypt" --non-interactive container.tc /p="$p"
    code=$?
    echo "$code $p">>log.txt
    echo "$code $p"
    if [ "$code" -eq 0 ]; then echo "$p" >> found.txt ; echo -e "\a" ; exit ; fi
}

export -f funcPasswdOperation
cat passwds.txt | parallel -k -j 0 funcPasswdOperation
echo -e "\a"

Como eu não estou testando, então não garanto que este novo trabalho funcionará. Mas o método de uso é semelhante.

Tenha cuidado com o erro open files .

    
por 27.09.2017 / 10:20