;+--------------------------------------------------------------------------+; ;| NetBios Example (c)1998 Prove It 2000 |; ;| =============== ===================== |; ;| |; ;+--------------------------------------------------------------------------+; .386p ; 386 Proccessor or above locals jumps .model flat, STDCALL L equ extrn Netbios:PROC, ExitProcess:PROC extrn MessageBoxA:PROC ;============================================================================; .data pncb db 33h ; Command db 0 ; Ret Code db 69h ; lsn db 0 ; num dd offset buff1 ; -> Buffer dw 256 ; length db '*', 15 dup(0) ; callname db 16 dup(0) ; name db 0 ; rto db 0 ; sto db 0 ; lana_num db 0 ; cmd_cplt db 10 dup(0) ; reserve dd 0 ; handle db 256 dup(0) buff1 db 256 dup(0) msga db 'SyStEm InFo (c)1998 Jimmy Moore', 0 msg0 db 'The Hardware Address of this PC is: ' msg1 db 'xx-' msg2 db 'xx-' msg3 db 'xx-' msg4 db 'xx-' msg5 db 'xx-' msg6 db 'xx', 0 hextab db '0123456789ABCDEF' .code start: push L offset pncb call Netbios mov al, byte ptr [offset buff1] mov edi, offset msg1 call putal mov al, byte ptr [offset buff1 + 1] mov edi, offset msg2 call putal mov al, byte ptr [offset buff1 + 2] mov edi, offset msg3 call putal mov al, byte ptr [offset buff1 + 3] mov edi, offset msg4 call putal mov al, byte ptr [offset buff1 + 4] mov edi, offset msg5 call putal mov al, byte ptr [offset buff1 + 5] mov edi, offset msg6 call putal push L 0 push L offset msga push L offset msg0 push L 0 call MessageBoxA push L 0 call ExitProcess ;============================================================================; putal proc mov ebx, eax shr ebx, 4 and ebx, 0fh mov bl, byte ptr [offset hextab + ebx] mov byte ptr [edi], bl mov ebx, eax and ebx, 0fh mov bl, byte ptr [offset hextab + ebx] mov byte ptr [edi + 1], bl ret putal endp ;============================================================================; ends end start