Nukepayload2 / Nukepayload2.Diagnostics.InputInjection

A .NET Standard Port of Windows.UI.Input.Preview.Injection
GNU Lesser General Public License v3.0
2 stars 0 forks source link

分析手柄注入 #1

Open Nukepayload2 opened 6 years ago

Nukepayload2 commented 6 years ago

Gamepad 输入注入包装的是 XboxgipSynthetic.dll,而不是 user32.dll。对应关系如下(Win32 dll 的参数仅代表大小):

Configuration: x86

Stdcall

XboxgipSynthetic.dll InputInjectionBroker.dll
SyntheticController_Connect(Integer) As Integer Windows.UI.Input.Preview.Injection.InputInjector.InitializeGamepadInjection
SyntheticController_SendReport(Integer, Integer, Integer, Integer) As Integer Windows.UI.Input.Preview.Injection.InputInjector.InjectGamepadInput(InjectedInputGamepadInfo)
SyntheticController_GetDeviceId(Integer, Integer) As Integer Windows.UI.Input.Preview.Injection.InputInjector.get_GamepadGipDeviceId(ByRef ULong)
SyntheticController_CreateController(Integer, Integer) As Integer Windows.UI.Input.Preview.Injection.InputInjector.InitializeGamepadInjection
SyntheticController_RemoveController(Integer) As Integer Windows.UI.Input.Preview.Injection.InputInjector.Finalize
SyntheticController_SetTargetProcess(Integer, Integer, Integer, Integer, Integer, Integer) As Integer Windows.UI.Input.Preview.Injection.InputInjector.UpdateGamepadTargetProcess
SyntheticController_Disconnect(Integer) As Integer Windows.UI.Input.Preview.Injection.InputInjector.UninitializeGamepadInjection

Configuration: x64

Fastcall

XboxgipSynthetic.dll InputInjectionBroker.dll
SyntheticController_Connect(Long) As Integer Windows.UI.Input.Preview.Injection.InputInjector.InitializeGamepadInjection
SyntheticController_SendReport(Long, Long, Long, Long) As Integer Windows.UI.Input.Preview.Injection.InputInjector.InjectGamepadInput(InjectedInputGamepadInfo)
SyntheticController_GetDeviceId(Long, Long) As Integer Windows.UI.Input.Preview.Injection.InputInjector.get_GamepadGipDeviceId(ByRef ULong)
SyntheticController_CreateController(Long, Long) As Integer Windows.UI.Input.Preview.Injection.InputInjector.InitializeGamepadInjection
SyntheticController_RemoveController As Integer Windows.UI.Input.Preview.Injection.InputInjector.Finalize
SyntheticController_SetTargetProcess(Long, Long, Long, Long) As Integer Windows.UI.Input.Preview.Injection.InputInjector.UpdateGamepadTargetProcess
SyntheticController_Disconnect() As Integer Windows.UI.Input.Preview.Injection.InputInjector.UninitializeGamepadInjection
Ker0n commented 3 years ago

я слушал миягу и коконь!