diff --git a/CHANGELOG.md b/CHANGELOG.md index d3b89529..c3329446 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,16 +9,20 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [1.3.4 / 5.58.4] - 2022-09-?? ### Added -- Added NoRenameWinClass to the UI [#2109](https://github.com/sandboxie-plus/Sandboxie/issues/2109) to resolve issues with windows 11 explorer and other WinUI apps -- Added Windows.UI.* to the list of hard coded well known classes +- Added NoRenameWinClass to the UI +- Added Windows.UI.* to the list of hard coded well known classes to resolve issues with WinUI apps [#2109](https://github.com/sandboxie-plus/Sandboxie/issues/2109) + +### Changed +- NoRenameWinClass now supports wildcards +- replaced 'UseVivaldiWorkaround' with a VivaldiCompatibility template hardcoded in the templates.ini ### Fixed - fixed issue with default box not being detected on start [#2195](https://github.com/sandboxie-plus/Sandboxie/issues/2195) - fixed move sandbox menu issue [2225](https://github.com/sandboxie-plus/Sandboxie/issues/2225) (thanks okrc) - fixed issues with stale data in sandboxie ini [#2234](https://github.com/sandboxie-plus/Sandboxie/pull/2234) (thanks okrc) -### Changed -- NoRenameWinClass now supports WildCards +### Removed +- removed obsolete VPNTunnel template diff --git a/Sandboxie/core/dll/guiclass.c b/Sandboxie/core/dll/guiclass.c index 9c6ce6da..a649d27c 100644 --- a/Sandboxie/core/dll/guiclass.c +++ b/Sandboxie/core/dll/guiclass.c @@ -20,13 +20,13 @@ // GUI Services //--------------------------------------------------------------------------- +#define NOGDI #include "dll.h" #include "gui_p.h" #include "core/svc/GuiWire.h" #include -//#include "common\pattern.h" -BOOLEAN Pattern_Match(PATTERN* pat, const WCHAR* string, int string_len); +#include "common\pattern.h" //--------------------------------------------------------------------------- @@ -178,6 +178,17 @@ _FX BOOLEAN Gui_InitClass(HMODULE module) if (Gui_RenameClasses) { Config_InitPatternList(NULL, L"NoRenameWinClass", &Gui_NoRenameWinClasses, FALSE); + + PATTERN* pat = List_Head(&Gui_NoRenameWinClasses); + while (pat) + { + const WCHAR* patsrc = Pattern_Source(pat); + if (patsrc[0] == L'*' && patsrc[1] == L'\0') { + Gui_RenameClasses = FALSE; + break; + } + pat = List_Next(pat); + } } // @@ -196,22 +207,6 @@ _FX BOOLEAN Gui_InitClass(HMODULE module) Gui_RenameClasses = TRUE; } - - // - // vivaldi somehow screws up its hooks and its trampoline to NtCreateSection - // ends up pointing to our RegisterClassW detour function - // to work around this issue we disable Gui_RenameClasses for vivaldi.exe - // - - // $Workaround$ - 3rd party fix - if (Gui_RenameClasses - && Dll_ImageType == DLL_IMAGE_GOOGLE_CHROME - && _wcsicmp(Dll_ImageName, L"vivaldi.exe") == 0 - && SbieApi_QueryConfBool(NULL, L"UseVivaldiWorkaround", TRUE)) { - - Gui_RenameClasses = FALSE; - } - // // hook functions // diff --git a/Sandboxie/core/svc/GuiWire.h b/Sandboxie/core/svc/GuiWire.h index 3eb5d47d..9156a2c6 100644 --- a/Sandboxie/core/svc/GuiWire.h +++ b/Sandboxie/core/svc/GuiWire.h @@ -610,6 +610,7 @@ typedef struct tagGUI_SPLWOW64_REQ GUI_SPLWOW64_REQ; // Change Display Settings //--------------------------------------------------------------------------- +#ifndef NOGDI struct tagGUI_CHANGE_DISPLAY_SETTINGS_REQ { @@ -636,6 +637,8 @@ typedef struct tagGUI_CHANGE_DISPLAY_SETTINGS_RPL GUI_CHANGE_DISPLAY_SETTINGS_RPL; +#endif + //--------------------------------------------------------------------------- // Set Cursor Pos //--------------------------------------------------------------------------- diff --git a/Sandboxie/install/Templates.ini b/Sandboxie/install/Templates.ini index c52a352a..cf7d0ddf 100644 --- a/Sandboxie/install/Templates.ini +++ b/Sandboxie/install/Templates.ini @@ -65,6 +65,7 @@ Template=COM Template=WindowsExplorer Template=ThirdPartyIsolation Template=BlockSoftwareUpdaters +Template=VivaldiCompatibility [TemplateSettings] @@ -198,6 +199,21 @@ SoftwareUpdater=slimjet.exe,*\Slimjet\updater.exe SoftwareUpdater=thunderbird.exe,*\mozilla*\updates\*updater.exe +[Template_VivaldiCompatibility] +#Tmpl.Title=#xxxx +#Tmpl.Class=WebBrowser + +# +# vivaldi somehow screws up its hooks and its trampoline to NtCreateSection +# ends up pointing to our RegisterClassW detour function +# this breaks for example the display of PDF's +# to work around this issue we disable a bunch of hooks for vivaldi.exe +# + +NoRenameWinClass=vivaldi.exe,* + + + [Template_COM] # block BITS service ClosedClsid={4991D34B-80A1-4291-83B6-3328366B9097} @@ -2359,14 +2375,6 @@ Tmpl.ScanService=SBAMSvc OpenIpcPath=*\BaseNamedObjects*\SBAM* OpenIpcPath=*\BaseNamedObjects*\OEAPI* -[Template_VPNTunnel] -Tmpl.Title=VPNTunnel Anonymous Internet -Tmpl.Class=Security -Tmpl.Url=https://www.vpntunnel.se -Tmpl.Scan=s -Tmpl.ScanProduct=VPNTunnel -SkipHook=*,wsaconn - [Template_WindowsDefender] Tmpl.Title=Windows Defender Tmpl.Class=Security