Commit Graph
68 Commits
Author SHA1 Message Date
Mark Jansen 7c05a10a90 [ACLAYERS] Add shim for GlobalMemoryStatus
This is needed by games like Half-life that won't start without it.
2026-06-21 01:33:39 +02:00
Mark Jansen ab16c8a867 [ACLAYERS][APPSHIM_APITEST] Relicense to a friendlier license 2026-06-21 01:33:39 +02:00
Mark Jansen 23c4ed174f [ACGENRAL] Add shim for msys2 hacks
See CORE-20159 for details
2026-02-15 20:12:39 +01:00
17d1c5b51a [APPHELP] Handle PE images without an import name table (#8507)
* [APPHELP] Handle PE images without an import name table

This splits the import lookup code in SeiHookImports into two helper functions - SeiPatchImportsByName and SeiPatchImportsByAddress.
Some PEs (eg. compiled with Borland toolchain or compressed with UPX) may not contain an import name table, so we use an alternative method (SeiPatchImportsByAddress) to find the imports we want to hook to by comparing the original pointers of the registered shim functions against those in IAT.

---------

Co-authored-by: Stanislav Motylkov <[email protected]>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <[email protected]>
2025-12-24 13:45:17 +01:00
Mark Jansen 06983e3967 [XML2SDB] Add basic support for including/excluding shims based on platform
CORE-20159
2025-11-25 19:32:02 +01:00
Mark Jansen eb18696e72 [APPHELP] Add basic support for wildcard matching
CORE-20159
2025-11-25 19:32:02 +01:00
Serge Gautherie 239417296e [APPHELP] Sdb*DatabaseInformation*(): 2 minor tweaks (#8364)
Addendum to commit 0d11eb1e23.

- s/LPCTSTR/LPCWSTR/
- Fix comment indentation.
2025-11-08 18:19:40 +01:00
Mark Jansen db57e02d6b [APPCOMPAT] Add RendererFull3D flag
This flag will be used for DDraw experiments.
CORE-20322
2025-09-04 15:23:48 +02:00
Mark Jansen 0d11eb1e23 [APPHELP] Add noisy stub for SdbGetDatabaseInformationByName 2025-08-29 21:55:40 +02:00
Mark Jansen dfc05a68a5 [APPHELP] Make some more tests pass 2025-08-01 21:53:38 +02:00
Katayama Hirofumi MZ fe11f7a2e5 [REACTOS] Refresh old URLs (#7632)
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
  to dead links.
- Use MS Learn links rather
  than MSDN ones.
- Some dead links revived by
  Web Archive.
- Don't change Wine Tests
  and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Timo Kreuzer e4930be4ff [REACTOS] Use the ISO C and C++ conformant names: _wcsicmp, _stricmp
Stop using non-conforming wcsicmp, stricmp, strcasecmp
2024-10-20 14:12:25 +03:00
Hermès Bélusca-Maïto 4028de8c55 [APPHELP] SdbGUIDToString(): use sizeof(WCHAR) instead of '2' (#7137) 2024-07-11 18:28:54 +02:00
Hermès Bélusca-Maïto b3094aa001 [APPHELP] Fix MAX_GUID_STRING_LEN define; use it for one buffer (#7137) 2024-07-11 18:28:43 +02:00
Mark Jansen d284c81494 [APPHELP] Stop shimeng being initialized multiple times
This is a hack, but is required when MSI is loaded in a process that is already shimmed.
It should be removed when the MSI shim integration is fixed.
CORE-18532
CORE-13283
2022-10-26 20:19:31 +02:00
Mark Jansen 815dd140c7 [ACLAYERS] Fix RtlGetVersion 2022-09-25 19:33:51 +02:00
Mark Jansen 93e88edbb6 [APPHELP] Implement SE_DynamicShim 2022-09-25 19:33:36 +02:00
Serge Gautherie 03422451b3 [REACTOS] Add '\n' to debug logs
on TRACE, WARN, FIXME and ERR calls.

Plus a few nit picks.
2022-05-04 03:28:38 +03:00
Hermès Bélusca-Maïto 9393fc320e [FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Max Korostil 7fd004e50b [SDBINST] Add uninstall option 2021-05-08 14:24:20 +02:00
Max Korostil b1dfdc95af [APPHELP] Add api functions declaration.
Add define
2021-05-08 14:24:20 +02:00
Serge Gautherie 889b077b23 [REACTOS] *.spec: Fix some function/parameter types (#3154) 2020-09-20 19:21:11 +02:00
Mark Jansen 6db3d88984 [SHIMLIB] Fix gcc8 build crashing when using shims 2020-04-07 20:47:47 +02:00
Oleg Dubinskiy b749501976 [APPCOMPAT][ACCPAGE][SDB][ROSTESTS] Implement compatibility modes for Windows 10, Server 2016 and 2019 2020-02-23 17:43:40 +01:00
Mark Jansen 343442cc3f [LDR][APPHELP] Add a shim that disables manifest compatibility version parsing 2019-08-19 12:08:06 +02:00
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