Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alternative to minhook #34

Closed
luca2125 opened this issue Oct 15, 2020 · 2 comments
Closed

Alternative to minhook #34

luca2125 opened this issue Oct 15, 2020 · 2 comments

Comments

@luca2125
Copy link

Hi,

I don't sure if can be usefull this information, if no please ignore it (I' am not an expert).

I see in this project:

https://github.com/hauzer/dinput8_nojoy/tree/master/dinput8_nojoy

that the autor use another technique that simply override the member without use MinHook , detours or similar.

If I understand this technique is called "IAT hook", that have the advatage to work in 100% of cases (I have tested it in many games).

So is not necessary to copy dinput8.dll to system wide becouse work always to game directory.

The disadvantage seem the performance that are slow.

Take this only like sort of potential alternative (ex: mode 0: default, mode 1: alternative)

I repeat if this is unuseful please ignore it.

@briankendall
Copy link
Owner

Part of the reason to install in system32 is because a) you don't have to install the dll separately for each game, and b) some games use the DirectInput COM interface which means that they will bypass a DLL in the game's directory.

Using MinHook doesn't work with 100% of games, though, and does seem to interfere with x360ce, so it might be worth trying out a different method sometime. Thanks for the info!

@luca2125
Copy link
Author

luca2125 commented Oct 16, 2020

Hi briankendall,

For what I see devreorder work if not 100%, but > 90% if istalled on system32.

But I have multiple controllers and the priority is not always the some becouse the games are different (Racing, Space Simulator , Shooter , etc..).

So I can't install it on System Wide,

With x360ce I don't need to use devreorder becouse work indipedenly by the priority.

If I remember x360ce support Hook Mask (COM) that probably is for COM interface.

However x360ce not work with FarCry 4/5/primal for some reason.

With this example that using IAT hook:

https://www.codeproject.com/Articles/14040/Hooking-a-DirectX-COM-Interface

the DLL seem work in with COM interface too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants