Skip to content

Configuration

RobotsOnDrugs edited this page May 29, 2024 · 9 revisions

Configuration

Configuration is handled in the registry. Registry entry files with the defaults are provided for each architecture.
TOML file configuration has been deprecated and support for it has been removed in v0.8.0.

The hook state options will take effect immediately while the DLL is injected. Changes to the other options will not take effect until the injector is restarted.

Very important: if input is already blocked, it cannot be unblocked. However, once the responsible program releases the block, it can be prevented from blocking input again. Terminating the responsible process or pressing Ctrl-Alt-Del are ways to release the block if needed.

Locations

  • HKEY_LOCAL_MACHINE\SOFTWARE\Moo\NoBlockInput (64-bit injector/DLL)
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Moo\NoBlockInput (32-bit injector/DLL)

Toggling the BlockInput and SendInput hooks via PowerShell at runtime:

Set-ItemProperty HKLM:\SOFTWARE\Moo\NoBlockInput -Name BlockInputHookEnabled -Value 1
Set-ItemProperty HKLM:\SOFTWARE\WOW6432Node\Moo\NoBlockInput -Name BlockInputHookEnabled -Value 1

Set-ItemProperty HKLM:\SOFTWARE\Moo\NoBlockInput -Name SendInputHookEnabled -Value 1
Set-ItemProperty HKLM:\SOFTWARE\WOW6432Node\Moo\NoBlockInput -Name SendInputHookEnabled -Value 1

Options

Configuration option Registry value name/type Default Note
Enable the BlockInput hook BlockInputHookEnabled / REG_DWORD 1 0 to disable the hook; all other values to enable it. Changes take effect immediately.
Enable the SendInput hook SendInputHookEnabled / REG_DWORD 1 0 to disable the hook; all other values to enable it. Changes take effect immediately.
Names of the processes to inject into Processes / REG_MULTI_SZ (see note) All officially supported processes are included in the default lists. If empty, the program will not run.
Name of the ETW trace TraceName / REG_SZ (see note) If empty, defaults to NoBlockInput for x64 and NoBlockInput_x86 for x86. It is not recommended to change this unless you have some very special need and my be removed in the future.
Name of the hook DLL HookDllName / REG_SZ (see note) If empty, defaults to the base name of the injector with the .dll extension instead of .exe. It is not recommended to change this unless you have some very special need and my be removed in the future.
The path of the log directory LogDirectory / REG_SZ N/A Must be a valid absolute path. Hooked processes are not able to know the path of the injector and putting logs in a Program Files subdirectory (where most injected processes live) would be nearly impossible in most cases.
The logging level LogLevel / REG_DWORD 4294967295 0 = Off, 1 = Error, 2 = Warn, 3 = Info, 4 = Debug, 5 = Trace. If the value is missing or is set to anything else, the level defaults to Debug for debug builds and Info for release builds.
Clone this wiki locally