// BravoFoxtrot.cpp // Project Bravo Foxtrot Brute Forcer Engine v1.0 // By Israel Torres < israel@israeltorres.org > // Updated: April 27th 2006 // source: http://tools.israeltorres.org/BravoFoxtrot.cpp // md5: http://tools.israeltorres.org/BravoFoxtrot.md5.txt // // This is a command line program to generate characters strings systematically // ** Warning printing all output to file may take a long time and a lot of drive space depending on your character set ** // /* Usage Example: 1. Choose charset sample below in function bf_process_pos(). 2. Execute and dump to file (see batch example below). :: Sample Batch File @ECHO OFF date /t && time /t ECHO Processing ... BravoFoxtrot.exe > dump.txt ECHO Complete! date /t && time /t PAUSE */ #include #include int test(int pos_one); void template_pos(); void bf_process_pos(); void template_pos(int pos_inc_1, int pos_inc_2, int pos_inc_3, int pos_inc_4, int pos_inc_5, int pos_inc_6, int pos_inc_7, int pos_inc_8, int pos_inc_9, int pos_inc_10 ); void main(int argc, char* argv []) { bf_process_pos(); } int test(int pos_one) { return 0 + pos_one; } void template_pos(int pos_inc_1, int pos_inc_2, int pos_inc_3, int pos_inc_4, int pos_inc_5, int pos_inc_6, int pos_inc_7, int pos_inc_8, int pos_inc_9, int pos_inc_10 ) { if (pos_inc_1 != -1) cout << char(test(pos_inc_1)); if (pos_inc_2 != -1) cout << char(test(pos_inc_2)); if (pos_inc_3 != -1) cout << char(test(pos_inc_3)); if (pos_inc_4 != -1) cout << char(test(pos_inc_4)); if (pos_inc_5 != -1) cout << char(test(pos_inc_5)); if (pos_inc_6 != -1) cout << char(test(pos_inc_6)); if (pos_inc_7 != -1) cout << char(test(pos_inc_7)); if (pos_inc_8 != -1) cout << char(test(pos_inc_8)); if (pos_inc_9 != -1) cout << char(test(pos_inc_9)); if (pos_inc_10 != -1) cout << char(test(pos_inc_10)); cout << endl; } void bf_process_pos() { int pos_inc_1 = -1; int pos_inc_2 = -1; int pos_inc_3 = -1; int pos_inc_4 = -1; int pos_inc_5 = -1; int pos_inc_6 = -1; int pos_inc_7 = -1; int pos_inc_8 = -1; int pos_inc_9 = -1; int pos_inc_10 = -1; // this charset is escaped accordingly //char charset[97]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\\:;\"\'<>,.?/ \0"; char charset[28]="abcdefghijklmnopqrstuvwxyz\0"; //char charset[28]="ABCDEFGHIJKLMNOPQRSTUVWXYZ\0"; //char charset[12]="0123456789\0"; //char charset[35]="!@#$%^&*()-_+=~`[]{}|\\:;\"\'<>,.?/ \0"; int cs_len = strlen(charset); //95 // we are going from left to right a // aa // aaa... // for 10 positions! int bf_1 = 0; ////////////////////////////////////////////////////////////////-[1 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } ////////////////////////////////////////////////////////////////-[2 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } ////////////////////////////////////////////////////////////////-[3 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; for (int bf_3 = 0; bf_3 < cs_len; bf_3++) { pos_inc_3 = charset[bf_3]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } } ////////////////////////////////////////////////////////////////-[4 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; for (int bf_3 = 0; bf_3 < cs_len; bf_3++) { pos_inc_3 = charset[bf_3]; for (int bf_4 = 0; bf_4 < cs_len; bf_4++) { pos_inc_4 = charset[bf_4]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } } } ////////////////////////////////////////////////////////////////-[5 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; for (int bf_3 = 0; bf_3 < cs_len; bf_3++) { pos_inc_3 = charset[bf_3]; for (int bf_4 = 0; bf_4 < cs_len; bf_4++) { pos_inc_4 = charset[bf_4]; for (int bf_5 = 0; bf_5 < cs_len; bf_5++) { pos_inc_5 = charset[bf_5]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } } } } ////////////////////////////////////////////////////////////////-[6 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; for (int bf_3 = 0; bf_3 < cs_len; bf_3++) { pos_inc_3 = charset[bf_3]; for (int bf_4 = 0; bf_4 < cs_len; bf_4++) { pos_inc_4 = charset[bf_4]; for (int bf_5 = 0; bf_5 < cs_len; bf_5++) { pos_inc_5 = charset[bf_5]; for (int bf_6 = 0; bf_6 < cs_len; bf_6++) { pos_inc_6 = charset[bf_6]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } } } } } ////////////////////////////////////////////////////////////////-[7 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; for (int bf_3 = 0; bf_3 < cs_len; bf_3++) { pos_inc_3 = charset[bf_3]; for (int bf_4 = 0; bf_4 < cs_len; bf_4++) { pos_inc_4 = charset[bf_4]; for (int bf_5 = 0; bf_5 < cs_len; bf_5++) { pos_inc_5 = charset[bf_5]; for (int bf_6 = 0; bf_6 < cs_len; bf_6++) { pos_inc_6 = charset[bf_6]; for (int bf_7 = 0; bf_7 < cs_len; bf_7++) { pos_inc_7 = charset[bf_7]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } } } } } } ////////////////////////////////////////////////////////////////-[8 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; for (int bf_3 = 0; bf_3 < cs_len; bf_3++) { pos_inc_3 = charset[bf_3]; for (int bf_4 = 0; bf_4 < cs_len; bf_4++) { pos_inc_4 = charset[bf_4]; for (int bf_5 = 0; bf_5 < cs_len; bf_5++) { pos_inc_5 = charset[bf_5]; for (int bf_6 = 0; bf_6 < cs_len; bf_6++) { pos_inc_6 = charset[bf_6]; for (int bf_7 = 0; bf_7 < cs_len; bf_7++) { pos_inc_7 = charset[bf_7]; for (int bf_8 = 0; bf_8 < cs_len; bf_8++) { pos_inc_8 = charset[bf_8]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } } } } } } } ////////////////////////////////////////////////////////////////-[9 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; for (int bf_3 = 0; bf_3 < cs_len; bf_3++) { pos_inc_3 = charset[bf_3]; for (int bf_4 = 0; bf_4 < cs_len; bf_4++) { pos_inc_4 = charset[bf_4]; for (int bf_5 = 0; bf_5 < cs_len; bf_5++) { pos_inc_5 = charset[bf_5]; for (int bf_6 = 0; bf_6 < cs_len; bf_6++) { pos_inc_6 = charset[bf_6]; for (int bf_7 = 0; bf_7 < cs_len; bf_7++) { pos_inc_7 = charset[bf_7]; for (int bf_8 = 0; bf_8 < cs_len; bf_8++) { pos_inc_8 = charset[bf_8]; for (int bf_9 = 0; bf_9 < cs_len; bf_9++) { pos_inc_9 = charset[bf_9]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } } } } } } } } ////////////////////////////////////////////////////////////////-[10 for (bf_1 = 0; bf_1 < cs_len; bf_1++) { pos_inc_1 = charset[bf_1]; for (int bf_2 = 0; bf_2 < cs_len; bf_2++) { pos_inc_2 = charset[bf_2]; for (int bf_3 = 0; bf_3 < cs_len; bf_3++) { pos_inc_3 = charset[bf_3]; for (int bf_4 = 0; bf_4 < cs_len; bf_4++) { pos_inc_4 = charset[bf_4]; for (int bf_5 = 0; bf_5 < cs_len; bf_5++) { pos_inc_5 = charset[bf_5]; for (int bf_6 = 0; bf_6 < cs_len; bf_6++) { pos_inc_6 = charset[bf_6]; for (int bf_7 = 0; bf_7 < cs_len; bf_7++) { pos_inc_7 = charset[bf_7]; for (int bf_8 = 0; bf_8 < cs_len; bf_8++) { pos_inc_8 = charset[bf_8]; for (int bf_9 = 0; bf_9 < cs_len; bf_9++) { pos_inc_9 = charset[bf_9]; for (int bf_10 = 0; bf_10 < cs_len; bf_10++) { pos_inc_10 = charset[bf_10]; template_pos(pos_inc_1, pos_inc_2, pos_inc_3, pos_inc_4, pos_inc_5, pos_inc_6, pos_inc_7, pos_inc_8, pos_inc_9, pos_inc_10 ); } } } } } } } } } } //////////////////////////////////////////////////////////////// } // end of line.