Browse Source

Change hooking library to SlimDetours.

- On ARM64, fixes incompatibilities with certain Windhawk mods that hook CreateWindowExW such as taskbar-volume-control.
- On ARM64, fixes a very slim chance bug where hooked functions would cause a crash when called.
- Updated dependencies.
pull/4568/head
Amrsatrio 3 months ago
parent
commit
ff30457ff5
  1. 6
      .gitmodules
  2. 7
      BuildDependenciesDebug.bat
  3. 7
      BuildDependenciesRelease.bat
  4. 16
      ExplorerPatcher/ExplorerPatcher.vcxproj
  5. 60
      ExplorerPatcher/ExplorerPatcher.vcxproj.filters
  6. 77
      ExplorerPatcher/hooking.h
  7. 3
      ExplorerPatcher/packages.config
  8. 12
      ep_gui/ep_gui.vcxproj
  9. 4
      ep_weather_host/ep_weather_host.vcxproj
  10. 2
      ep_weather_host/packages.config
  11. 1
      libs/Detours
  12. 1
      libs/funchook

6
.gitmodules vendored

@ -1,12 +1,6 @@
[submodule "libs/libvalinet"] [submodule "libs/libvalinet"]
path = libs/libvalinet path = libs/libvalinet
url = https://github.com/valinet/libvalinet url = https://github.com/valinet/libvalinet
[submodule "libs/funchook"]
path = libs/funchook
url = https://github.com/kubo/funchook
[submodule "libs/Detours"]
path = libs/Detours
url = https://github.com/microsoft/Detours
[submodule "libs/sws"] [submodule "libs/sws"]
path = libs/sws path = libs/sws
url = https://github.com/valinet/sws url = https://github.com/valinet/sws

7
BuildDependenciesDebug.bat

@ -1,6 +1,3 @@
rmdir /s /q libs\funchook\build
rmdir /s /q libs\funchook\build-x64
rmdir /s /q libs\funchook\build-arm64
rmdir /s /q libs\zlib\build-x64 rmdir /s /q libs\zlib\build-x64
rmdir /s /q libs\zlib\build-arm64 rmdir /s /q libs\zlib\build-arm64
@ -10,12 +7,8 @@ if "%VSINSTALLDIR:~-1%"=="\" (
set "EP_VSINSTALLDIR=%VSINSTALLDIR%" set "EP_VSINSTALLDIR=%VSINSTALLDIR%"
) )
cmake libs/funchook -Blibs/funchook/build-x64 -G "Visual Studio 17 2022" -A x64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DFUNCHOOK_CPU=x86 -DFUNCHOOK_BUILD_TESTS=OFF
cmake libs/funchook -Blibs/funchook/build-arm64 -G "Visual Studio 17 2022" -A ARM64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DFUNCHOOK_CPU=arm64 -DFUNCHOOK_DISASM=capstone -DFUNCHOOK_BUILD_TESTS=OFF
cmake libs/zlib -Blibs/zlib/build-x64 -G "Visual Studio 17 2022" -A x64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW cmake libs/zlib -Blibs/zlib/build-x64 -G "Visual Studio 17 2022" -A x64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW
cmake libs/zlib -Blibs/zlib/build-arm64 -G "Visual Studio 17 2022" -A ARM64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW cmake libs/zlib -Blibs/zlib/build-arm64 -G "Visual Studio 17 2022" -A ARM64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW
cmake --build libs/funchook/build-x64 --config Debug
cmake --build libs/funchook/build-arm64 --config Debug
cmake --build libs/zlib/build-x64 --config Debug cmake --build libs/zlib/build-x64 --config Debug
cmake --build libs/zlib/build-arm64 --config Debug cmake --build libs/zlib/build-arm64 --config Debug

7
BuildDependenciesRelease.bat

@ -1,6 +1,3 @@
rmdir /s /q libs\funchook\build
rmdir /s /q libs\funchook\build-x64
rmdir /s /q libs\funchook\build-arm64
rmdir /s /q libs\zlib\build-x64 rmdir /s /q libs\zlib\build-x64
rmdir /s /q libs\zlib\build-arm64 rmdir /s /q libs\zlib\build-arm64
@ -10,12 +7,8 @@ if "%VSINSTALLDIR:~-1%"=="\" (
set "EP_VSINSTALLDIR=%VSINSTALLDIR%" set "EP_VSINSTALLDIR=%VSINSTALLDIR%"
) )
cmake libs/funchook -Blibs/funchook/build-x64 -G "Visual Studio 17 2022" -A x64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DFUNCHOOK_CPU=x86 -DFUNCHOOK_BUILD_TESTS=OFF
cmake libs/funchook -Blibs/funchook/build-arm64 -G "Visual Studio 17 2022" -A ARM64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DFUNCHOOK_CPU=arm64 -DFUNCHOOK_DISASM=capstone -DFUNCHOOK_BUILD_TESTS=OFF
cmake libs/zlib -Blibs/zlib/build-x64 -G "Visual Studio 17 2022" -A x64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW cmake libs/zlib -Blibs/zlib/build-x64 -G "Visual Studio 17 2022" -A x64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW
cmake libs/zlib -Blibs/zlib/build-arm64 -G "Visual Studio 17 2022" -A ARM64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW cmake libs/zlib -Blibs/zlib/build-arm64 -G "Visual Studio 17 2022" -A ARM64 -D"CMAKE_GENERATOR_INSTANCE:PATH=%EP_VSINSTALLDIR%" -D"CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$<$<CONFIG:Debug>:Debug>" -DCMAKE_POLICY_DEFAULT_CMP0091=NEW
cmake --build libs/funchook/build-x64 --config Release
cmake --build libs/funchook/build-arm64 --config Release
cmake --build libs/zlib/build-x64 --config Release cmake --build libs/zlib/build-x64 --config Release
cmake --build libs/zlib/build-arm64 --config Release cmake --build libs/zlib/build-arm64 --config Release

16
ExplorerPatcher/ExplorerPatcher.vcxproj

@ -132,9 +132,11 @@
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>inc;$(SolutionDir)libs\funchook\include;$(SolutionDir)libs\libvalinet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>inc;$(SolutionDir)libs\libvalinet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard>stdcpp20</LanguageStandard>
<UseFullPaths>false</UseFullPaths> <UseFullPaths>false</UseFullPaths>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
@ -171,18 +173,12 @@
<PreprocessorDefinitions>WITH_MAIN_PATCHER;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WITH_MAIN_PATCHER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallingConvention>Cdecl</CallingConvention> <CallingConvention>Cdecl</CallingConvention>
</ClCompile> </ClCompile>
<Link>
<AdditionalLibraryDirectories>$(SolutionDir)libs\funchook\build-$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='ARM64'"> <ItemDefinitionGroup Condition="'$(Platform)'=='ARM64'">
<ClCompile> <ClCompile>
<PreprocessorDefinitions>WITH_MAIN_PATCHER;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WITH_MAIN_PATCHER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CallingConvention>Cdecl</CallingConvention> <CallingConvention>Cdecl</CallingConvention>
</ClCompile> </ClCompile>
<Link>
<AdditionalLibraryDirectories>$(SolutionDir)libs\funchook\build-$(Platform)\$(Configuration)\;$(SolutionDir)libs\funchook\build-arm64\_deps\capstone-build\Release\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='ARM64EC'"> <ItemDefinitionGroup Condition="'$(Platform)'=='ARM64EC'">
<ClCompile> <ClCompile>
@ -316,12 +312,14 @@
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
<Import Project="..\packages\Microsoft.Windows.ImplementationLibrary.1.0.230824.2\build\native\Microsoft.Windows.ImplementationLibrary.targets" Condition="Exists('..\packages\Microsoft.Windows.ImplementationLibrary.1.0.230824.2\build\native\Microsoft.Windows.ImplementationLibrary.targets')" /> <Import Project="..\packages\Microsoft.Windows.ImplementationLibrary.1.0.250325.1\build\native\Microsoft.Windows.ImplementationLibrary.targets" Condition="Exists('..\packages\Microsoft.Windows.ImplementationLibrary.1.0.250325.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" />
<Import Project="..\packages\KNSoft.SlimDetours.1.1.4-beta\build\KNSoft.SlimDetours.targets" Condition="Exists('..\packages\KNSoft.SlimDetours.1.1.4-beta\build\KNSoft.SlimDetours.targets')" />
</ImportGroup> </ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup> <PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Windows.ImplementationLibrary.1.0.230824.2\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.ImplementationLibrary.1.0.230824.2\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" /> <Error Condition="!Exists('..\packages\Microsoft.Windows.ImplementationLibrary.1.0.250325.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.ImplementationLibrary.1.0.250325.1\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" />
<Error Condition="!Exists('..\packages\KNSoft.SlimDetours.1.1.4-beta\build\KNSoft.SlimDetours.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\KNSoft.SlimDetours.1.1.4-beta\build\KNSoft.SlimDetours.targets'))" />
</Target> </Target>
</Project> </Project>

60
ExplorerPatcher/ExplorerPatcher.vcxproj.filters

@ -129,6 +129,33 @@
<ClInclude Include="osutility.h"> <ClInclude Include="osutility.h">
<Filter>Header Files\internal</Filter> <Filter>Header Files\internal</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="ImmersiveColor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="InputSwitch.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Localization.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="inc\ContainerPolicies.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="inc\memsafe.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="inc\NativeString.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="inc\RefCountedObject.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="inc\ResultUtils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="inc\SimpleArray.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="ExplorerPatcher.rc"> <ResourceCompile Include="ExplorerPatcher.rc">
@ -142,9 +169,6 @@
<ClCompile Include="ArchiveMenu.c"> <ClCompile Include="ArchiveMenu.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="StartupSound.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SettingsMonitor.c"> <ClCompile Include="SettingsMonitor.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@ -163,9 +187,6 @@
<ClCompile Include="utility.c"> <ClCompile Include="utility.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="TaskbarCenter.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="fmemopen.c"> <ClCompile Include="fmemopen.c">
<Filter>Source Files\internal</Filter> <Filter>Source Files\internal</Filter>
</ClCompile> </ClCompile>
@ -196,9 +217,6 @@
<ClCompile Include="..\libs\sws\SimpleWindowSwitcher\sws_window.c"> <ClCompile Include="..\libs\sws\SimpleWindowSwitcher\sws_window.c">
<Filter>Source Files\sws</Filter> <Filter>Source Files\sws</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="updates.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ImmersiveFlyouts.c"> <ClCompile Include="ImmersiveFlyouts.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@ -211,8 +229,32 @@
<ClCompile Include="lvt.c"> <ClCompile Include="lvt.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="InputSwitch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Localization.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StartupSound.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Taskbar10.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="TaskbarCenter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="TwinUIPatches.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="updates.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Natvis Include="$(MSBuildThisFileDirectory)..\..\natvis\wil.natvis" />
</ItemGroup>
</Project> </Project>

77
ExplorerPatcher/hooking.h

@ -1,80 +1,45 @@
#ifndef _H_HOOKING_H_ #ifndef _H_HOOKING_H_
#define _H_HOOKING_H_ #define _H_HOOKING_H_
#define STRAT_REPLACE_ANY_TYPE_OF_JUMP_WITH_NOP 0
#define STRAT_REPLACE_ANY_TYPE_OF_JUMP_WITH_ALWAYS_JUMP 1
#define HOOK_WITH_FUNCHOOK 0
#define HOOK_WITH_DETOURS 1
#define HOW_TO_HOOK HOOK_WITH_FUNCHOOK
#if HOW_TO_HOOK == HOOK_WITH_FUNCHOOK
#include <funchook.h>
#pragma comment(lib, "funchook.lib")
#pragma comment(lib, "Psapi.lib") // required by funchook
#if defined(_M_IX86) || defined(_M_X64)
#pragma comment(lib, "distorm.lib")
#else
#pragma comment(lib, "capstone.lib")
#endif
#elif HOW_TO_HOOK == HOOK_WITH_DETOURS
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
#endif #endif
#include <detours.h> #include <KNSoft/SlimDetours/SlimDetours.h>
#pragma comment(lib, "detours.lib")
#ifdef __cplusplus typedef struct funchook funchook_t;
inline
#endif inline funchook_t* funchook_create(void)
void* funchook_create(void)
{ {
return 1; return (funchook_t*)1;
} }
#ifdef __cplusplus inline int funchook_uninstall(
inline funchook_t* _this,
#endif
int funchook_uninstall(
void* _this,
int flags int flags
) )
{ {
return 0; return 0;
} }
#ifdef __cplusplus inline int funchook_destroy(funchook_t* _this)
inline
#endif
int funchook_destroy(void* _this)
{ {
return 0; return 0;
} }
#ifdef __cplusplus inline int funchook_prepare(
inline funchook_t* funchook,
#endif
int funchook_prepare(
void* funchook,
void** target_func, void** target_func,
void* hook_func void* hook_func
) )
{ {
DetourTransactionBegin(); HRESULT hr = SlimDetoursInlineHook(TRUE, target_func, hook_func);
DetourUpdateThread(GetCurrentThread()); return SUCCEEDED(hr) ? 0 : hr;
DetourAttach(target_func, hook_func);
return DetourTransactionCommit();
} }
#ifdef __cplusplus inline int funchook_install(
inline funchook_t* funchook,
#endif
int funchook_install(
void* funchook,
int flags int flags
) )
{ {
@ -94,20 +59,8 @@ extern "C"
{ {
#endif #endif
#if HOW_TO_HOOK == HOOK_WITH_FUNCHOOK DECLSPEC_SELECTANY funchook_t* funchook = NULL;
#ifdef __cplusplus
inline
#endif
funchook_t* funchook;
#elif HOW_TO_HOOK == HOOK_WITH_DETOURS
#ifdef __cplusplus
inline
#endif
void* funchook;
#endif
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
#endif

3
ExplorerPatcher/packages.config

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Microsoft.Windows.ImplementationLibrary" version="1.0.230824.2" targetFramework="native" /> <package id="KNSoft.SlimDetours" version="1.1.4-beta" targetFramework="win10.0.22621" />
<package id="Microsoft.Windows.ImplementationLibrary" version="1.0.250325.1" targetFramework="native" />
</packages> </packages>

12
ep_gui/ep_gui.vcxproj

@ -92,7 +92,7 @@
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard>stdcpp20</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)libs\libvalinet;$(SolutionDir)libs\funchook\include;$(SolutionDir)\ep_weather_host;$(SolutionDir)\ep_weather_host\$(Platform)\$(Configuration);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)libs\libvalinet;$(SolutionDir)\ep_weather_host;$(SolutionDir)\ep_weather_host\$(Platform)\$(Configuration);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile> </ClCompile>
<Link> <Link>
@ -118,16 +118,6 @@
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
<Link>
<AdditionalLibraryDirectories>$(SolutionDir)libs\funchook\build-x64\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='ARM64'">
<Link>
<AdditionalLibraryDirectories>$(SolutionDir)libs\funchook\build-arm64\$(Configuration)\;$(SolutionDir)libs\funchook\build-arm64\_deps\capstone-build\Release\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\ExplorerPatcher\fmemopen.c" /> <ClCompile Include="..\ExplorerPatcher\fmemopen.c" />
<ClCompile Include="..\ExplorerPatcher\getline.c" /> <ClCompile Include="..\ExplorerPatcher\getline.c" />

4
ep_weather_host/ep_weather_host.vcxproj

@ -319,12 +319,12 @@
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
<Import Project="..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\native\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\native\Microsoft.Web.WebView2.targets')" /> <Import Project="..\packages\Microsoft.Web.WebView2.1.0.3405.78\build\native\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.3405.78\build\native\Microsoft.Web.WebView2.targets')" />
</ImportGroup> </ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup> <PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\native\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\native\Microsoft.Web.WebView2.targets'))" /> <Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.3405.78\build\native\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.3405.78\build\native\Microsoft.Web.WebView2.targets'))" />
</Target> </Target>
</Project> </Project>

2
ep_weather_host/packages.config

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Microsoft.Web.WebView2" version="1.0.2592.51" targetFramework="native" /> <package id="Microsoft.Web.WebView2" version="1.0.3405.78" targetFramework="native" />
</packages> </packages>

1
libs/Detours

@ -1 +0,0 @@
Subproject commit 45a76a359989aa0ce037440449976a777fd01e63

1
libs/funchook

@ -1 +0,0 @@
Subproject commit 2aca28efeb2a3b00c696e1c3e05b44581e118580
Loading…
Cancel
Save