]> git.pld-linux.org Git - packages/aircrack.git/blame - aircrack-v2.1_speed.patch
- up to 2.2beta7
[packages/aircrack.git] / aircrack-v2.1_speed.patch
CommitLineData
ddac4044
GS
1--- aircrack.c.orig 2004-12-14 19:43:39.000000000 +0200
2+++ aircrack.c 2004-12-14 23:53:24.000000000 +0200
3@@ -49,6 +49,8 @@ char usage[] =
4 " -m <maddr> : MAC address to filter usable packets\n"
5 " -n <nbits> : WEP key length: 64 / 128 / 256 / 512\n"
6 " -p <nfork> : SMP support: # of processes to start\n"
7+" -q <quiet> : quiet mode (less print, more speed)\n"
8+" -u <sec's> : screen update only x seconds (default = each)\n"
9 "\n";
10
11 /* command-line parameters */
12@@ -61,6 +63,10 @@ unsigned char maddr[6]; /* MAC a
13 int weplen = 13; /* WEP key length */
14 int ffact = 2; /* fudge threshold */
15 int nfork = 1; /* number of forks */
16+int quietmode = 3; /* quiet mode, printf slowdown cracking */
17+int seconds = 30; /* update x seconds */
18+#define MAX_ENTROPY 5
19+ushort entropy=1,quiet_show=1;
20
21 /* runtime global data */
22
23@@ -295,17 +301,27 @@ void show_stats( int B )
24 struct winsize ws;
25 int i, et_h, et_m, et_s;
26
27- tm_prev = time( NULL );
28+ /* don't waste time, entropy help check
29+ time only once in 5 calls, this save huge amount of ops
30+ Entropy also avoids multiply fast printing
31+ at matched seconds time. */
32+
33+ if( (entropy++) >= MAX_ENTROPY) {
34+ tm_prev = time( NULL ); // get -1,
35 delta = tm_prev - tm_start;
36+ entropy = 0;
37+ /* if( ! delta ) delta++; // Bogus checks, delays us */
38+ if( (delta % seconds) == 0) quiet_show = 1;
39+ }
40
41+ if(quietmode>=1 && quiet_show == 1 )
42+ {
43+ quiet_show = 0;
44 if( ioctl( 0, TIOCGWINSZ, &ws ) < 0 )
45 {
46 ws.ws_row = 25;
47 ws.ws_col = 80;
48 }
49-
50- if( ! delta ) delta++;
51-
52 et_h = delta / 3600;
53 et_m = ( delta - et_h * 3600 ) / 60;
54 et_s = delta - et_h * 3600 - et_m * 60;
55@@ -320,6 +336,8 @@ void show_stats( int B )
56 "%ld keys at %ld k/m\n", et_h, et_m, et_s, tried,
57 ( 60 * tried ) / delta );
58
59+ if(quietmode>1 )
60+ { // quietmode = 2
61 printf( "\n KB depth votes\n" );
62
63 for( i = 0; i <= B; i++ )
64@@ -334,19 +352,21 @@ void show_stats( int B )
65 if( j >= 256 ) break;
66
67 if( wpoll[i][j].votes == INFINITY )
68- printf( "%02X(+inf) ", wpoll[i][j].index );
69+ { if(quietmode>2) printf( "%02X(+inf) ", wpoll[i][j].index ); }
70 else
71- printf( "%02X(%4d) ", wpoll[i][j].index,
72- wpoll[i][j].votes );
73+ { if(quietmode>2) printf( "%02X(%4d) ", wpoll[i][j].index,
74+ wpoll[i][j].votes ); }
75 }
76
77+ /* if(quietmode>2) */
78 printf( "\n" );
79 }
80
81 if( B < 11 )
82 printf( "\33[J" );
83-
84+ } // end of quietmode = 2
85 printf( "\n" );
86+ } // end of quietmode = 1
87 }
88
89 /* safe I/O routines */
90@@ -831,9 +851,13 @@ int do_wep_crack( int B )
91 keyfound:
92
93 /* we have a valid key */
94-
95+ entropy=MAX_ENTROPY; // hack to show correct time
96+ quiet_show = 1; // show lastest status
97 show_stats( B );
98
99+ printf( "\t\t\33[1;32mWEP BSSID = %02X:%02X:%02X:%02X:%02X:%02X\33[0m\n",
100+ maddr[0], maddr[1], maddr[2],
101+ maddr[3], maddr[4], maddr[5] );
102 printf( " \33[31;1mKEY FOUND! [ " );
103
104 for( i = 0; i < weplen; i++ )
105@@ -893,7 +917,7 @@ int main( int argc, char *argv[] )
106
107 while( 1 )
108 {
109- int option = getopt( argc, argv, "d:f:m:n:p:s:" );
110+ int option = getopt( argc, argv, "d:f:m:n:p:s:q:u:" );
111
112 if( option < 0 ) break;
113
114@@ -997,6 +1021,26 @@ int main( int argc, char *argv[] )
115
116 break;
117
118+ case 'q':
119+
120+ if( sscanf( optarg, "%d", &quietmode ) != 1 )
121+ goto usage;
122+
123+ if( quietmode < 0 || quietmode > 3 )
124+ goto usage;
125+
126+ break;
127+
128+ case 'u':
129+
130+ if( sscanf( optarg, "%d", &seconds ) != 1 )
131+ goto usage;
132+
133+ if( seconds <= 1 || seconds >= 3600 )
134+ { printf(" seconds should be between 1...3600\n");
135+ seconds=30; }
136+ break;
137+
138 default : goto usage;
139 }
140 }
141@@ -1068,10 +1112,10 @@ int main( int argc, char *argv[] )
142
143 srand( time( NULL ) );
144
145- tm_start = time( NULL );
146+ tm_start = time( NULL ) - 1 ; /* avoid check (perv-start) = 0 */
147 tm_prev = time( NULL );
148
149- printf( "\33[2J" );
150+ if(quietmode>=1) printf( "\33[2J" );
151 fflush( stdout );
152
153 return( do_wep_crack( 0 ) );
This page took 0.063945 seconds and 4 git commands to generate.