Commit Graph

626 Commits

Author SHA1 Message Date
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
Tau
9543bd183d Whitespace fix 2021-06-13 11:27:00 -04:00
Tau
81f90981b4 Delete draft debris that was never used 2021-06-13 11:27:00 -04:00
Tau
1627a0c850 Delete draft debris that was never used 2021-06-13 11:27:00 -04:00
Tau
5ee0bb2afb Suppress vscode auto-format for the time being
Eventually we would like to set up clang-format rules and enforce
them from CI.
2021-06-13 11:27:00 -04:00
Tau
eb2383187a Suppress vscode auto-format for the time being
Eventually we would like to set up clang-format rules and enforce
them from CI.
2021-06-13 11:27:00 -04:00
icex2
c1242f1f45 Add another build option for Windows using Docker Desktop to README 2021-05-28 22:40:15 +02:00
icex2
27ec081ca7 Add another build option for Windows using Docker Desktop to README 2021-05-28 22:40:15 +02:00
icex2
de829d3b8c Add docker-build.bat for building on Windows with Docker Desktop
Initial contribution by Vincent Kocks. Script simplified to fit the
new build setup with a common build/ folder. Build folder can
be deleted on every invocation because it will just be copied
from the docker container anyway.

Co-authored-by: Vincent Kocks <engineering@vingenuity.net>
2021-05-28 22:40:04 +02:00
icex2
12ee51d198 Add docker-build.bat for building on Windows with Docker Desktop
Initial contribution by Vincent Kocks. Script simplified to fit the
new build setup with a common build/ folder. Build folder can
be deleted on every invocation because it will just be copied
from the docker container anyway.

Co-authored-by: Vincent Kocks <engineering@vingenuity.net>
2021-05-28 22:40:04 +02:00
icex2
aecd7aa749 Add instructions to build on Windows using WSL2 and docker 2021-05-28 21:39:37 +02:00
icex2
5a376836a8 Add instructions to build on Windows using WSL2 and docker 2021-05-28 21:39:37 +02:00
icex2
8fcea92271 Extend .dockerignore, ignore git related stuff 2021-05-28 20:55:47 +02:00
icex2
a051faebdb Extend .dockerignore, ignore git related stuff 2021-05-28 20:55:47 +02:00
icex2
76dbbdd665 Overhaul root readme
Provide a more user/developer-friendly entry point to the project
2021-04-10 15:04:28 +02:00
icex2
0a2cb705fb Overhaul root readme
Provide a more user/developer-friendly entry point to the project
2021-04-10 15:04:28 +02:00
icex2
7db3d4af47 Fix headline levels, first level needs to denote root of doc 2021-04-10 15:03:49 +02:00
icex2
fe5d9c4f40 Fix headline levels, first level needs to denote root of doc 2021-04-10 15:03:49 +02:00
icex2
7e97eb9d13 doc: Add doc for chunihook
Stolen from various threads from our favorite place
2021-04-10 15:02:39 +02:00
icex2
85f53fbbb5 doc: Add doc for chunihook
Stolen from various threads from our favorite place
2021-04-10 15:02:39 +02:00
icex2
1b1f64486f Update .gitignore, ignore single build/ output dir 2021-04-10 15:02:06 +02:00
icex2
411dbd5696 Update .gitignore, ignore single build/ output dir 2021-04-10 15:02:06 +02:00
icex2
27793dcc48 Remove now obsolete mkdist script, part of Package.mk now 2021-04-10 15:01:53 +02:00