3 * wep.c - wordlist/bruteforce wep key attack
11 #include <sys/types.h>
14 #include <openssl/rc4.h>
24 puts("-s <save file>");
25 puts("-f /path/to/flite");
26 puts("-w /path/to/wordlist");
30 int main(int argc,char **argv) {
37 unsigned char text[MAX_TEXT];
40 memset(&wep,0,sizeof(t_wep));
42 strncpy(wep.flite,"/usr/bin/flite",MAX_C_FLITE);
43 strncpy(wep.savefile,"",MAX_C_SF);
44 strncpy(wep.wordlist,"",MAX_C_WL);
53 wep.port=atoi(argv[++i]);
56 strncpy(wep.savefile,argv[++i],MAX_C_SF);
60 strncpy(wep.flite,argv[++i],MAX_C_FLITE);
64 strncpy(wep.wordlist,argv[++i],MAX_XWL);
76 if(!strcmp(wep.wordlist,"")) {
77 puts("you need to specify a wordlist!");
82 printf("\n--- wep, started at: %s ---\n",text);
85 wep.sf_fd=open(wep.savefile,O_WRONLY|O_CREAT|O_APPEND|S_IRUSR|S_IWUSR);
87 printf("[wep] failed to open %s as a save file\n",wep.savefile);
90 dprintf(wep.sf_fd,"\n--- wep, started at: %s ---\n",text);
94 snprintf(text,MAX_TEXT,"%s 'wep cracker started. good luck.'");
99 network_init(&(wep.net),2);
100 network_set_listen_port(&net,wep.port);
101 if(network_listen(&net)!=N_SUCCESS) {
102 printf("unable to listen on port %d\n",wep.port);
107 list_init(&(wep.bssid),2);
110 event_init(&(wep.event),2);
111 event_math(wep.net.l_fd,&(wep),READ,ADD);
112 event_start(&(wep.event),&wep,parse_incoming,brute_key);
114 event_shutdown(&(wep.event));
115 network_shutdown(&(wep.net));
116 list_shutdown(&(wep.bssid));