Commit Graph

43 Commits

Author SHA1 Message Date
Mark Jansen
575ab6c760
[ACGENRAL] Add a test shim 2019-05-01 19:22:19 +02:00
Mark Jansen
1570f08b4d
[APPHELP] Add ordinal import support 2019-05-01 19:22:19 +02:00
Serge Gautherie
a57bc4f6c3 [ACGENRAL] Fix MSVC warning C4090 "different 'const' qualifiers" about a ShimLib_ShimFree() call (#1506)
Addendum to 007cc5cd.
CORE-7538
2019-04-21 21:15:11 +02:00
Mark Jansen
91ba017dfc
[APPHELP] Fix warnings 2019-04-18 19:21:39 +02:00
Hervé Poussineau
cb031ac957 [ACLAYERS] Use correct prototypes
FARPROC is defined in windef.h as "typedef INT_PTR (WINAPI *FARPROC)();"
2019-04-07 18:32:29 +02:00
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Mark Jansen
ee62837ec0
[SHIMENG] Implement experimental support for multiple hooks on the same function 2019-03-14 20:02:01 +01:00
Mark Jansen
6abe0e50aa
[SDK][SHIMENG] Ensure that module entrypoints are not called while loading the shim engine
This is done by marking everything that is already loaded but not 'processed'.
After the shim engine is done initializing, the original state is restored,
with the exception of the shim engine itself.
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
cfdb7d564c
[SHIMENG] Don't crash on a shim not found
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
0ebeced143
[SHIMENG] Find shims case-insensitive
CORE-15845
2019-03-14 20:02:00 +01:00
Mark Jansen
cdc8b721da
[ACLAYERS] Add stubplemented IgnoreLoadLibrary shim
CORE-15845
2019-03-14 20:02:00 +01:00
Mark Jansen
0fdfdcb1ea
[ACLAYERS] Simplify ForceDXSetupSuccess as suggested by Thomas 2019-03-14 20:01:47 +01:00
Mark Jansen
b18da6730e
[ACLAYERS] Implement the ForceDXSetupSuccess shim
This shim is used on older installers that try to install DirectX,
but encounter errors doing so with the bundled setup.
CORE-15814
2019-03-10 12:45:35 +01:00
Mark Jansen
76af1fb019
[ACLAYERS][ACGENRAL] Do not use the crt entrypoint. 2019-03-10 12:45:22 +01:00
Mark Jansen
c01fa8e9c1
[APPHELP] Implement SdbRegisterDatabase[Ex]
CORE-11301
2019-02-25 20:00:35 +01:00
Mark Jansen
28a091ac12
[APPHELP][APPHELP_APITEST] Implement SdbGetDatabaseInformation
CORE-11301
2019-02-25 20:00:34 +01:00
Mark Jansen
5c05a29d3d
[APPHELP] Implement ShimDumpCache and ShimFlushCache
These functions simply call into the Base* functions,
having a prototype that is compatible with rundll32
CORE-11301
2019-02-25 20:00:34 +01:00
Mark Jansen
f2f54a052e
[SDB] Initial SdbRegisterDatabase stubs
CORE-11301
2019-02-25 20:00:34 +01:00
Denis Malikov
bcfd350e9f [APPCOMPAT] Run apps in compatibility with 6.1 SP1 (7 SP1), 6.2 (8) and 6.3 (8.1) (#1273) 2019-01-27 17:30:37 +01:00
Mark Jansen
e984cabad2
[APPHELP] Prevent a nullptr dereference 2019-01-05 13:11:36 +01:00
Mark Jansen
6969e85b29
[SHIMENG] Prevent a nullptr dereference 2019-01-05 13:11:35 +01:00
Mark Jansen
1692ab3fe3
[APPCOMPAT] Move sdbtagid.h and sdbtypes.h to a shared location 2019-01-05 13:11:35 +01:00
Mark Jansen
511e793502
[SHIMENG] Ignore shims that are loading 2019-01-05 13:11:35 +01:00
Mark Jansen
58918686aa
[APPHELP] Fix a typo in the logging 2019-01-05 13:11:35 +01:00
Mark Jansen
aabefa30d5
[SHIMLIB] c++ compatibility 2019-01-05 13:11:09 +01:00
Pierre Schweitzer
007cc5cd8a
[ACGENRAL] Don't leak memory on failure in InitIgnoreFreeLibrary()
CID 1441306
2018-11-16 22:07:09 +01:00
Timo Kreuzer
e59d7a5687 [APPHELP] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Mark Jansen
8b15a5ecd7
[SDK][ACGENRAL] Add the shim IgnoreFreeLibrary 2018-04-22 18:52:00 +02:00
Mark Jansen
2eaf526484
[SHIMLIB] Update helper functions, add ShimLib_StringNDuplicateA 2018-04-22 18:51:48 +02:00
Mark Jansen
bcb2613684
[SDB][APPHELP] Add ShimVersionNT data tags + read them in SdbPackAppCompatData 2018-04-12 18:49:25 +02:00
Mark Jansen
d74a3fecad
[APPHELP] Implement SdbQueryData[Ex][TagID] 2018-04-12 18:49:25 +02:00
Mark Jansen
d49004352f
[NTDLL] Check the process manifest at startup for a compatibility section. 2018-04-09 19:36:09 +02:00
Mark Jansen
2ffc684699
[ACLAYERS] Add WIN8 and WIN81 VersionLie shims 2018-02-24 19:33:56 +01:00
Mark Jansen
0dd71438a4
[APPHELP] Set debug level in case of parse failure 2018-02-24 19:33:02 +01:00
Mark Jansen
5f52a61e7d
[SHIMENG] Do not crash on a NULL ModuleName & BaseAddress.
CORE-14376
2018-02-22 23:25:57 +01:00
Mark Jansen
7630bb0e79 [SHIMENG] Parse and apply [AppCompat] Flags. 2018-01-27 15:12:24 +01:00
Mark Jansen
06d7926e27 [SHIMENG] Change SE_InstallBeforeInit loglevel. 2018-01-27 15:12:24 +01:00
Mark Jansen
f9395e92af [APPHELP][APPHELP_APITEST] Fix SdbGetAppPatchDir prototype 2018-01-21 21:13:08 +01:00
Mark Jansen
3fd6fcf6eb [APPHELP] Use GetSystemWindowsDirectory instead of GetWindowsDirectory 2018-01-21 21:13:08 +01:00
Mark Jansen
abeaf2e9db [SHIMENG] Change the default loglevel + mute GetProcAddress logging 2018-01-21 21:13:08 +01:00
Mark Jansen
06c1e134e1 [SHIMENG] Mark modified dll's as visited, and apply shims to newly loaded dlls 2018-01-09 22:43:36 +01:00
Mark Jansen
0123f4745b [APPHELP] Try Dos and Nt path formats in SdbGetFileAttributes. 2018-01-09 22:43:36 +01:00
Colin Finck
c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00