Thanks
[1] https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_Ref...
if the program only doing it when requested by a remote source or some other more complex logic it's gonna be harder, you'll maybe need to reverse their communication protocol and inject network messages sent to the client to make it look like the server asked for that info. but if you reverse engineered the network protocol you don't need to listen to begin with.
so keep listen to the traffic for an extended period of time and look for suspicious activity.
A game is usually supposed to capture what buttons you press and, if it's an online game, send that over the internet, and so that would be perfectly fine as long as that's done while the game is running - so perhaps you're asking whether the game installs some malware that captures keystrokes outside of the game as well.
That would be generally detected by looking for various malware persistence mechanisms, seeing if there's something that's started on startup, possibly in a hidden way; or if there's some process that hides its activity. And if so, then you could check whether it was placed there by that game.
On the other hand, some of the anti-cheat mechanisms are so invasive that they effectively are far more capable than just a keylogger, and the game is quite open about placing them on your machine, e.g. requiring permissions to install it as a privileged driver.
But even if a game intercepts all key stroke, it may be because of normal gameplay.
there are a few games out there that have this reputation-- third-party-ran nostalgic MMO private servers are a big example. the only defense that makes much sense is to virtualize that software and keep it away from sensitive data.
This is tangential, but for all the flack Wayland gets compared to X11, it does at least provide some reassurance that a program can only easily keylog the stuff you enter into that program.
Many commercial antivirus have generic keylogger detection - they monitor OS keylogger APIs/drivers.
A virus checker. That would be at your level.
As others mention you could intercept network traffic and inspect it if you want to push yourself.
There are other things, it might be stored, so you could watch files and the rate they grow in size.
Detectors like this detect the most common ways of implementing key logging, but there may be other ways that they don’t detect.
In a way, unless you can prove the machine code running on your CPU is not doing key logging (which is separate from recoding those logs or transmitting those logs), and you can also prove that the code is not changing, you have no evidence that there is no keylogger.
I guess I’m being the change I wish to see..
The problem is to follow the focus of the windows and parse out relevant information to send because logging all presses will be to obvious if you read memory or disk.
The you need to encrypt the data before you send it over the network, this is probably why all modern anti-viruses block all native HTTP traffic.
The scary part is that the Windows API allows for a process to gather all keypresses even when the app window has lost focus?!
To answer the question, open the exe in any text editor and search for SetWindowsHookEx... if it's there you know that exe can listen to everything.
If you're producing something of perceived value, then you need to consider who might be interested in and what means or length they'll go through to get it. This practice is known as threat modeling and is the only meaningful way to get "security" without wasting resources.
When you threat model often, you come to realize almost all attackers are financially motivated and bound by market constraints, which means they're looking for the highest reward for the least amount of work; very few are looking to do anything else with your data other than to use it for quick monetary gain.
So? Let them eat cake. Leave a small amount of canary crypto-currency unprotected in your home directory. Set up a public ledger alert and if that currency is transfered, you know you've been compromised, by a keylogger or something else. It's very unlikely your keystrokes are worth any more than this.
I will defer to the rest of the comments for software as it is already being covered.
But how do you know if there is one installed?
Hooks are chained, so you can traverse the chain and enumerate them. This thread in Stack Overflow is about that. I haven't tried the solution, but seems legit :)
https://stackoverflow.com/questions/8564987/list-of-installe...
you must be VERY careful you havem't put the word(s) or links into anything that syncs or ends up someplace not e2e
this is harder if you don't have access to google search data, but i've been told google trends is your friend
i've caught some weird people this way.