Added the second and likely last of the big changes and additions to the
Keylogger. The core design of it is much more clear than the initial
changes commit. Though not yet functional (last of it has to be
implemented, as seen by the small commented-out portions), it is nearing
completion. With this new design, it is significantly more scalable.
With these changes also comes another huge factor: modifications. This
new system allows easy feature additions and modifications, such as
filtering out specific keys to log dynamically in a natural manner.
Big changes to the Keylogger. Still needs lots of changes but my intent
should be visible by these changes. This is now very flexible, easy to
change and add keys, etc.
Added a small amount of documentation for the Logger's constructor, and
set the interval to flush the contents of the file to a lower amount (30
seconds was far too slow).
Added 'else' clauses instead of only 'if' statements.
Decisions would be evaluated, but they would go under eachother. This
means that pressing ctrl+shift+alt+a would write something like:
'[SHIFT-CTRL-ALT-A]A' instead of '[SHIFT-CTRL-ALT-A]' .
removed f1-f11 keys since they are not handled
moved calling the keyboard layout to FromKeys method when a key is
handled so its not being called every 10ms
Fixes two issues of the client when trying to start an invalid process.
1) Client will no longer try to use a null or empty string for the new
Process' FileName.
2) If, for any reason, the process can not start correctly, it will no
longer cause the Client to crash.
Improved a decision; checks if the length is greater than 0 before
writing instead of converting the StringBuilder to a string then
checking the string.
Used a StringBuilder instead of a normal string as the key buffer to
drastically improve the performance. Having a string as the key buffer
would mean that every single addition would be exponentially slower.