В книгах,в google не нашёл .

Тема в разделе "WASM.BEGINNERS", создана пользователем sergun495, 18 окт 2011.

  1. sergun495

    sergun495 New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2011
    Сообщения:
    7
    Искал долго и упорно .
    Подскажите пожалуйста код отправки ФАЙЛА на почту(mail.ru и т.п.)
    masm32. Так как делает VBS -
    Уж Assembler то, это умеет делать.

    -----------------------------------------------------------------------------------
    ....................
    Call SendPost("smtp.mail.ru","post@mail.ru","vbs@mail.ru","Заголовок","Тема")
    Function SendPost(strSMTP_Server,strTo,strFrom,strSubject,strBody)
    Set iMsg=CreateObject("CDO.Message")
    Set iConf=CreateObject("CDO.Configuration")
    Set Flds=iConf.Fields
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")=1
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername")="vbs"
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword")="paroll"
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.mail.ru"
    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25
    Flds.Update
    iMsg.Configuration=iConf
    iMsg.To=strTo
    iMsg.From=strFrom
    iMsg.Subject=strSubject
    iMsg.TextBody=strBody
    iMsg.AddAttachment "C:\mslibd\file.exe")
    ....................
    --------------------------------------------
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    sergun495
    У тебя проблема в отправке почты или именно файла. Про почту на васме неоднократно спрашивали. По-моему месяц назад кто-то копал... Если именно файл, то на ассемблере придется тупо повторить заголовок и формат аттача - никакой магии.
    Если же ты из ассемблера через CDO собрался работать, то ищи названия API и работай. Не нашел ты потому, что не понимаешь смысла скрипта и веришь в силу ассемблера. Но для этого нужны знания - ассемблер сам по себе новичкам бесполезен. УВЫ!!!
     
  3. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    sergun495
    Твою задачу решать не с руки, но помочь надо.
    Вот пример как использовать твой любимый vbs и masm.
    Это своеобразный зипер.
    Код (Text):
    1. ;-----------------Start of code
    2. .586
    3. .model flat,stdcall
    4. option casemap:none
    5.  
    6. include \masm32\include\kernel32.inc
    7. include \masm32\include\user32.inc
    8. include \masm32\include\windows.inc
    9.  
    10. includelib \masm32\lib\kernel32.lib
    11. includelib \masm32\lib\user32.lib
    12.  
    13. .data
    14. vbs db  'Dim  oApp',13,10
    15.     db  'FileName = WScript.Arguments(0)',13,10
    16.     db  'ToBeZipped =WScript.Arguments(1)',13,10
    17.     db  'Set oApp = CreateObject("Shell.Application")',13,10
    18.     db  'oApp.NameSpace(FileName).CopyHere ToBeZipped',13,10
    19.     db  'Do Until oApp.NameSpace(FileName).items.Count = 1',13,10
    20.     db  'wScript.Sleep(100)',13,10,'Loop',13,10,0
    21.  
    22. zip_header db 80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    23. q_t db ' "',0
    24. command db "wscript zip.vbs",0
    25. vbs_file db "zip.vbs",0
    26. zip_file db "packed.zip",0
    27. slash db "\",0
    28.  
    29. .data?
    30. bwr dd ?
    31. buffer db 256 dup(?)
    32. buffer_ db 256 dup(?)
    33.  
    34. .code
    35. start:
    36.  
    37. invoke CreateFile,offset vbs_file,40000000h,0,0,2,0,0
    38. push eax
    39. invoke lstrlen,offset vbs
    40. mov edx,[esp]
    41. invoke WriteFile,edx,offset vbs,eax,offset bwr,0
    42. pop eax
    43. invoke CloseHandle,eax
    44.  
    45. invoke CreateFile,offset zip_file,40000000h,0,0,2,0,0
    46. push eax
    47. invoke WriteFile,eax,offset zip_header,22,offset bwr,0
    48. pop eax
    49. invoke CloseHandle,eax
    50.  
    51.  
    52. invoke lstrcat,offset buffer,offset command      ;lots of lstrcat() :/
    53. invoke lstrcat,offset buffer,offset q_t
    54. invoke GetCurrentDirectory,256,offset buffer_
    55. invoke lstrcat,offset buffer_,offset slash
    56. invoke lstrcat,offset buffer_,offset zip_file
    57. invoke lstrcat,offset buffer,offset buffer_
    58. invoke lstrcat,offset buffer,offset q_t
    59. invoke lstrcat,offset buffer,offset q_t
    60. invoke RtlZeroMemory,offset buffer_,256
    61. invoke GetModuleFileName,0,offset buffer_,256
    62. invoke lstrcat,offset buffer,offset buffer_
    63. invoke lstrcat,offset buffer,offset q_t
    64.  
    65. invoke WinExec,offset buffer,0
    66. invoke Sleep,1000               ;time for the script to start
    67. invoke DeleteFile,offset vbs_file
    68. invoke MessageBox,0,offset zip_header,offset buffer,0
    69.  
    70.  
    71.  
    72. exit:
    73. invoke ExitProcess,0
    74. end start
    Если тут разберешься то ощутишь силу ))

    Но valterg в целом прав, прислушайся.
     
  4. sergun495

    sergun495 New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2011
    Сообщения:
    7
    Спасибо большое !
    Может меня не правильно поняли.Но мне надо другое.
    Простая прога(код программы asm)которая отправляет ФАЙЛ с моего диска (c:\file.exe) на почту.
    Все данные в коде.С какой почты отправляем, на какую получаем.С авторизацией.
    Только код отправки, файла с одной почты на другую. Без скриптов ---один ASM.
    Ещё раз Спасибо Всем.
    site:www.wasm.ru "отправка файла"
    Примерно то что нужно ----------> http://www.wasm.ru/article.php?article=simplesmtp
     
  5. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland