1
0
mirror of https://github.com/valinet/ExplorerPatcher.git synced 2024-11-15 03:27:35 +01:00
Commit Graph

60 Commits

Author SHA1 Message Date
Amrsatrio
bdc0212d92 Update libvalinet 2024-03-13 11:02:03 +07:00
Valentin Radu
cdead1b18a libvalinet: Upgraded to latest version which fixes VnGetUBR
Thanks @roflcopter4
2023-09-25 02:29:54 +03:00
Valentin Radu
6fb998eb75 Version: 22621.1555.55.2 2023-04-24 04:15:27 +03:00
Valentin Radu
d7a038564b All: Protect against crashes caused by failure to patch the IAT
Impact: A recent bug report on the Mozilla Firefox issue tracker
(https://bugzilla.mozilla.org/show_bug.cgi?id=1798707) identifies a
crash in the Firefox browser caused by an invalid memory access
performed by ExplorerPatcher (https://crash-stats.mozilla.org/signature/?signature=explorerpatcher.amd64.dll%20|%20%3Cunknown%20in%20Windows.UI.FileExplorer.dll%3E%20|%20explorerpatcher.amd64.dll%20|%20RtlpFindEntry%20|%20RtlpAllocateHeap%20|%20RtlpAllocateHeapInternal%20|%20explorerpatcher.amd64.dll%20|%20RtlDosApplyFileIsolationRedirection_Ustr%20|%20LdrpApplyFileNameRed...&date=%3E%3D2022-11-02T20%3A44%3A00.000Z&date=%3C2022-11-16T20%3A44%3A00.000Z).
This might happen only when the "Register as shell extension: option
is used, and ExplorerPatcher is injected in other processes. Testing
was unable to reproduce the issue, but looking on the crash logs it
was determined that it likely happens in "VnPatchDelayIAT", where
the memory is patched regardless of whether the protection level
actually succeeded changing or not. The call is suspected to fail
when certain antivirus solutions are used, although a clear test case
with this scenario could not be determined.

Also, code review determined that a race condition might happen in both
"VnPatchIAT" and "VnPatchDelayIAT", where some other thread might
unload the module while the code works with it, attempting to patch the
requested function.

Description: The issue has been addressed by improved checks and
ensuring the module is not unloaded while the functions work with it.
The program only attempts to patch the memory if the previous
protection change call actually succeeded. Additionally, the module
reference count is increased prior to working with it when attempting
the patch, in order to prevent other threads from successfully
unloading it. The proposed changes should harden the code against
unexpected behavior and should address the crashes experienced when
the code runs in other processes, including Firefox.
2022-11-17 01:28:31 +02:00
Valentin Radu
5cef3b12c3 GUI: Expose sws scroll wheel behavior option 2022-10-12 18:30:04 +03:00
Valentin Radu
3fe00cb138 sws: Support for changing selection in window list using the mouse wheel 2022-10-12 02:51:59 +03:00
Valentin Radu
7deb97e510 sws: Sync with upstream
Changes in this version:
* [Store layout window flags in single variable](633fb2c51a)
* [Use external variable to detect if desktop is foreground](4b9ff84436)
* [Fix regression when detecting foreground window changes](8ab7a45162)
* [Draw DWM-like placeholder when window has zero width or height](764a2913b4)
* [Enforce a minimum size for a window rectangle](bc8b04e451)
2022-05-28 13:40:08 +03:00
Valentin Radu
cf4700af6f sws: Fixed a bug that created unnecessary paint events when a window was flashing and the switcher is not shown 2022-05-27 21:52:42 +03:00
Valentin Radu
d9004c1566 sws: Fixed a bug that caused the switcher to display a hung UWP app twice 2022-05-24 19:20:34 +03:00
Valentin Radu
7f76dca159 libvalinet: Fixed memory leak in toast.h 2022-05-23 21:47:48 +03:00
Valentin Radu
d350b0e178 sws: Fixed #1084 2022-05-17 22:33:30 +03:00
Valentin Radu
67a6fc00aa All: Use global OS version query functions 2022-03-06 00:04:30 +02:00
Valentin Radu
2cc9b0ed7f All: Fixes for Windows 10 2022-02-21 02:42:35 +02:00
Valentin Radu
6e21fa70e3 All: Fixed clock and hotkey not invoking action center on Windows 10; fixed sws close button misalignment on Windows 10 2022-02-20 21:03:15 +02:00
Valentin Radu
a626f3d7f8 Screen reader: Read "x of y" instead of "x out of y" 2022-02-18 00:20:46 +02:00
Valentin Radu
94c604bde5 sws: Layout updates when switcher is displayed and new window is created 2022-01-31 02:30:21 +02:00
Valentin Radu
5d4466147d Implemented weather taskbar widget 2022-01-27 04:35:27 +02:00
Valentin Radu
82da95b384 Updated to latest sws 2022-01-21 13:36:59 +02:00
Valentin Radu
ce115e0585 Updated to latest sws 2022-01-18 05:08:30 +02:00
Valentin Radu
69707a3fda Fixed bug in sws' per-application list that caused the switcher to only show the most recent UWP app 2022-01-14 12:45:44 +02:00
Valentin Radu
52cc461bf6 Simple Window Switcher can switch applications instead of windows (#665) 2022-01-14 03:22:54 +02:00
Valentin Radu
37dbfd9291 Support for screen readers 2022-01-05 05:02:25 +02:00
Valentin Radu
d35cdeb0bd Updated sws 2021-12-28 23:17:40 +02:00
Valentin Radu
98fb6c4ea5 Updated CHANGELOG; sws 2021-12-24 03:50:39 +02:00
Valentin Radu
b31921a5bb Bug fixes and upgrade to latest sws 2021-12-21 23:01:07 +02:00
Valentin Radu
6a22776e93 Updated to latest sws 2021-12-15 06:03:26 +02:00
Valentin Radu
4383e29ec4 Lighter crossmark for window close button in sws 2021-12-15 05:25:18 +02:00
Valentin Radu
c0372a0d6c Small speedup in sws 2021-12-15 01:18:52 +02:00
Valentin Radu
c4194136f6 Zeroise buffer passed to GetClassNameW 2021-12-14 23:34:38 +02:00
Valentin Radu
9bfef43934 Fixed a stack corruption (#546) 2021-12-12 20:33:22 +02:00
Valentin Radu
e8a0e5f455 Ability to close windows with middle button in sws 2021-12-12 15:55:07 +02:00
Valentin Radu
ef7ee79169 Fixed #525 (3) 2021-12-11 17:35:06 +02:00
Valentin Radu
f154cc1d06 Fixed #525 (2) 2021-12-10 20:04:55 +02:00
Valentin Radu
04c496047c Fixed #525 2021-12-10 03:07:23 +02:00
Valentin Radu
19834620e6 sws window padding is configurable 2021-12-10 00:03:12 +02:00
Valentin Radu
6f19d53ffd Fixed bug that prevented proper loading of default settings in sws 2021-12-06 04:49:23 +02:00
Valentin Radu
3df305b2e1 Possibility to disable per-application window lists (Alt+`) in sws (283#issuecomment-986261712) 2021-12-05 20:37:46 +02:00
Valentin Radu
b0e38bcda2 Fixed regression of #161 2021-12-05 18:37:26 +02:00
Valentin Radu
c7c94b306c Updated to latest sws 2021-12-05 06:12:03 +02:00
Valentin Radu
7ba0ba1152 * Implemented virtualized registry access (so that complex behaviors can be employed but the existing lightweight GUI infrastructure is kept in place)
* Updated to latest sws.
* Fixed compilation in debug to produce a proper setup
* Updated branding for 2022.
2021-12-05 04:04:41 +02:00
Valentin Radu
e12a8bb3f6 Clicking "Close" in the Windows 10 window switcher is now more tolerant to small mouse movements (#110) 2021-11-24 14:01:55 +02:00
Valentin Radu
425efcbf67 Fixed #449 2021-11-23 20:40:28 +02:00
Valentin Radu
113aa744a0 Implemented absolute height and width parameters for the Windows 10 switcher 2021-11-20 01:02:12 +02:00
Valentin Radu
fbc9b3df09 Updated to latest sws 2021-11-18 18:13:40 +02:00
Valentin Radu
0d68ad399d Fixed bug in sws that crashed explorer when more than 20 windows were open 2021-11-14 18:26:11 +02:00
Valentin Radu
241fde9c4f Added option to choose language switcher flyout style; fixed #283 2021-11-08 07:47:22 +02:00
Valentin Radu
bbf10c2b7f Artifacts name change 2021-11-05 08:17:47 +02:00
Valentin Radu
3ac5921444 Fixes #263 2021-11-05 07:42:54 +02:00
Valentin Radu
145c03914a Updated to latest sws 2021-11-05 00:51:22 +02:00
Valentin Radu
c0bdc4346d Updated to latest sws 2021-11-04 14:00:21 +02:00