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
| .data
serveur db "smtp.mail.yahoo.com",0
TitreErreur db "Erreur",0
eIpNonTrouve db "l'ip n'a pa été trouve",0
Einitialisation db "Erreur lors de l'initialisation",0
Esocket db "Erreur lors de la création du socket",0
Econnect db "Erreur lors de la conncion",0
Mconect db "Conecté",0
Ecom db "Probleme de comunication",0
TitreMarche db "Marche",0
ESendFrom db "Erreur lors de l'envoie de l'adresse de source",0
hello db "EHLO test.test",10,13 ;12
from db "MAIL FROM: <a href="mailto:testing@hotmail.com">testing@hotmail.com</a>",13,10 ;30
to db "RCPT TO: <a href="mailto:testing@yahoo.com">testing@yahoo.com</a>",13,10 ;26
mes db "msg",13,10
coupe db ".",13,10
sujet db "Subject: test",13,10
DataMessage db "DATA",13,10 ;4
Quiter db "QUIT",13,10;4
P_hostent_struct dd 0
IdentSocket dd 0
bufer db 255 dup(0)
reponce db 1024 dup(0)
wsaData WSADATA <?>
sockAddr sockaddr_in <?>
.code
start:
invoke WSAStartup,202h, addr wsaData
test eax,eax
jz initialise
invoke MessageBox,NULL,addr Einitialisation,addr TitreErreur,MB_OK
jmp fin
initialise:
invoke gethostbyname, addr serveur
test eax,eax
jnz ip_trouve
invoke MessageBox,NULL,addr eIpNonTrouve,addr TitreErreur,MB_OK
jmp cleanup
ip_trouve:
mov eax, [(hostent ptr [eax]).h_list]
mov eax, [eax]
mov eax, [eax]
mov cx,465
xchg cl,ch
mov in_addr ptr[sockAddr.sin_addr.S_un.S_addr],eax
mov word ptr[sockAddr.sin_port],cx
mov word ptr[sockAddr.sin_family],AF_INET
invoke socket, AF_INET, SOCK_STREAM, IPPROTO_TCP
test eax,eax
jnz SocketCree
invoke MessageBox,NULL,addr Esocket,addr TitreErreur,MB_OK
jmp cleanup
SocketCree:
mov dword ptr[IdentSocket],eax
invoke connect,dword ptr[IdentSocket],addr sockAddr, sizeof sockAddr
test eax,eax
jz SeConnect
invoke MessageBox,NULL,addr Econnect,addr TitreErreur,MB_OK
jmp cleanup
SeConnect:
;;;;;;;;;;;;;;;;;;;;;;;;Les problemes commencent ici;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
invoke recv,dword ptr[IdentSocket],addr reponce,1024,0
invoke send,dword ptr[IdentSocket],addr hello,16,0
invoke recv,dword ptr[IdentSocket],addr reponce,1024,0
invoke send,dword ptr[IdentSocket],addr from,32,0
invoke recv,dword ptr[IdentSocket],addr reponce,100,0
invoke send,dword ptr[IdentSocket],addr to,28,0
invoke recv,dword ptr[IdentSocket],addr reponce,100,0
invoke send,dword ptr[IdentSocket],addr DataMessage,6,0
invoke send,dword ptr[IdentSocket],addr mes,3,0
invoke send,dword ptr[IdentSocket],addr Quiter,4,0
fermesocket:
invoke closesocket,dword ptr[IdentSocket]
cleanup:
invoke WSACleanup
fin:
invoke ExitProcess,0
end start |
Partager