Rev 3545 | Rev 3618 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3545 | Rev 3601 | ||
---|---|---|---|
Line 20... | Line 20... | ||
20 | 20 | ||
21 | db 'MENUET01' ; 8 byte id |
21 | db 'MENUET01' ; 8 byte id |
22 | dd 0x01 ; header version |
22 | dd 0x01 ; header version |
23 | dd START ; start of code |
23 | dd START ; start of code |
24 | dd I_END ; size of image |
24 | dd I_END ; size of image |
25 | dd (I_END+0x100) ; memory for app |
25 | dd (I_END+0x1000) ; memory for app |
26 | dd (I_END+0x100) ; esp |
26 | dd (I_END+0x1000) ; esp |
Line 27... | Line 27... | ||
27 | dd I_PARAM , 0x0 ; I_Param , I_Icon |
27 | dd 0, 0 ; I_Param , I_Path |
28 | 28 | ||
Line 29... | Line 29... | ||
29 | include '..\macros.inc' |
29 | include '..\macros.inc' |
Line 36... | Line 36... | ||
36 | mcall 12, 1 |
36 | mcall 12, 1 |
37 | mcall 0, 100 shl 16 + 600, 100 shl 16 + 240, 0x34bcbcbc, , name ; draw window |
37 | mcall 0, 100 shl 16 + 600, 100 shl 16 + 240, 0x34bcbcbc, , name ; draw window |
Line 38... | Line 38... | ||
38 | 38 | ||
Line -... | Line 39... | ||
- | 39 | call draw_interfaces |
|
- | 40 | ||
- | 41 | xor ebx, ebx |
|
- | 42 | mov bh, [device] |
|
- | 43 | mcall 74 |
|
39 | call draw_interfaces |
44 | mov [device_type], eax |
40 | 45 | ||
41 | mov edx, 101 |
46 | mov edx, 101 |
Line 42... | Line 47... | ||
42 | mov esi, 0x00aaaaff |
47 | mov esi, 0x00aaaaff |
43 | mov edi, 0x00aaffff |
48 | mov edi, 0x00aaffff |
44 | 49 | ||
45 | cmp dl, [mode] |
- | |
46 | cmove esi, edi |
50 | cmp dl, [mode] |
47 | mcall 8, 25 shl 16 + 65, 25 shl 16 + 20 |
51 | cmove esi, edi |
48 | 52 | mcall 8, 5 shl 16 + 55, 5 shl 16 + 20 |
|
49 | .morebuttons: |
53 | .morebuttons: |
Line 50... | Line 54... | ||
50 | inc edx |
54 | inc edx |
51 | add ebx, 75 shl 16 |
55 | add ebx, 60 shl 16 |
52 | mov esi, 0x00aaaaff |
56 | mov esi, 0x00aaaaff |
Line 53... | Line 57... | ||
53 | 57 | ||
54 | cmp dl, [mode] |
58 | cmp dl, [mode] |
Line 55... | Line 59... | ||
55 | cmove esi, edi |
59 | cmove esi, edi |
Line 56... | Line 60... | ||
56 | mcall |
60 | mcall |
57 | 61 | ||
Line 58... | Line 62... | ||
58 | cmp edx, 105 |
62 | cmp edx, 105 |
59 | jle .morebuttons |
63 | jle .morebuttons |
60 | 64 | ||
61 | mcall 4, 28 shl 16 + 31, 0x80000000, modes |
65 | mcall 4, 8 shl 16 + 11, 0x80000000, modes |
62 | 66 | ||
63 | cmp [mode], 101 |
67 | cmp [mode], 101 |
64 | jne .no_eth |
68 | jne .no_eth |
65 | 69 | ||
66 | mcall 4, 20 shl 16 + 75, 0x80000000, str_packets_tx |
70 | mcall 4, 8 shl 16 + 35, 0x80000000, str_packets_tx |
67 | add ebx, 18 |
71 | add ebx, 18 |
68 | mov edx, str_packets_rx |
72 | mov edx, str_packets_rx |
69 | mcall |
73 | mcall |
70 | add ebx, 18 |
74 | add ebx, 18 |
- | 75 | mov edx, str_bytes_tx |
|
- | 76 | mcall |
|
- | 77 | add ebx, 18 |
|
- | 78 | mov edx, str_bytes_rx |
|
71 | mov edx, str_bytes_tx |
79 | mcall |
72 | mcall |
80 | add ebx, 18 |
73 | add ebx, 18 |
81 | mov edx, str_link |
Line 74... | Line 82... | ||
74 | mov edx, str_bytes_rx |
82 | mcall |
75 | mcall |
83 | |
76 | add ebx, 18 |
84 | cmp [device_type], 1 |
77 | mov edx, str_MAC |
85 | jne end_of_draw |
78 | mcall |
86 | |
Line 79... | Line 87... | ||
79 | add ebx, 18 |
87 | add ebx, 18 |
80 | mov edx, str_link |
88 | mov edx, str_MAC |
81 | mcall |
89 | mcall |
Line 82... | Line 90... | ||
82 | 90 | ||
Line 83... | Line 91... | ||
83 | mov ebx, API_ETH + 4 |
91 | mov ebx, API_ETH |
84 | mov bh, [device] |
92 | mov bh, [device] |
Line 85... | Line 93... | ||
85 | mcall 76 |
93 | mcall 76 |
86 | push eax |
94 | push eax |
87 | push bx |
95 | push bx |
88 | 96 | ||
89 | mov edx, 135 shl 16 + 75 + 4*18 |
97 | mov edx, 135 shl 16 + 35 + 5*18 |
90 | call draw_mac |
98 | call draw_mac |
Line 131... | Line 139... | ||
131 | dec bl |
139 | dec bl |
132 | dec bl |
140 | dec bl |
133 | mcall 76 |
141 | mcall 76 |
134 | push eax |
142 | push eax |
Line 135... | Line 143... | ||
135 | 143 | ||
136 | mov edx, 135 shl 16 + 75 + 2*18 |
144 | mov edx, 135 shl 16 + 35 + 2*18 |
Line 137... | Line 145... | ||
137 | call draw_ip |
145 | call draw_ip |
138 | 146 | ||
Line 150... | Line 158... | ||
150 | .no_ip: |
158 | .no_ip: |
Line 151... | Line 159... | ||
151 | 159 | ||
152 | cmp [mode], 103 |
160 | cmp [mode], 103 |
Line 153... | Line 161... | ||
153 | jne .no_arp |
161 | jne .no_arp |
154 | 162 | ||
155 | mcall 4, 20 shl 16 + 75, 0x80000000, str_packets_tx |
163 | mcall 4, 8 shl 16 + 35, 0x80000000, str_packets_tx |
156 | add ebx, 18 |
164 | add ebx, 18 |
157 | mov edx, str_packets_rx |
165 | mov edx, str_packets_rx |
158 | mcall |
166 | mcall |
159 | add ebx, 18 |
167 | add ebx, 18 |
160 | mov edx, str_arp |
168 | mov edx, str_arp |
161 | mcall |
169 | mcall |
162 | add ebx, 18 |
170 | add ebx, 18 |
Line -... | Line 171... | ||
- | 171 | mov edx, str_conflicts |
|
- | 172 | mcall |
|
163 | mov edx, str_conflicts |
173 | |
Line 164... | Line 174... | ||
164 | mcall |
174 | mcall 4, 8 shl 16 + 130, 0x80000000, str_ARP_legend |
Line 165... | Line 175... | ||
165 | 175 | ||
Line 166... | Line 176... | ||
166 | jmp end_of_draw |
176 | jmp end_of_draw |
167 | 177 | ||
168 | .no_arp: |
178 | .no_arp: |
Line 194... | Line 204... | ||
194 | cmp [mode], 101 |
204 | cmp [mode], 101 |
195 | jne not_101 |
205 | jne not_101 |
Line 196... | Line 206... | ||
196 | 206 | ||
197 | mov ebx, API_ETH |
207 | mov ebx, API_ETH |
- | 208 | mov bh, [device] |
|
198 | mov bh, [device] |
209 | mov bl, 6 |
199 | @@: |
210 | @@: |
200 | push ebx |
211 | push ebx |
201 | mcall 76 |
212 | mcall 74 |
202 | pop ebx |
213 | pop ebx |
203 | push eax |
214 | push eax |
204 | inc bl |
215 | inc bl |
205 | cmp bl, 3 |
216 | cmp bl, 10 |
206 | jbe @r |
- | |
207 | inc bl |
- | |
208 | mcall 76 |
- | |
Line 209... | Line 217... | ||
209 | push eax |
217 | jbe @r |
210 | 218 | ||
211 | mov ebx, 0x000a0000 |
219 | mov ebx, 0x000a0000 |
212 | pop ecx |
220 | pop ecx |
213 | mov edx, 135 shl 16 + 75 + 5*18 |
221 | mov edx, 135 shl 16 + 35 + 4*18 |
214 | mov esi, 0x40000000 |
222 | mov esi, 0x40000000 |
Line 215... | Line 223... | ||
215 | mov edi, 0x00bcbcbc |
223 | mov edi, 0x00bcbcbc |
216 | mcall 47 |
224 | mcall 47 |
217 | 225 | ||
Line 218... | Line 226... | ||
218 | sub edx, 18*2 |
226 | sub edx, 18 |
219 | pop ecx |
227 | pop ecx |
Line 253... | Line 261... | ||
253 | push eax |
261 | push eax |
Line 254... | Line 262... | ||
254 | 262 | ||
255 | 263 | ||
256 | mov ebx, 0x000a0000 |
264 | mov ebx, 0x000a0000 |
257 | pop ecx |
265 | pop ecx |
258 | mov edx, 135 shl 16 + 75 + 18 |
266 | mov edx, 135 shl 16 + 35 + 18 |
259 | mov esi, 0x40000000 |
267 | mov esi, 0x40000000 |
Line 260... | Line 268... | ||
260 | mov edi, 0x00bcbcbc |
268 | mov edi, 0x00bcbcbc |
Line 297... | Line 305... | ||
297 | pop ebx |
305 | pop ebx |
298 | push eax |
306 | push eax |
Line 299... | Line 307... | ||
299 | 307 | ||
300 | mov ebx, 0x000a0000 |
308 | mov ebx, 0x000a0000 |
301 | pop ecx |
309 | pop ecx |
302 | mov edx, 135 shl 16 + 75 + 3*18 |
310 | mov edx, 135 shl 16 + 35 + 3*18 |
303 | mov esi, 0x40000000 |
311 | mov esi, 0x40000000 |
304 | mov edi, 0x00bcbcbc |
312 | mov edi, 0x00bcbcbc |
Line 305... | Line 313... | ||
305 | mcall 47 |
313 | mcall 47 |
Line 314... | Line 322... | ||
314 | 322 | ||
315 | sub edx, 18 |
323 | sub edx, 18 |
316 | pop ecx |
324 | pop ecx |
Line -... | Line 325... | ||
- | 325 | mcall |
|
- | 326 | ||
- | 327 | ||
- | 328 | ||
- | 329 | mov edx, 50 shl 16 + 150 |
|
- | 330 | mov [last], 0 |
|
- | 331 | ||
- | 332 | .arp_loop: |
|
- | 333 | mov ebx, API_ARP + 3 |
|
- | 334 | mov bh, [device] |
|
317 | mcall |
335 | mcall 76, , [last],,, arp_buf |
- | 336 | cmp eax, -1 |
|
- | 337 | je mainloop |
|
- | 338 | ||
- | 339 | mcall 4, 20 shl 16 + 140, 0x80000000, str_ARP_entry |
|
- | 340 | mov edx, ebx |
|
- | 341 | ||
- | 342 | mov eax, 47 |
|
- | 343 | mov ebx, 0x00030000 |
|
- | 344 | mov esi, 0x40000000 |
|
- | 345 | mov edi, 0x00bcbcbc |
|
- | 346 | xor ecx, ecx |
|
- | 347 | ||
- | 348 | mov cl, byte[arp_buf.IP+0] |
|
- | 349 | mcall |
|
- | 350 | ||
- | 351 | mov cl, byte[arp_buf.IP+1] |
|
- | 352 | add edx, 24 shl 16 |
|
- | 353 | mcall |
|
- | 354 | ||
- | 355 | mov cl, byte[arp_buf.IP+2] |
|
- | 356 | add edx, 24 shl 16 |
|
- | 357 | mcall |
|
- | 358 | ||
- | 359 | mov cl, byte[arp_buf.IP+3] |
|
- | 360 | add edx, 24 shl 16 |
|
- | 361 | mcall |
|
- | 362 | ||
- | 363 | ||
- | 364 | mov ebx, 0x00020100 |
|
- | 365 | mov cl, byte[arp_buf.MAC+0] |
|
- | 366 | add edx, 36 shl 16 |
|
- | 367 | mcall |
|
- | 368 | ||
- | 369 | mov cl, byte[arp_buf.MAC+1] |
|
- | 370 | add edx, 18 shl 16 |
|
- | 371 | mcall |
|
- | 372 | ||
- | 373 | mov cl, byte[arp_buf.MAC+2] |
|
- | 374 | add edx, 18 shl 16 |
|
- | 375 | mcall |
|
- | 376 | ||
- | 377 | mov cl, byte[arp_buf.MAC+3] |
|
- | 378 | add edx, 18 shl 16 |
|
- | 379 | mcall |
|
- | 380 | ||
- | 381 | mov cl, byte[arp_buf.MAC+4] |
|
- | 382 | add edx, 18 shl 16 |
|
- | 383 | mcall |
|
- | 384 | ||
- | 385 | mov cl, byte[arp_buf.MAC+5] |
|
- | 386 | add edx, 18 shl 16 |
|
- | 387 | mcall |
|
- | 388 | ||
- | 389 | mov ebx, 0x00040000 |
|
- | 390 | mov cx, [arp_buf.status] |
|
- | 391 | add edx, 30 shl 16 |
|
- | 392 | mcall |
|
- | 393 | ||
- | 394 | mov cx, [arp_buf.TTL] |
|
- | 395 | add edx, 60 shl 16 |
|
- | 396 | mcall |
|
- | 397 | ||
- | 398 | add dx, 18 |
|
- | 399 | rol edx, 16 |
|
- | 400 | mov dx, 8 |
|
- | 401 | rol edx, 16 |
|
- | 402 | inc [last] |
|
Line 318... | Line 403... | ||
318 | 403 | ||
Line 319... | Line 404... | ||
319 | jmp mainloop |
404 | jmp .arp_loop |
320 | 405 | ||
Line 336... | Line 421... | ||
336 | pop ebx |
421 | pop ebx |
337 | push eax |
422 | push eax |
Line 338... | Line 423... | ||
338 | 423 | ||
339 | mov ebx, 0x000a0000 |
424 | mov ebx, 0x000a0000 |
340 | pop ecx |
425 | pop ecx |
341 | mov edx, 135 shl 16 + 75 + 18 |
426 | mov edx, 135 shl 16 + 35 + 18 |
342 | mov esi, 0x40000000 |
427 | mov esi, 0x40000000 |
343 | mov edi, 0x00bcbcbc |
428 | mov edi, 0x00bcbcbc |
Line 344... | Line 429... | ||
344 | mcall 47 |
429 | mcall 47 |
Line 367... | Line 452... | ||
367 | pop ebx |
452 | pop ebx |
368 | push eax |
453 | push eax |
Line 369... | Line 454... | ||
369 | 454 | ||
370 | mov ebx, 0x000a0000 |
455 | mov ebx, 0x000a0000 |
371 | pop ecx |
456 | pop ecx |
372 | mov edx, 135 shl 16 + 75 + 18 |
457 | mov edx, 135 shl 16 + 35 + 18 |
373 | mov esi, 0x40000000 |
458 | mov esi, 0x40000000 |
374 | mov edi, 0x00bcbcbc |
459 | mov edi, 0x00bcbcbc |
Line 375... | Line 460... | ||
375 | mcall 47 |
460 | mcall 47 |
Line 410... | Line 495... | ||
410 | pop ebx |
495 | pop ebx |
411 | push eax |
496 | push eax |
Line 412... | Line 497... | ||
412 | 497 | ||
413 | mov ebx, 0x000a0000 |
498 | mov ebx, 0x000a0000 |
414 | pop ecx |
499 | pop ecx |
415 | mov edx, 135 shl 16 + 75 + 18*3 |
500 | mov edx, 135 shl 16 + 35 + 18*3 |
416 | mov esi, 0x40000000 |
501 | mov esi, 0x40000000 |
417 | mov edi, 0x00bcbcbc |
502 | mov edi, 0x00bcbcbc |
Line 418... | Line 503... | ||
418 | mcall 47 |
503 | mcall 47 |
Line 528... | Line 613... | ||
528 | ret 4 |
613 | ret 4 |
Line 529... | Line 614... | ||
529 | 614 | ||
Line 530... | Line 615... | ||
530 | 615 | ||
531 | draw_interfaces: |
616 | draw_interfaces: |
Line 532... | Line 617... | ||
532 | 617 | ||
533 | mov [.btnpos], 8 shl 16 + 20 |
618 | mov [.btnpos], 5 shl 16 + 20 |
Line 534... | Line 619... | ||
534 | mov [.txtpos], 490 shl 16 + 15 |
619 | mov [.txtpos], 455 shl 16 + 12 |
535 | 620 | ||
536 | mcall 74, -1 ; get number of active network devices |
621 | mcall 74, -1 ; get number of active network devices |
537 | mov ecx, eax |
622 | mov ecx, eax |
538 | 623 | ||
539 | xor ebx, ebx ; get device type |
624 | xor ebx, ebx ; get device type |
540 | .loop: |
625 | .loop: |
541 | mcall 74 |
626 | mcall 74 |
Line 551... | Line 636... | ||
551 | movzx edx, bh |
636 | movzx edx, bh |
552 | shl edx, 8 |
637 | shl edx, 8 |
553 | mov esi, 0x00aaaaff |
638 | mov esi, 0x00aaaaff |
554 | cmp bh, [device] |
639 | cmp bh, [device] |
555 | cmove esi, 0x00aaffff |
640 | cmove esi, 0x00aaffff |
556 | mcall 8, 485 shl 16 + 100, [.btnpos] |
641 | mcall 8, 450 shl 16 + 135, [.btnpos] |
557 | mov ebx, [esp] |
642 | mov ebx, [esp] |
558 | inc bl |
643 | inc bl |
559 | mov ecx, namebuf |
644 | mov ecx, namebuf |
560 | mov edx, namebuf |
645 | mov edx, namebuf |
561 | mcall 74 ; get device name |
646 | mcall 74 ; get device name |
Line 585... | Line 670... | ||
585 | ; DATA AREA |
670 | ; DATA AREA |
Line 586... | Line 671... | ||
586 | 671 | ||
587 | name db 'Netstat', 0 |
672 | name db 'Netstat', 0 |
588 | mode db 101 |
673 | mode db 101 |
- | 674 | device db 0 |
|
- | 675 | device_type dd 0 |
|
589 | device db 0 |
676 | last dd 0 |
Line 590... | Line 677... | ||
590 | modes db 'Ethernet IPv4 ARP ICMP UDP TCP', 0 |
677 | modes db 'Physical IPv4 ARP ICMP UDP TCP', 0 |
591 | 678 | ||
592 | str_packets_tx db 'Packets sent:', 0 |
679 | str_packets_tx db 'Packets sent:', 0 |
593 | str_packets_rx db 'Packets received:', 0 |
680 | str_packets_rx db 'Packets received:', 0 |
Line 603... | Line 690... | ||
603 | str_unknown db 'unknown', 0 |
690 | str_unknown db 'unknown', 0 |
604 | str_missed db 'Packets missed:',0 |
691 | str_missed db 'Packets missed:',0 |
605 | str_dumped db 'Packets dumped:',0 |
692 | str_dumped db 'Packets dumped:',0 |
606 | str_link db 'Link state:',0 |
693 | str_link db 'Link state:',0 |
Line 607... | Line 694... | ||
607 | 694 | ||
- | 695 | str_ARP_legend db 'IP-address MAC-address Status TTL', 0 |
|
Line 608... | Line 696... | ||
608 | namebuf rb 64 |
696 | str_ARP_entry db ' . . . - - - - - s', 0 |
- | 697 | ||
Line 609... | Line 698... | ||
609 | 698 | namebuf rb 64 |