У меня была эта аналогичная проблема. Либо вы в моем классе, либо в сценариях по всей стране делают эту проблему одновременно. Мой профессор поощряет использование форума, но мы не можем делиться ответами с непосредственными одноклассниками в нашем университете.
Если вы знаете меня из своего класса по имени пользователя, я прошу вас не использовать мой код. В противном случае наслаждайтесь. Я прокомментировал код, так как изучение рабочего кода - лучший способ узнать.
Пока вы используете только буквы, вы можете просто увеличить скаляр вместо циклов вложенности. Если вам не нужно использовать другие символы, я уверен, вы могли бы просто использовать массив возможных символов и приращения через этот массив для каждой позиции, хотя давайте игнорировать, что, так как вы, кажется, нужны только те буквы =)
sub brute2()
{
print "Bruteforce Attack...\n";
print "Enter password length: "; #Prompt user for maximum length for pass
chomp(my $plen = (<>)); #Receive input and remove newline character
print "Password Length is $plen\n";
$plen++;
print "Press any key to continue.\n"; #Execute once they hit any key
if (<>)
{
my $pass = "a"; #This code assumes only letters a..z, so we just set here
while (length $pass < $plen) #Run check loop until we exaust all possibilities within the maximum length
{
my $status = system("unzip -pp -o -P $pass secret_file_brute.zip > /dev/null 2>&1"); #System call to compare our password against a zip file, this will set status to the return value
print ("Attempting: $pass Return: $status\n");
if ($status == 0) #Return value of 0 means success
{
print ("Password is: $pass Return is: $status\n"); #Print correct password. I did return value also for debug
last; #Break loop since we got correct password
}
$pass++; #Increment $pass var to next iteration IE "a" to "b", "aa" to "ab", "zzz" to "aaaa" etc...
}
}
}
каких файла? Как пароль используется в этом файле? – Thilo
Нет стандартного механизма защиты паролем «файла», поэтому мы не можем сказать вам, как программно вставлять пароль в неуказанную систему, используемую для ее защиты. – Quentin
Это то, что мне сказали, но я не уверен, как его реализовать. $ returnVal = system ("unzip -qq -o -P $ password secret_file_brute.zip>/dev/null 2> &1"); –