Tworzenie słowników…

Dam Ci rady jak możesz zrobić swoje proste i te bardziej złożone słowniki.

Nie baw się w żadne 27GB słownik… bo taki sam wygenerujesz smartfonem w parę godzin. Używanie dużego słownika wiąże się ze zużyciem dysku, a wygenerowanie takiego w locie (bez zapisywania) na i7 z 8 wątkami to 3 minuty, odczyt z dysku i porównanie zajmie więcej czasu.

Ściągnij wszelkie bazy danych do jakich masz dostęp, jakiś mały słownik, przeskanuj te bazy danych:

1. brute-force’m ile możesz; do długości wyrazu min. 8 znaków

2. odzyskane hasła zapisuj do słownika

3. puszczaj te bazy ponownie przez słownik z regułami (patrz 1.)

4. wróć do punktu 2. zmień i dodaj reguły, wykonaj ten punkt min. 6 razy

5. Usuń duplikaty ze słowników.

Ten perlowy skrypt usuwa duplikaty ze słownika. Dlaczego jest lepszy od uniq i jtr? Bo wrzuca słownik do pamięci RAM nie do /tmp dzięki czemu usuwanie jest tysiące razy szybsze, nie ma zużycia dysku i nie wysypie Ci się system przy zapełnieniu całej partycji /tmp (co innego jak zapełni Ci się RAM, złapiesz laga na kilkanaście minut ;)).

#!/usr/bin/perl -w
use strict;
#usuwa duplikaty z pliku
my $origfile = "2";
my $outfile = "none-" . $origfile;
my %hTmp;
 
open (IN, "< $origfile") or die "Couldn't open input file: $!";
open (OUT, ">$outfile") or die "Couldn't open output file: $!";
 
while (my $sLine = ) {
next if $sLine =~ m/^s*$/; #remove empty lines
$sLine=~s/^s+//; #strip leading/trailing whitespace
$sLine=~s/s+$//;
print OUT qq{$sLinen} unless ($hTmp{$sLine}++);
}
close OUT;
close IN;

Skrypt był publiczny w Interncie.

No i w sumie to tyle. Po kilku dużych wyciekach baz danych będziesz miał więcej do roboty, ale będzie też szybciej leciało bo słownik będzie większy.

[Total: 0    Average: 0/5]