Commit Graph

66 Commits

Author SHA1 Message Date
Mark Jansen
23c4ed174f [ACGENRAL] Add shim for msys2 hacks
See CORE-20159 for details
2026-02-15 20:12:39 +01:00
Adam Słaboń
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 <x86corez@gmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
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
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