nefarius / XInputHooker

XInput reverse-engineering tools and documentation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XInputHooker

XInput reverse-engineering tools and documentation

MSBuild

About

This DLL project hooks common Windows APIs used internally by XInput libraries. Compatible device discovery is actually rather primitive, SetupDiEnumDeviceInterfaces is called on the XUSB device interface GUID (see XUSB.h), on success device handle is obtained via CreateFile and data exchanged using DeviceIoControl. Said APIs get hooked and the arguments of interest dumped into a log file.

Build

Requires Visual Studio 2022 to build.

Use

Build the XInputHooker.dll for the right architecture (32-Bit for 32-Bit processes and likewise for 64-Bit) and place the ioctls.json file in the same directory as the DLL. Inject the XInputHooker.dll into a process/game using any variant of the XInput user API libraries. Upon successful injection a XInputHooker.log will be generated in the process root directory. All sniffed API calls will be dumped there. It will grow fast so don't run for too long 😉

About

XInput reverse-engineering tools and documentation

License:MIT License


Languages

Language:C++ 88.5%Language:C 11.5%