#include #include int main(int argc, char *argv[]) { if (argc!=2) { printf("Usage: crack \n"); } char charset[63] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; int c1=1; int c2=1; int c3=1; int c4=1; int c5=1; int c6=1; int ch=0; int cpl=0; int tries=1; int cl=strlen(argv[1]); char ranpass[cl]; char crackpass[cl]; if (cl==1) {strcpy (ranpass, "a");} if (cl==2) {strcpy (ranpass, "aa");} if (cl==3) {strcpy (ranpass, "aaa");} if (cl==4) {strcpy (ranpass, "aaaa");} if (cl==5) {strcpy (ranpass, "aaaaa");} if (cl==6) {strcpy (ranpass, "aaaaaa");} cl--; strcpy (crackpass, argv[1]); printf ("\nStarting crack...\n"); while (strcmp(ranpass,crackpass)) { tries++; if (c1>62) { c1=0; ranpass[ch+1]=charset [c2]; c2++; } if (c2>62) { c2=0; ranpass[ch+2]=charset [c3]; c3++; } if (c3>62) { c3=0; ranpass[ch+3]=charset [c4]; c4++; } if (c4>62) { c4=0; ranpass[ch+4]=charset [c5]; c5++; } if (c5>62) { c5=0; ranpass[ch+5]=charset [c6]; c6++; } if (c6>62) { c6=0; } ranpass[ch]=charset [c1]; c1++; } printf ("\nCracking finished.\n"); printf ("It took %d tries to crack.\n", tries); return 0; }