Commit Graph

698 Commits

Author SHA1 Message Date
Tau
1fdeeb9139 Load and bind idzio at runtime 2021-06-13 11:27:01 -04:00
Tau
3a03c95e1d Document mu3io API 2021-06-13 11:27:01 -04:00
Tau
6a8b616bc2 Document mu3io API 2021-06-13 11:27:01 -04:00
Tau
cfb39cd066 Add API versioning to mu3io 2021-06-13 11:27:01 -04:00
Tau
8b4ea3f1dd Add API versioning to mu3io 2021-06-13 11:27:01 -04:00
Tau
9ae697d4fc Statically link mu3io 2021-06-13 11:27:01 -04:00
Tau
ab3c2ad0b7 Statically link mu3io 2021-06-13 11:27:01 -04:00
Tau
9fc45e2df1 Load and bind mu3io at runtime 2021-06-13 11:27:01 -04:00
Tau
3c740af6ec Load and bind mu3io at runtime 2021-06-13 11:27:01 -04:00
Tau
2cd6bdb695 Fix comment in idzio/di.c 2021-06-13 11:27:01 -04:00
Tau
98d8b0c3b9 Fix comment in idzio/di.c 2021-06-13 11:27:01 -04:00
Tau
d2b9c6034d Load and bind divaio at runtime 2021-06-13 11:27:01 -04:00
Tau
4c2c941a1c Load and bind divaio at runtime 2021-06-13 11:27:01 -04:00
Tau
645e6cba1d Add api versioning to divaio 2021-06-13 11:27:01 -04:00
Tau
a940c0b47b Add api versioning to divaio 2021-06-13 11:27:01 -04:00
Tau
cb3c55d037 Statically link default divaio 2021-06-13 11:27:01 -04:00
Tau
8dddb18793 Statically link default divaio 2021-06-13 11:27:01 -04:00
Tau
7b71b944e1 chuniio 0x0101: Fix IR beam mapping 2021-06-13 11:27:01 -04:00
Tau
bda236b5ad chuniio 0x0101: Fix IR beam mapping 2021-06-13 11:27:01 -04:00
Tau
01cfc4e48f Load and bind chuniio at runtime 2021-06-13 11:27:01 -04:00
Tau
94e9edb5a0 Load and bind chuniio at runtime 2021-06-13 11:27:01 -04:00
Tau
ef8c844403 Statically link default chuniio 2021-06-13 11:27:01 -04:00
Tau
01eda0fbd5 Statically link default chuniio 2021-06-13 11:27:01 -04:00
Tau
f65f816497 Add API versioning mechanism to chuniio 2021-06-13 11:27:01 -04:00
Tau
58664e9b31 Add API versioning mechanism to chuniio 2021-06-13 11:27:01 -04:00
Tau
0c7a9c87c0 Load and bind aimeio at runtime 2021-06-13 11:27:01 -04:00
Tau
92b73df3e7 Load and bind aimeio at runtime 2021-06-13 11:27:01 -04:00
Tau
e49e1ec804 Add DLL binding helper 2021-06-13 11:27:00 -04:00
Tau
10f2042bee Add DLL binding helper 2021-06-13 11:27:00 -04:00
Tau
ef248d7e0e Export aimeio symbols from hook DLLs 2021-06-13 11:27:00 -04:00
Tau
edd26aafe7 Export aimeio symbols from hook DLLs 2021-06-13 11:27:00 -04:00
Tau
5e14b595ae Add API versioning scheme to aimeio 2021-06-13 11:27:00 -04:00
Tau
df5f08314b Add API versioning scheme to aimeio 2021-06-13 11:27:00 -04:00
Tau
7fb846a839 Document the aimeio API
This is de-facto a published API now so we have to support it.
2021-06-13 11:27:00 -04:00
Tau
f59f4ec8c1 Document the aimeio API
This is de-facto a published API now so we have to support it.
2021-06-13 11:27:00 -04:00
Tau
ebef97e75a Drop aime_io_fini
This isn't used, and due to the way that the hook machinery works
it is not likely to come into use later on either. Since we can't
rely on existing implementations actually being correct, if it does
somehow start being used then we will need to advance the aimeio API
version in order to support it.
2021-06-13 11:27:00 -04:00
Tau
1750f85f51 Drop aime_io_fini
This isn't used, and due to the way that the hook machinery works
it is not likely to come into use later on either. Since we can't
rely on existing implementations actually being correct, if it does
somehow start being used then we will need to advance the aimeio API
version in order to support it.
2021-06-13 11:27:00 -04:00
Tau
fb0fd41b6f Statically link current aimeio implementation 2021-06-13 11:27:00 -04:00
Tau
90d908fe07 Statically link current aimeio implementation 2021-06-13 11:27:00 -04:00
Tau
45e2416702 Simplify DLL hook mechanism
This change deletes the GetProcAddress hook and exports symbols
corresponding to the hooked functions from each hook DLL instead;
we stop at redirecting LoadLibrary/GetModuleHandle calls to the
hook DLL. This simplified approach has less hidden magic going on
behind the scenes and is more readily composable (i.e. a hook DLL
can export redirect symbols for more than one dynamically-loaded
DLL).
2021-06-13 11:27:00 -04:00
Tau
e57aeb03c3 Simplify DLL hook mechanism
This change deletes the GetProcAddress hook and exports symbols
corresponding to the hooked functions from each hook DLL instead;
we stop at redirecting LoadLibrary/GetModuleHandle calls to the
hook DLL. This simplified approach has less hidden magic going on
behind the scenes and is more readily composable (i.e. a hook DLL
can export redirect symbols for more than one dynamically-loaded
DLL).
2021-06-13 11:27:00 -04:00
Tau
b4cd868f85 Add module DEF file for chunihook 2021-06-13 11:27:00 -04:00
Tau
c71ff1bcb5 Add module DEF file for chunihook 2021-06-13 11:27:00 -04:00
Tau
fab50e5e34 Fix Diva slider startup 2021-06-13 11:27:00 -04:00
Tau
872ae9ca50 Fix Diva slider startup 2021-06-13 11:27:00 -04:00
Tau
972b3a5de8 Fix hook startup failure path
Returning from the EXE PE entry point merely terminates the main
thread and leaves the process hanging. We need to explicitly exit
from the process since the NTDLL RTL Start code won't do it for us.
2021-06-13 11:27:00 -04:00
Tau
49595d2c37 Fix hook startup failure path
Returning from the EXE PE entry point merely terminates the main
thread and leaves the process hanging. We need to explicitly exit
from the process since the NTDLL RTL Start code won't do it for us.
2021-06-13 11:27:00 -04:00
Tau
1d6b7591ef Fix DLL loader hook logic
Seems this was quite buggy in its original form.
2021-06-13 11:27:00 -04:00
Tau
5410941944 Fix DLL loader hook logic
Seems this was quite buggy in its original form.
2021-06-13 11:27:00 -04:00
Tau
d9d206a160 Whitespace fix 2021-06-13 11:27:00 -04:00