[C/VB] Attacco brute force senza dizionari
Da qualche giorno ho ripreso a studiare un pò di hacking, perché la considero una disciplina fondamentale per il futuro.
Con quel poco di pagaio che mi sono fatto di linguaggio C ho provato a implementare un programmino che sia in grado di scrivere tutte le combinazioni con ripetizione di $n$ di classe $k$, ma cosa c'entra questo con il metodo di attacco del titolo?
In realtà trovare un programma che possa fornire tutte le combinazioni possibili di numeri è equivalente ad un programma che ci fornisce tutte le combinazioni di lettere, basta infatti prendere un vettore di tipo char e inizializzarlo con le lettere dell'alfabeto, in modo che ad esempio alla 1-esima componente corrisponde la lettera "a". Questo attacco è sicuro ma poco efficiente per trovare password.
Ecco il codice per combinazioni di numeri:
Con quel poco di pagaio che mi sono fatto di linguaggio C ho provato a implementare un programmino che sia in grado di scrivere tutte le combinazioni con ripetizione di $n$ di classe $k$, ma cosa c'entra questo con il metodo di attacco del titolo?
In realtà trovare un programma che possa fornire tutte le combinazioni possibili di numeri è equivalente ad un programma che ci fornisce tutte le combinazioni di lettere, basta infatti prendere un vettore di tipo char e inizializzarlo con le lettere dell'alfabeto, in modo che ad esempio alla 1-esima componente corrisponde la lettera "a". Questo attacco è sicuro ma poco efficiente per trovare password.
Ecco il codice per combinazioni di numeri:
void comb(int *v,int *p,int n,int k,int cont,int m){ int i,j; for(i=0;i<n;i++){ if (cont>1){ p[m]=v[i]; comb(v,p,n,k,cont-1,m+1); } else{ p[m]=v[i]; PrintVect(p,k); } } }
Risposte
Scusa ma non mi è chiaro lo scopo della discussione.. Vuoi un commento sul codice?
Sì