NoBlockInput hooks the call to BlockInput() from remote desktop software (RDS) to block the application from being able to block physical mouse and keyboard input as well as SendInput() to block any input from the remote side.
- RDS can be rendered unable to block physical keyboard and mouse input on the remote side. This can be toggled on/off at any time via the registry.
- RDS can be rendered unable to send any keyboard and mouse input. This can be toggled on/off at any time.
- Both 32-bit and 64 bit processes can be hooked.1
- BlockInput() and SendInput() can be blocked for any arbitrary process, though only RDS is tested.
- Processes in the configuration are monitored and will be hooked on start and unhooked on exit. All such processes will be unhooked when the program is closed via Ctrl-C.2
- The build script supports changing the binary manifest information to show any arbitrary name in the file properties and the name the name that is shown in Task Manager.3
- The program logs to both the terminal4 and optionally to file at a configurable location.
- Configuration of random allowance of remote input to annoy the scammer.
- Removal or even configurable opacity of any privacy screen used by RDS. (Issue #11).
Please feel free to comment on any issue and add a thumbs up emoji to the initial post if you'd like to have it prioritized. Enhancement requests and bug reports are also very welcome.
See the wiki for a guide to getting started and configuration.
This tool aims to have support for most RDS, but there are some that either have compatiblity issues or are untested. See issue #9 and the compatibility wiki page for progress of testing and compatibility fixes.
"Moo" in the name comes from an inside joke among Scam Fight Club members based on the fact that we like to get scammers to moo.
If you've used this tool, send me a DM on Discord or ping me in a shared server with the scammer's reaction, preferably a video. I would love to see it in action.
Notes
Footnotes
-
There are separate program binaries and separate configuration entries for each bitness. ↩
-
Processes cannot be unhooked if the program is terminated unexpectedly and must be restarted in order to run unhooked. See the getting started guide for important information on release builds. ↩
-
If the DLL names do not match their respective injector names, their names must be specified in the configuration. ↩
-
Only debug builds will write logging information to the terminal in order to prevent showing a console window in release builds. ↩