Skip to content

XInput reverse-engineering tools and documentation

License

Notifications You must be signed in to change notification settings

fengjixuchui/XInputHooker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XInputHooker

XInput reverse-engineering tools and documentation

GitHub Workflow Status

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

Follow the Vcpkg Quick Start and install the following packages:

  • .\vcpkg install spdlog:x86-windows-static spdlog:x64-windows-static detours:x86-windows-static detours:x64-windows-static jsoncpp:x86-windows-static jsoncpp:x64-windows-static

Use

Build or download 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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 88.4%
  • C 11.6%