Listlan

Contenu du snippet

liste les ordinateur d'un reseau local avec une IP de type 192.168.?.?
sortie vers console.

attention, c'est tres long

Source / Exemple :


.386
.model flat,stdcall
option casemap:none

include \inc\windows.inc

include \inc\user32.inc
include \inc\kernel32.inc
include \inc\ws2_32.inc

includelib \lib\user32.lib
includelib \lib\kernel32.lib
includelib \lib\ws2_32.lib

@   	equ 	<OFFSET>
pb      equ     <BYTE PTR>
pw      equ     <WORD PTR>
pd      equ     <DWORD PTR>
pf      equ     <FWORD PTR>

;**************************************************************************
.data
;**************************************************************************
ddip		dd	0000A8C0h
endOK		db	"la liste des utilisateurs est terminée",0
fmtPing		db	"%s:%s",13,10,0

;**************************************************************************
.data?
;**************************************************************************
hCon		dd		?
ddwritten	dd		?
wsadata		WSADATA	<>
ipbuff		db	16	dup(?)
sbuff		db 128	dup(?)

;**************************************************************************
.code
;**************************************************************************

start:
	invoke	WSAStartup,101h,@ wsadata
	and		eax,eax
	jne		@e1

	invoke	GetStdHandle,STD_OUTPUT_HANDLE
	cmp		eax,INVALID_HANDLE_VALUE
	mov		hCon,eax
	je		@e2

@@:
	add		ddip,1000000h
	cmp		ddip,0FF00A8C0h
	je		@END

	invoke	gethostbyaddr,@ ddip,4,AF_INET
	and		eax,eax
	je		@B

	push	eax
	invoke	inet_ntoa,ddip
	pop		ecx

	sub		esp,1024
	mov		edx,esp
	invoke	wsprintf,edx,@ fmtPing,eax,pd[ecx]
	mov		edx,esp
	invoke	WriteConsole,hCon,edx,eax,@ ddwritten,0
	add		esp,1024
	jmp		@B

@END:
	invoke	MessageBox,0,@ endOK,0,MB_OK
	invoke	ExitProcess,0

@eA:
	pop		eax
	invoke	MessageBox,0,eax,0,MB_OK
	invoke	ExitProcess,-1

@e1:
	call	@eA
	db		"erreur WSAStartup",0
@e2:
	call	@eA
	db		"erreur handle console",0

end start

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.