This commit is contained in:
DavidXanatos 2023-03-12 17:04:24 +01:00
parent 5c9b8ddd01
commit 9e7cacb829
2 changed files with 27 additions and 4 deletions

View File

@ -11,7 +11,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
### Fixed ### Fixed
- fixed issue with finder search in tracelog - fixed issue with finder search in tracelog
- fixed issue with NT namespace virtualization [#2701](https://github.com/sandboxie-plus/Sandboxie/issues/2701) - fixed issue with NT namespace virtualization [#2701](https://github.com/sandboxie-plus/Sandboxie/issues/2701)
- fixed issue with run unsandboxed [#2710](https://github.com/sandboxie-plus/Sandboxie/issues/2710)
## [1.8.0 / 5.63.0] - 2023-02-27 ## [1.8.0 / 5.63.0] - 2023-02-27

View File

@ -152,6 +152,7 @@ _FX BOX *Process_GetForcedStartBox(
BOX *box; BOX *box;
ULONG alert; ULONG alert;
BOOLEAN check_force; BOOLEAN check_force;
BOOLEAN is_start_exe;
BOOLEAN force_alert; BOOLEAN force_alert;
BOOLEAN dfp_already_added; BOOLEAN dfp_already_added;
BOOLEAN same_image_name; BOOLEAN same_image_name;
@ -235,7 +236,29 @@ _FX BOX *Process_GetForcedStartBox(
box = Process_CheckBoxPath(&boxes, ImagePath2); box = Process_CheckBoxPath(&boxes, ImagePath2);
if ((! box) && CurDir) //
// when the process is start.exe we ignore the CurDir and DocArg
//
is_start_exe = FALSE;
WCHAR *image_name = wcsrchr(ImagePath, L'\\');
if (image_name) {
ULONG len = (ULONG)(image_name - ImagePath);
if ((len == Driver_HomePathNt_Len) &&
(wcsncmp(ImagePath, Driver_HomePathNt, len) == 0)) {
//image_sbie = TRUE;
if (_wcsicmp(image_name + 1, START_EXE) == 0) {
is_start_exe = TRUE;
}
}
}
if ((! box) && CurDir && !is_start_exe)
box = Process_CheckBoxPath(&boxes, CurDir); box = Process_CheckBoxPath(&boxes, CurDir);
if (!box) { if (!box) {
@ -248,12 +271,12 @@ _FX BOX *Process_GetForcedStartBox(
&boxes, ImageName, force_alert, &alert); &boxes, ImageName, force_alert, &alert);
} }
if ((! box) && CurDir && (! alert)) { if ((! box) && CurDir && !is_start_exe && (! alert)) {
box = Process_CheckForceFolder( box = Process_CheckForceFolder(
&boxes, CurDir, force_alert, &alert); &boxes, CurDir, force_alert, &alert);
} }
if ((! box) && DocArg && (! alert)) { if ((! box) && DocArg && !is_start_exe && (! alert)) {
box = Process_CheckForceFolder( box = Process_CheckForceFolder(
&boxes, DocArg, force_alert, &alert); &boxes, DocArg, force_alert, &alert);
} }