rufus/.mingw
Pete Batard 4adfa4f37e
[misc] more MinGW DLL side loading "improvements"
- Side load SetupAPI.dll, as this is the DLL that was causing the CfgMgr32.dll local load.
  This reverts part of 622e60659c since we no longer have to hook into CfgMgr32.dll directly.
- Also set the redefinition of DECLSPEC_IMPORT, which we need for MinGW32 x86, in the global AM_CFLAGS
  of configure.ac, so that we no longer have to worry about forgetting to do it in a source and experience
  crashes on 32-bit as a result (See 965759f58a).
- Also delay-load crypt32.dll while we're at it.
- Also add provision for enabling /DEPENDENTLOADFLAG:0x800 on MinGW, by leaving a properly crafted entry
  in the .rdata section that can then be used with the loadcfg.py Python script.
- Sadly, per https://github.com/pbatard/rufus/issues/2701#issuecomment-2874788564 and subsequent comment,
  having DependentLoadFlags set to LOAD_LIBRARY_SEARCH_SYSTEM32 is still not enough to take care of side
  loading issues, as, ever since the introduction of wimlib support, we are seeing CRYPTBASE.DLL being
  side-loaded in MinGW, and, even with crypt32.dll being delay-loaded there is literally *nothing* we can
  do about it!
- The end result of all the above is that we will have no choice but ditch MinGW for release executables
  as it's just impossible to properly take care of side-loading vulnerabilities with MinGW (and Microsoft
  are REALLY not helping with this whole mess either, when they don't even use LOAD_LIBRARY_SEARCH_SYSTEM32
  for Windows' system DLLs).
- In preparation for this, we add UPX compression to the x86_64 and x86_32 MSVC executables.
- Finally, we also fix one last Coverity warning in xml.c and remove duplicates in .vcxproj for ARM64.
2025-05-13 20:31:35 +01:00
..
cfgmgr32.def [dev] fix a side-loading vulnerability with cfgmgr32.dll 2025-02-19 11:58:10 +00:00
crypt32.def [misc] more MinGW DLL side loading "improvements" 2025-05-13 20:31:35 +01:00
dwmapi.def [core] drop direct hooking into dwmapi DLL and use delay-loading instead 2022-04-12 13:55:33 +01:00
Makefile.am [misc] more MinGW DLL side loading "improvements" 2025-05-13 20:31:35 +01:00
Makefile.in [misc] more MinGW DLL side loading "improvements" 2025-05-13 20:31:35 +01:00
setupapi.def [misc] more MinGW DLL side loading "improvements" 2025-05-13 20:31:35 +01:00
version.def [uefi] don't revoke Windows 11 or post Windows 10 20H1 boot media yet 2023-07-15 23:20:59 +02:00
virtdisk.def [misc] reinstate delay-loading of wininet and virtdisk DLLs 2024-07-13 17:43:40 +01:00
wininet.def [uefi] embed and allow the download of official signed DBX binaries 2025-03-27 16:11:45 +00:00
wintrust.def [mingw] use delay loading for DLLs that are subject to side loading 2022-04-12 11:09:59 +01:00