-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Conversation
Merge with most recent branch
Should resolve #95
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 documentation for the two properties of the Keylogger.
AttributeTarget can now correctly apply to Keylogger Keys.
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.
Made a small attribute to support the power and beauty of extension methods in .NET 2.0! :)
Fixed null check for the stored key loop in the key buffer and renamed a method so it is more clear.
Very nice work. This looks very nice.
Added attributes
added special key attributes
Added Attributes
Implemented the new way of adding a key to log when the timerLogKeys elapses.
If the timerEmptyKeyBuffer elapsed at a bad time or state, or if it was unable to 1) Append data to _logFileBuffer or 2) Was unable to successfully remove the entry from _keyBuffer
Now we can see this thing in action! Needs one more commit to handle the special keys again and to detect when a toggle key is toggled. I can't remember how to represent 0x80 as a byte! :(
Forgot to add changes to this file!
Many more changes. Still has things to work out but there is much more to work with and many more possibilities.
I see that you have a lot of work to do |
Hehe... Yeah, it is quite a lot of work, but might as implement a new and big feature correctly to make it easier for future changes and modifications! :) |
Created the new branch |
Good work @yankejustin, I'm making some changes to this to get the toggle/down keys to work correctly. One thing I've noticed is that keys are sometimes logged multiple times just pressing the key once, maybe you could have some insight on why this is happening. Also, currently, every key is being treated like a special key (being highlighted) |
@d3agle Thank you! :) |
Another priority is the interface, but we (of course) need the output to be accurate and correctly formatted. :) |
@MaxXor Can my fork be deleted without affecting your branch? I should have used a different branch instead of my fork's master branch to work on the keylogger... :P |
@yankejustin yes. :) it's safe to delete. |
Okay, good. Thank you! |
I hate to say this, but I don't think that this key logger is going to work, as far as accuracy and efficiency. I've done a lot of research on GetAsyncKeystate and it doesn't appear that this method contains enough information to have accurate control on what we are trying to accomplish. Initially, I wanted to avoid global keyboard hooks when I was looking into this method, but considering there would be a lot more control over the accuracy and efficiency of recording keystrokes (filtering system messages), I think that using a keyboard hook might be a more viable option. |
Yeah, I agree. Throughout my extensive research on all hookless methods to do this, I have consistently seen horribly poor documentation by Microsoft, inconsistent behavior with the methods provided, and just simply incorrect behavior that seems to be experienced by others as well. It feels that, even if done correctly, this is going to end up being one hacky fix after another in order to implement a functioning and accurate keylogger. |
@MaxXor We need your input on this. I have been doing more research in my free-time (about to work on some open issues soon), and I have also come to the conclusion that using a keyboard hook would be far better of a solution due to the unpredictable and poorly-understood GetAsyncKeystate |
I think we should try out using a keyboard hook. :) Let's see how this is working. |
I am going to close this pull request because most of it is already in the "dev" branch. I will be committing new changes so we are using a keyboard hook instead of GetAsyncKeystate and I will create another pull request once the new way is up. :) |
Alright! |
Hi!
Here is the re-written keylogger!
@MaxXor Please make a separate branch for this because there are a few more things that should be either fixed, added, or modified with this keylogger before it should be added to the main branch. Please see Upcoming and To-Do.
Features
Upcoming (before merging)
To-Do