-
Notifications
You must be signed in to change notification settings - Fork 8
/
feedingbottle.fl
10450 lines (9950 loc) · 696 KB
/
feedingbottle.fl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# data file for the Fltk User Interface Designer (fluid)
version 1.0304
header_name {.h}
code_name {.cxx}
decl {\#include <FL/Fl_Widget.H>} {private local
}
decl {\#include <FL/Fl_File_Chooser.H>} {private local
}
decl {\#include <FL/Fl_Image.H>} {private local
}
decl {\#include <string.h>} {private local
}
decl {\#include <stdio.h>} {private local
}
decl {\#include <stdlib.h>} {private local
}
decl {\#include <unistd.h>} {private local
}
decl {\#include <time.h>} {private local
}
decl {\#include <stdarg.h>} {private local
}
decl {Fl_Text_Buffer *Stats_buff = new Fl_Text_Buffer();} {private global
}
decl {Fl_Text_Buffer *Stats_buff_WPA = new Fl_Text_Buffer();} {private global
}
decl {char m_LBt_WirelessDevName_1_label[32]={0};} {private local
}
decl {char m_LBt_WirelessDevName_2_label[32]={0};} {private local
}
decl {char m_LBt_WirelessDevName_3_label[32]={0};} {private local
}
decl {char m_LBt_WirelessDevName_4_label[32]={0};} {private local
}
decl {char m_LBt_WirelessDevName_5_label[32]={0};} {private local
}
decl {struct WirelessDeviceInfoStruct{int WirelessDeviceConnect;char WirelessDeviceName[16];char WirelessDeviceMAC[18];};} {private global
}
decl {struct WirelessDeviceInfoStruct WirelessDeviceInfo[5]={0};} {private local
}
decl {char m_WirelessDevNameSelect[16]={0};} {private local
}
decl {char m_WirelessDevMacSelect[18]={0};} {private local
}
decl {char m_WirelessMonDevNameSelect[16]={0};} {private local
}
decl {char m_ClientMacSelect[18]={0};} {private local
}
decl {char m_APName[33]={0};} {
comment {//max ssid len is 32} private local
}
decl {char m_APMAC[18]={0};} {private local
}
decl {char m_APChannel[5]={0};} {private local
}
decl {char m_InjRate[5]="600";} {private local
}
decl {int ScanningTime=30;} {private local
}
decl {char m_EncryptionSelected[4]={0};} {private local
}
decl {char m_ChannelSelected[10]={0};} {
comment Choice_ChannelSelected_CallBack private local
}
decl {char m_AttacksModel[3]="-3";} {private local
}
decl {struct APInfoStruct{int APConnect;char APName[33];char APMAC[18];char APChannel[5];char APPWR[5];};} {private global
}
decl {struct APInfoStruct APInfo[128]={0};} {private local
}
decl {struct ClientInfoStruct{char ClientMAC[18];char ClientPackets[5];};} {private global
}
decl {struct ClientInfoStruct ClientInfo[64]={0};} {private local
}
decl {int ClientAttack=0;} {private local
}
decl {int AP_Selected=0;} {private local
}
decl {int attack_start=0;} {private local
}
decl {int attack_wpa_start=0;} {private local
}
decl {int arp_replay_attack_associated_client_start=0;} {private local
}
decl {int listening_for_arp_packets_state=0;} {private local
}
decl {int replaying_arp_packets_state=0;} {private local
}
decl {int got_deauth_packet_state=0;} {private local
}
decl {int run_crack_ivs_state=0;} {private local
}
decl {int run_crack_cap_state=0;} {private local
}
decl {int found_key_state=0;} {private local
}
decl {char m_IVs_label[32]={0};} {private local
}
decl {char m_key_label[256]={0};} {private local
}
decl {char m_wpa_handshake_label[32]={0};} {private local
}
decl {int fake_auth_start=0;} {private local
}
decl {int fake_auth_state=0;} {private local
}
decl {int interactive_p0841_start=0;} {private local
}
decl {int chopchop_start=0;} {private local
}
decl {int listening_for_keystream_xor_state=0;} {private local
}
decl {int listening_for_replay_src_state=0;} {private local
}
decl {int got_keystream_xor_state=0;} {private local
}
decl {int fragmentation_start=0;} {private local
}
decl {char m_xor_file_name[32]={0};} {private local
}
decl {char m_select_dict[256]={0};} {private local
}
decl {char m_select_xorfile[256]={0};} {private local
}
decl {char m_select_arpfile[256]={0};} {private local
}
decl {char m_aterm_text[32]={0};} {private local
}
decl {int ScanningTimeBreak=0;} {private local
}
Function {} {open
} {
code {//Get WirelessDevice's Name && MAC address
printf("------ Start FeedingBottle! ------\\n");
FILE* file_desc;
if(system("rm -rf /tmp/FeedingBottle"));
if(system("mkdir -p /tmp/FeedingBottle"));
DelTemFiles();
if(system("airmon-ng check | awk '/Found/' > /tmp/FeedingBottle/airmon-ng_check.txt"));
file_desc = fopen("/tmp/FeedingBottle/airmon-ng_check.txt", "r");
if (file_desc == NULL)
printf("* Error : Can not open file : airmon-ng_check.txt\\n");
else
{
char ReadLine[64]= {0};
if(fgets(ReadLine,64,file_desc))
{
if(strstr(ReadLine,"Found"))
{
int flag_type = fl_choice("Some processes that might interfere with the aircrack-ng suite. \\nIt is strongly recommended that these processes be eliminated prior to using the aircrack-ng suite.\\n\\nRun \\"airmon-ng check kill\\" command?","NO","YSE",NULL);
if( flag_type == 1)
{
printf("* Info : YSE\\n");
printf("* Info : Command : airmon-ng check kill\\n");
if(system("airmon-ng check kill"));
}
}
}
}
Fl::add_timeout(2.0,Timer_CallBack);
if(system("iw dev | awk '/Interface/{print $2} /addr/{print $2}' > /tmp/FeedingBottle/WirelessDevice.txt"));
//WirelessDevice.txt
int WirelessDeviceNum=0;
file_desc = fopen("/tmp/FeedingBottle/WirelessDevice.txt", "r");
if (file_desc == NULL)
printf("* Error : Can not open file : WirelessDevice.txt\\n");
else
{
char ReadLine[32]= {0};
WirelessDeviceNum=0;
while(fgets(ReadLine,32,file_desc) && WirelessDeviceNum!=5)
{
printf("WirelessDevice.txt --> %s\\n",ReadLine);
WirelessDeviceInfo[WirelessDeviceNum].WirelessDeviceConnect=1;
strncpy(WirelessDeviceInfo[WirelessDeviceNum].WirelessDeviceName,ReadLine,strlen(ReadLine)-1);
printf("* Info : Found WirelessDeviceName : %s\\n",WirelessDeviceInfo[WirelessDeviceNum].WirelessDeviceName);
if(fgets(ReadLine,32,file_desc))
{
strncpy(WirelessDeviceInfo[WirelessDeviceNum].WirelessDeviceMAC,ReadLine,strlen(ReadLine)-1);
printf("* Info : Found WirelessDeviceMac : %s\\n",WirelessDeviceInfo[WirelessDeviceNum].WirelessDeviceMAC);
WirelessDeviceNum++;
}
else
{
printf("* Error : Can not get WirelessDevice information!\\n");
}
}
printf("* Info : Found %d WirelessDevice !\\n",WirelessDeviceNum);
fclose(file_desc);
}} {}
Fl_Window {} {
label FeedingBottle
callback WinQuit_CallBack open
xywh {608 74 575 360} type Double visible
} {
Fl_Wizard Main_Wizard {open
xywh {-10 -3 625 383} color 32
} {
Fl_Group {} {selected
xywh {0 0 575 360} color 0
} {
Fl_Box {} {
label {Please don't assess any Access Point except yours.}
xywh {15 75 545 50} labelfont 5 labelsize 18 labelcolor 3
}
Fl_Button {} {
label No
callback Wizard_done
xywh {115 250 160 45} color 15 selection_color 1 labelfont 5 labelsize 25 labelcolor 1
}
Fl_Button {} {
label Yes
callback Wizard_next
xywh {303 250 160 45} color 15 selection_color 1 labelfont 5 labelsize 25 labelcolor 2
}
}
Fl_Group {} {
xywh {0 0 575 360} color 0 labelfont 5 hide
} {
Fl_Box {} {
label {Select Wireless Card & Into Monitor Mode}
xywh {20 20 380 25} labelfont 5 labelsize 16 labelcolor 48
}
Fl_Light_Button LBt_WirelessDevName_1 {
label {N/A}
user_data {"WirelessDevName_1"}
callback Button_WirelessDevName_CallBack
xywh {71 60 435 30} color 105 selection_color 6 labelfont 5 labelcolor 3 align 16
}
Fl_Light_Button LBt_WirelessDevName_2 {
label {N/A}
user_data {"WirelessDevName_2"}
callback Button_WirelessDevName_CallBack
xywh {71 95 435 30} color 105 selection_color 6 labelfont 5 labelcolor 3 align 16
}
Fl_Light_Button LBt_WirelessDevName_3 {
label {N/A}
user_data {"WirelessDevName_3"}
callback Button_WirelessDevName_CallBack
xywh {71 130 435 30} color 105 selection_color 6 labelfont 5 labelcolor 3 align 16
}
Fl_Light_Button LBt_WirelessDevName_4 {
label {N/A}
user_data {"WirelessDevName_4"}
callback Button_WirelessDevName_CallBack
xywh {71 165 435 30} color 105 selection_color 6 labelfont 5 labelcolor 3 align 16
}
Fl_Light_Button LBt_WirelessDevName_5 {
label {N/A}
user_data {"WirelessDevName_5"}
callback Button_WirelessDevName_CallBack
xywh {71 200 435 30} color 105 selection_color 6 labelfont 5 labelcolor 3 align 16
}
Fl_Button {} {
label {Next ->}
user_data {"next_to_scanap"}
callback Button_Next_CallBack
xywh {477 325 90 30} color 15 selection_color 1 labelfont 5 labelcolor 3
}
Fl_Output Output_MonModMsg {
label {Message:}
user_data {"next"}
xywh {142 270 365 25} box UP_BOX color 34 labelfont 5 labelcolor 48 textfont 5 textsize 12 textcolor 1
}
Fl_Button {} {
label {FeedingBottle 3.38}
callback Box_About_CallBack
tooltip {Coded by ZhaoChunsheng (Tianjin,China) at 2018.02.26} xywh {5 325 175 25} box NO_BOX color 0 labelfont 7 labelcolor 232
}
}
Fl_Group {} {
xywh {0 0 574 360} color 56 labelfont 1 labelsize 18 labelcolor 48 hide
} {
Fl_Button {} {
label {<- Prev}
callback Wizard_back
xywh {10 325 80 29} color 15 selection_color 1 labelfont 5 labelcolor 3
}
Fl_Browser Brower_APBrower {
label {APs Information}
callback Brower_APBrower_CallBack
xywh {18 35 535 135} box ENGRAVED_BOX color 34 selection_color 6 labelfont 5 labelsize 16 labelcolor 48 align 5 textfont 4 textsize 12 textcolor 62
code0 {Brower_APBrower->type(FL_HOLD_BROWSER);}
code1 {//Brower_APBrower->column_widths(widths);}
code2 {//Brower_APBrower->column_char('\\t');}
}
Fl_Progress Progress_Scanning {
xywh {18 170 535 10} selection_color 14
}
Fl_Browser Brower_ClientBrower {
label {Clients Information}
callback Brower_ClientBrower_CallBack
xywh {18 205 210 115} box ENGRAVED_BOX color 34 selection_color 6 labelfont 5 labelsize 16 labelcolor 48 align 5 textfont 4 textsize 12 textcolor 62
code0 {Brower_ClientBrower->type(FL_HOLD_BROWSER);}
}
Fl_Button {} {
label {Next ->}
user_data {"next_to_attack"}
callback Button_Next_CallBack
xywh {477 325 90 30} color 15 selection_color 1 labelfont 5 labelcolor 3
}
Fl_Choice Choice_ChannelSelected {
label {Channel Selected:}
callback Choice_ChannelSelected_CallBack open
xywh {357 274 108 25} down_box BORDER_BOX color 33 selection_color 47 labelfont 5 labelsize 12 labelcolor 48 textfont 5 textsize 12 textcolor 15
} {}
Fl_Choice Choice_ScanningTime {
label {Scanning Time:}
callback Choice_ScanningTime_CallBack open
xywh {351 300 114 25} down_box BORDER_BOX color 33 selection_color 47 labelfont 5 labelsize 13 labelcolor 48 textfont 5 textsize 12 textcolor 15
} {}
Fl_Choice Choice_Encryption {
label {Encryption:}
callback Choice_Encryption_CallBack open
xywh {315 248 150 25} down_box BORDER_BOX color 33 selection_color 47 labelfont 5 labelsize 12 labelcolor 48 textfont 5 textsize 12 textcolor 15
} {}
Fl_Light_Button Button_ScanAP {
label {Scan...}
callback Button_ScanAP_CallBack
xywh {470 205 85 110} color 105 selection_color 2 labelfont 1 labelsize 18 labelcolor 3
}
Fl_Check_Button Check_ShowAllAPs {
label {Show All APs when Scanning }
xywh {427 224 25 21} down_box DOWN_BOX labelfont 5 labelsize 12 labelcolor 48 align 4
}
Fl_Check_Button Check_IgnoreAP {
label {Ignore The Error Item of AP}
xywh {427 202 30 20} down_box DOWN_BOX labelfont 5 labelsize 12 labelcolor 48 align 4
}
}
Fl_Group {} {
xywh {0 -2 576 362} color 32 hide
} {
Fl_Button Button_PrevToScanap {
label {<- Prev}
user_data {"prev_to_scanap"}
callback Button_Prev_CallBack
xywh {10 324 80 29} color 15 selection_color 1 labelfont 5 labelcolor 3
}
Fl_Box Box_APName {
label {-}
xywh {17 47 110 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_APMAC {
label {-}
xywh {156 47 119 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_APChannel {
label {-}
xywh {309 47 30 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_ClientMAC {
label {-}
xywh {371 47 114 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box {} {
label {AP Name}
xywh {11 26 64 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP MAC}
xywh {153 26 60 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP Channel}
xywh {275 26 85 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Client MAC}
xywh {369 26 85 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP information}
xywh {0 9 171 25} labelfont 5 labelsize 18 labelcolor 48
}
Fl_Box {} {
label {Wireless card information}
xywh {5 66 283 25} labelfont 5 labelsize 18 labelcolor 48
}
Fl_Box {} {
label {Card interface}
xywh {8 86 127 20} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Card monitor interface}
xywh {150 86 190 20} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Card MAC}
xywh {362 86 83 20} labelfont 5 labelcolor 48
}
Fl_Box Box_WirelessDevNameSelect {
label {-}
xywh {16 104 70 19} color 0 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_WirelessMonDevNameSelect {
label {-}
xywh {157 104 105 19} color 0 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_WirelessDevMacSelect {
label {-}
xywh {371 104 145 19} color 32 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box {} {
label {Attacks parameters}
xywh {8 121 203 25} labelfont 5 labelsize 18 labelcolor 48
}
Fl_Choice Choice_AttacksModel {
callback Choice_AttacksModel_CallBack open
xywh {47 146 245 25} down_box BORDER_BOX color 34 selection_color 47 labelfont 4 labelcolor 62 textfont 1 textsize 12 textcolor 15
} {}
Fl_Text_Display Text_Display_Stats {
label {Attacks Stats}
xywh {20 198 535 122} box ENGRAVED_BOX color 34 selection_color 6 labelfont 5 labelsize 18 labelcolor 48 align 5 textfont 4 textsize 12 textcolor 62
code0 {Text_Display_Stats->buffer(Stats_buff);}
}
Fl_Choice Choice_InjRate {
callback Choice_InjRate_CallBack open
xywh {300 146 85 25} down_box BORDER_BOX color 34 selection_color 47 labelfont 4 labelcolor 62 textfont 1 textsize 12 textcolor 15
} {}
Fl_Button Button_Start {
label Start
callback Button_Start_CallBack
xywh {429 138 120 35} color 105 selection_color 6 labelfont 5 labelsize 18 labelcolor 3
}
Fl_Button Button_Deauth {
label Deauth
callback Button_Deauth_CallBack
xywh {501 34 67 30} color 105 labelfont 5 labelcolor 1
}
Fl_Box Box_IVs {
label {0 IVs Captured}
xywh {207 324 160 15} labelfont 5 labelsize 12 labelcolor 2 align 16
}
Fl_Box Box_KeyFound {
label {Key: Not Found}
xywh {40 339 500 16} labelfont 5 labelsize 12 labelcolor 1 align 16
}
Fl_Button Button_AdvancedMode {
label {Advanced Mode ->|}
user_data {"next_to_advanced_mode_from_wep"}
callback Button_Next_CallBack
tooltip {Switch to Advanced Mode} xywh {420 324 145 29} color 15 selection_color 1 labelfont 5 labelcolor 3
}
}
Fl_Group {} {
xywh {0 -2 575 362} color 32 hide
} {
Fl_Button Button_PrevToScanap_WPA {
label {<- Prev}
user_data {"prev_to_scanap_wpa"}
callback Button_Prev_CallBack
xywh {10 324 80 29} color 15 selection_color 1 labelfont 5 labelcolor 3
}
Fl_Box Box_APName_WPA {
label {-}
xywh {13 47 141 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_APMAC_WPA {
label {-}
xywh {160 47 124 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_APChannel_WPA {
label {-}
xywh {318 47 30 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_ClientMAC_WPA {
label {-}
xywh {372 47 123 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box {} {
label {AP Name}
xywh {14 26 60 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP MAC}
xywh {157 26 60 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP Channel}
xywh {285 26 85 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Client MAC}
xywh {373 26 85 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP information}
xywh {3 9 165 25} labelfont 5 labelsize 18 labelcolor 48
}
Fl_Box {} {
label {Wireless card information}
xywh {3 66 282 25} labelfont 5 labelsize 18 labelcolor 48
}
Fl_Box {} {
label {Card interface}
xywh {9 86 123 20} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Card monitor interface}
xywh {156 86 160 20} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Card MAC}
xywh {368 86 80 20} labelfont 5 labelcolor 48
}
Fl_Box Box_WirelessDevNameSelect_WPA {
label {-}
xywh {12 104 115 19} color 0 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_WirelessMonDevNameSelect_WPA {
label {-}
xywh {146 104 131 19} color 0 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_WirelessDevMacSelect_WPA {
label {-}
xywh {373 104 145 19} color 32 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box {} {
label {WPA handshake}
xywh {3 121 152 25} labelfont 5 labelsize 18 labelcolor 48
}
Fl_Text_Display Text_Display_Stats_WPA {
label {Attacks Stats}
xywh {20 193 535 127} box ENGRAVED_BOX color 34 selection_color 6 labelfont 5 labelsize 18 labelcolor 48 align 5 textfont 4 textsize 12 textcolor 62
code0 {Text_Display_Stats_WPA->buffer(Stats_buff_WPA);}
}
Fl_Button Button_Start_WPA {
label Start
callback Button_Start_WPA_CallBack
xywh {425 142 120 35} color 105 selection_color 6 labelfont 5 labelsize 18 labelcolor 3
}
Fl_Button Button_Deauth_WPA {
label Deauth
callback Button_Deauth_CallBack
xywh {503 34 67 30} color 105 labelfont 5 labelcolor 1
}
Fl_Box Box_Handshake_WPA {
label {-}
xywh {12 150 333 20} labelfont 5 labelsize 12 labelcolor 2 align 20
}
Fl_Box Box_KeyFound_WPA {
label {WPA Key: Not Found}
xywh {55 333 471 15} labelfont 5 labelsize 12 labelcolor 1 align 16
}
Fl_Button {} {
label {Advanced Mode ->|}
user_data {"next_to_advanced_mode_from_wpa"}
callback Button_Next_CallBack
tooltip {Switch to Advanced Mode} xywh {425 324 145 29} color 15 selection_color 1 labelfont 5 labelcolor 3
}
}
Fl_Group {} {
xywh {0 -3 575 363} color 32 hide
} {
Fl_Box Box_APName_adv {
label {-}
xywh {14 43 110 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_APMAC_adv {
label {-}
xywh {142 43 119 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_APChannel_adv {
label {-}
xywh {293 43 30 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_ClientMAC_adv {
label {-}
xywh {350 43 138 20} labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box {} {
label {AP Name}
xywh {11 22 64 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP MAC}
xywh {137 22 60 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP Channel}
xywh {261 22 85 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Client MAC}
xywh {349 22 85 24} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {AP information}
xywh {2 5 171 25} labelfont 5 labelsize 18 labelcolor 48
}
Fl_Box {} {
label {Wireless card information}
xywh {7 62 282 25} labelfont 5 labelsize 18 labelcolor 48
}
Fl_Box {} {
label {Card interface}
xywh {11 82 122 20} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Card monitor interface}
xywh {148 82 191 20} labelfont 5 labelcolor 48
}
Fl_Box {} {
label {Card MAC}
xywh {343 82 80 20} labelfont 5 labelcolor 48
}
Fl_Box Box_WirelessDevNameSelect_adv {
label {-}
xywh {16 100 70 19} color 0 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_WirelessMonDevNameSelect_adv {
label {-}
xywh {155 100 105 19} color 0 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Box Box_WirelessDevMacSelect_adv {
label {-}
xywh {351 100 150 19} color 32 labelfont 5 labelsize 12 labelcolor 62 align 20
}
Fl_Button Button_Deauth_adv {
label Deauth
callback Button_Deauth_adv_CallBack
xywh {490 30 73 30} color 64 selection_color 2 labelfont 5 labelcolor 3
}
Fl_Browser Brower_ClientBrower_adv {
label {Clients Information}
callback Brower_ClientBrower_adv_CallBack
xywh {10 143 216 100} box ENGRAVED_BOX color 34 selection_color 6 labelfont 5 labelsize 18 labelcolor 48 align 5 textfont 4 textsize 12 textcolor 62
code0 {Brower_ClientBrower_adv->type(FL_HOLD_BROWSER);}
}
Fl_Button Button_Prev_ADV {
label {<- Prev (All Stop!)}
user_data {"prev_adv"}
callback Button_Prev_CallBack
xywh {10 321 161 29} color 15 selection_color 1 labelfont 5 labelcolor 3
}
Fl_Button Button_RefreshClientList {
label {Refresh Client List}
callback Button_RefreshClientList_CallBack
xywh {11 245 216 25} color 105 labelfont 5 labelcolor 3
}
Fl_Input Input_AttackCommand {
label {Attack Command :}
xywh {10 294 555 22} box ENGRAVED_BOX color 0 labelfont 5 labelsize 18 labelcolor 48 align 5 textfont 4 textsize 12 textcolor 2
code0 {Input_AttackCommand->cursor_color(3);}
}
Fl_Light_Button Button_Capture {
label Capture
callback Button_Capture_CallBack
xywh {240 137 160 30} color 105 selection_color 63 labelfont 5 labelcolor 3 align 16
}
Fl_Light_Button Button_Crack {
label StartCrack
callback Button_Crack_CallBack
xywh {405 137 160 30} color 64 selection_color 63 labelfont 5 labelcolor 3 align 16
}
Fl_Button Button_ARP_Replay {
label {ARPReplay(-3)}
callback Button_ARP_Replay_CallBack
xywh {240 200 160 25} color 64 selection_color 2 labelfont 5 labelcolor 3
}
Fl_Button Button_RunAttackCommand {
label Run
callback Button_RunAttackCommand_CallBack
xywh {470 321 96 29} color 1 selection_color 90 labelfont 5
}
Fl_Button Button_Fake_Auth {
label {FakeAuth(-1)}
callback Button_Fake_Auth_CallBack
xywh {240 170 160 25} color 64 selection_color 2 labelfont 5 labelcolor 3
}
Fl_Button Button_Interactive_0841 {
label {Interactive0841(-2)}
callback Button_Interactive_0841_CallBack
xywh {405 170 160 25} color 64 selection_color 2 labelfont 5 labelcolor 3
}
Fl_Button Button_Chopchop {
label {Chopchop(-4)}
callback Button_Chopchop_CallBack
xywh {405 200 160 25} color 64 selection_color 2 labelfont 5 labelcolor 3
}
Fl_Button Button_Fragmentation {
label {Fragmentation(-5)}
callback Button_Fragmentation_CallBack
xywh {240 230 160 25} color 64 selection_color 2 labelfont 5 labelcolor 3
}
Fl_Button Button_PacketForge {
label PacketForge
callback Button_PacketForge_CallBack
xywh {405 230 160 25} color 64 selection_color 2 labelfont 5 labelcolor 3
}
Fl_Button Button_ForgeAttack {
label ForgeAttack
callback Button_ForgeAttack_CallBack
tooltip {Injection attack} xywh {240 260 160 25} color 64 selection_color 2 labelfont 5 labelcolor 3
}
Fl_Check_Button Check_AutoRun {
label {Auto Run}
callback Check_AutoRun_CallBack
xywh {365 322 90 29} down_box DOWN_BOX color 0 labelfont 5 labelcolor 3
}
}
}
}
code {//Init Button Name with DeviceName & DeviceMAC
Output_MonModMsg->textcolor((Fl_Color)2);
Output_MonModMsg->value("Please Select an Wireless Card...");
if(WirelessDeviceInfo[0].WirelessDeviceConnect)
{
strcat(m_LBt_WirelessDevName_1_label,WirelessDeviceInfo[0].WirelessDeviceName);
strcat(m_LBt_WirelessDevName_1_label," ");
strcat(m_LBt_WirelessDevName_1_label,WirelessDeviceInfo[0].WirelessDeviceMAC);
LBt_WirelessDevName_1->label(m_LBt_WirelessDevName_1_label);
}
if(WirelessDeviceInfo[1].WirelessDeviceConnect)
{
strcat(m_LBt_WirelessDevName_2_label,WirelessDeviceInfo[1].WirelessDeviceName);
strcat(m_LBt_WirelessDevName_2_label," ");
strcat(m_LBt_WirelessDevName_2_label,WirelessDeviceInfo[1].WirelessDeviceMAC);
LBt_WirelessDevName_2->label(m_LBt_WirelessDevName_2_label);
}
if(WirelessDeviceInfo[2].WirelessDeviceConnect)
{
strcat(m_LBt_WirelessDevName_3_label,WirelessDeviceInfo[2].WirelessDeviceName);
strcat(m_LBt_WirelessDevName_3_label," ");
strcat(m_LBt_WirelessDevName_3_label,WirelessDeviceInfo[2].WirelessDeviceMAC);
LBt_WirelessDevName_3->label(m_LBt_WirelessDevName_3_label);
}
if(WirelessDeviceInfo[3].WirelessDeviceConnect)
{
strcat(m_LBt_WirelessDevName_4_label,WirelessDeviceInfo[3].WirelessDeviceName);
strcat(m_LBt_WirelessDevName_4_label," ");
strcat(m_LBt_WirelessDevName_4_label,WirelessDeviceInfo[3].WirelessDeviceMAC);
LBt_WirelessDevName_4->label(m_LBt_WirelessDevName_4_label);
}
if(WirelessDeviceInfo[4].WirelessDeviceConnect)
{
strcat(m_LBt_WirelessDevName_5_label,WirelessDeviceInfo[4].WirelessDeviceName);
strcat(m_LBt_WirelessDevName_5_label," ");
strcat(m_LBt_WirelessDevName_5_label,WirelessDeviceInfo[4].WirelessDeviceMAC);
LBt_WirelessDevName_5->label(m_LBt_WirelessDevName_5_label);
}} {}
}
Function {Button_WirelessDevName_CallBack(Fl_Widget*,void* userdata)} {} {
code {if(userdata=="WirelessDevName_1")
{
printf("* Info : Button WirelessDevName_1 Clicked! %s \\n",LBt_WirelessDevName_1->label());
strcpy(m_WirelessDevNameSelect,WirelessDeviceInfo[0].WirelessDeviceName);
strcpy(m_WirelessDevMacSelect,WirelessDeviceInfo[0].WirelessDeviceMAC);
LBt_WirelessDevName_2->value(0);
LBt_WirelessDevName_3->value(0);
LBt_WirelessDevName_4->value(0);
LBt_WirelessDevName_5->value(0);
IntoMonitorMode();
}
if(userdata=="WirelessDevName_2")
{
printf("* Info : Button WirelessDevName_2 Clicked! %s \\n",LBt_WirelessDevName_2->label());
strcpy(m_WirelessDevNameSelect,WirelessDeviceInfo[1].WirelessDeviceName);
strcpy(m_WirelessDevMacSelect,WirelessDeviceInfo[1].WirelessDeviceMAC);
LBt_WirelessDevName_1->value(0);
LBt_WirelessDevName_3->value(0);
LBt_WirelessDevName_4->value(0);
LBt_WirelessDevName_5->value(0);
IntoMonitorMode();
}
if(userdata=="WirelessDevName_3")
{
printf("* Info : Button WirelessDevName_3 Clicked! %s \\n",LBt_WirelessDevName_3->label());
strcpy(m_WirelessDevNameSelect,WirelessDeviceInfo[2].WirelessDeviceName);
strcpy(m_WirelessDevMacSelect,WirelessDeviceInfo[2].WirelessDeviceMAC);
LBt_WirelessDevName_1->value(0);
LBt_WirelessDevName_2->value(0);
LBt_WirelessDevName_4->value(0);
LBt_WirelessDevName_5->value(0);
IntoMonitorMode();
}
if(userdata=="WirelessDevName_4")
{
printf("* Info : Button WirelessDevName_4 Clicked! %s \\n",LBt_WirelessDevName_4->label());
strcpy(m_WirelessDevNameSelect,WirelessDeviceInfo[3].WirelessDeviceName);
strcpy(m_WirelessDevMacSelect,WirelessDeviceInfo[3].WirelessDeviceMAC);
LBt_WirelessDevName_1->value(0);
LBt_WirelessDevName_2->value(0);
LBt_WirelessDevName_3->value(0);
LBt_WirelessDevName_5->value(0);
IntoMonitorMode();
}
if(userdata=="WirelessDevName_5")
{
printf("* Info : Button WirelessDevName_5 Clicked! %s \\n",LBt_WirelessDevName_5->label());
strcpy(m_WirelessDevNameSelect,WirelessDeviceInfo[4].WirelessDeviceName);
strcpy(m_WirelessDevMacSelect,WirelessDeviceInfo[4].WirelessDeviceMAC);
LBt_WirelessDevName_1->value(0);
LBt_WirelessDevName_2->value(0);
LBt_WirelessDevName_3->value(0);
LBt_WirelessDevName_4->value(0);
IntoMonitorMode();
}} {}
}
Function {IntoMonitorMode()} {} {
code {//Show Monitor Mode WirelessDev
printf("* Info : IntoMonitorMode() Function actived !\\n");
RemoveMonDevice();
m_WirelessMonDevNameSelect[0]=0;
if(strcmp(m_WirelessDevNameSelect,"N/A") && m_WirelessDevNameSelect[0]!=0)
{
Output_MonModMsg->textcolor((Fl_Color)3);
Output_MonModMsg->value("Try to enable monitor mode, please wait...");
Fl::check();
printf("* Info : Selected an Wireless Card\\n");
char m_strtemp[256]="airmon-ng start ";
strcat(m_strtemp,m_WirelessDevNameSelect);
strcat(m_strtemp," | grep \\"monitor\\" | awk '{print$9}' | awk '{split($0,a,\\"[])]\\");print a[2]}' > /tmp/FeedingBottle/IntoMonitorMode.txt");
printf("* Info : IntoMonitorMode Command : %s\\n",m_strtemp);
if(system(m_strtemp));
int ReadLineOK=0;
FILE* file_desc;
file_desc = fopen("/tmp/FeedingBottle/IntoMonitorMode.txt", "r");
if (file_desc == NULL)
printf("* Error : Can not open file : IntoMonitorMode.txt\\n");
else
{
char ReadLine[64]= {0};
while(fgets(ReadLine,64,file_desc))
{
printf("IntoMonitorMode.txt --> %s",ReadLine);
//"Interface Chipset Driver"
//(monitor mode enabled on mon0) || (monitor mode enabled)//dwa123_revC
if( strstr( ReadLine,"mon") )
{
strcpy(m_WirelessMonDevNameSelect,ReadLine);
if (m_WirelessMonDevNameSelect[strlen(m_WirelessMonDevNameSelect)-1] == '\\n')
m_WirelessMonDevNameSelect[strlen(m_WirelessMonDevNameSelect)-1] = 0;
printf("\\n* Info : Found Monitor Mode WirelessDev : %s (%s)\\n",m_WirelessMonDevNameSelect,m_WirelessDevNameSelect);
}
}
fclose(file_desc);
}
if(m_WirelessMonDevNameSelect[0]!=0)
{
memcpy(m_strtemp,"\\0",256);
strcpy(m_strtemp,"monitor mode enabled on ");
strcat(m_strtemp,m_WirelessMonDevNameSelect);
strcat(m_strtemp," (");
strcat(m_strtemp,m_WirelessDevNameSelect);
strcat(m_strtemp,")");
Output_MonModMsg->textcolor((Fl_Color)2);//green
Output_MonModMsg->value(m_strtemp);
}
else
{
Output_MonModMsg->textcolor((Fl_Color)1);
Output_MonModMsg->value("Can not into monitor mode !");
}
}
else
{
Output_MonModMsg->textcolor((Fl_Color)1);
Output_MonModMsg->value("Please Select an Wireless Card...");
printf("* Info : Please Select an Wireless Card...\\n");
}} {}
}
Function {FakeAuthState()} {} {
code {//Fake Auth State
//Association successful -> fake_auth_state==1
//Association unsuccessful -> fake_auth_state==0
char m_strStats[256]= {0};
time_t now;
struct tm *timenow;
time(&now);
timenow=localtime(&now);
if( fake_auth_state==0 )
{
printf("* Info : FakeAuth() Function actived !\\n");
FILE* file_desc;
file_desc = fopen("/tmp/FeedingBottle/fake_auth.txt", "r");
if (file_desc == NULL)
printf("* Error : Can not open file : /tmp/FeedingBottle/fake_auth.txt\\n");
else
{
char ReadLine[256]= {0};
while(fgets(ReadLine,256,file_desc))
{
if(strstr(ReadLine,"Association successful :-)"))
{
printf("%s\\n",ReadLine);
printf("* Info : Association successful :-)\\n");
fake_auth_state=1;
strftime(m_strStats,32,"%H:%M:%S",timenow);
strcat(m_strStats," Association successful :-)\\n");
Stats_buff->insert(0,m_strStats);
break;
}
if(strstr(ReadLine,"Attack was unsuccessful."))
{
printf("%s\\n",ReadLine);
printf("* Info : Attack was unsuccessful.\\n");
strftime(m_strStats,32,"%H:%M:%S",timenow);
strcat(m_strStats," Attack was unsuccessful.\\n");
Stats_buff->insert(0,m_strStats);
Text_Display_Stats->textcolor(FL_RED);
KillProcess("2","airodump-ng","aireplay-ng","aircrack-ng","packetforge-ng","");
ResetState();
break;