Commit Graph
49 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
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 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 343442cc3f [LDR][APPHELP] Add a shim that disables manifest compatibility version parsing 2019-08-19 12:08:06 +02:00
Mark Jansen 1570f08b4d [APPHELP] Add ordinal import support 2019-05-01 19:22:19 +02:00
Mark Jansen 91ba017dfc [APPHELP] Fix warnings 2019-04-18 19:21:39 +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 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
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
Timo Kreuzer e59d7a5687 [APPHELP] Fix 64 bit issues 2018-08-04 19:19:34 +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 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