/****************************************************************************** * FindWEPkey(HEX), v.1.00 * * * * by * * * * L. Padilla (e-mail: padilla at domain "gae ucm es") * * * * Madrid, April 2005 * * * * Compile with: cc -O -o findwepkey_hex findwepkey_hex.c * * Latest version at http://www.gae.ucm.es/~padilla/extrawork/findwepkey_hex.c * ******************************************************************************/ #include #include #define KEY 10 #define MIN 0x0 #define MAX 0x9 int main (void) { int i, k[KEY]; FILE * file_p; for (k[0] = MIN; k[0] <= MAX; k[0]++) for (k[1] = MIN; k[1] <= MAX; k[1]++) for (k[2] = MIN; k[2] <= MAX; k[2]++) for (k[3] = MIN; k[3] <= MAX; k[3]++) { file_p = fopen ("findwepkey.dat", "w"); for (k[4] = MIN; k[4] <= MAX; k[4]++) for (k[5] = MIN; k[5] <= MAX; k[5]++) for (k[6] = MIN; k[6] <= MAX; k[6]++) for (k[7] = MIN; k[7] <= MAX; k[7]++) for (k[8] = MIN; k[8] <= MAX; k[8]++) for (k[9] = MIN; k[9] <= MAX; k[9]++) { for (i = 0; i < KEY/2 - 1; i++) fprintf (file_p, "%X%X:", k[2 * i], k[2 * i + 1]); fprintf (file_p, "%X%X\n", k[KEY - 2], k[KEY - 1]); } fclose (file_p); system ("decrypt -f findwepkey.dat -m 00:0F:ED:CB:A9:87 -e packets.pcap -d tmp.pcap"); } return 0; }