Issue Sandman

This commit is contained in:
love-code-yeyixiao 2024-05-05 13:38:47 +08:00
parent 728051f594
commit ee5b8575bd
1 changed files with 27 additions and 20 deletions

View File

@ -103,6 +103,8 @@ static BOOLEAN Process_IsWindowsExplorerParent(HANDLE ParentId);
static BOOLEAN Process_IsImmersiveProcess(
PEPROCESS ProcessObject, HANDLE ParentId, ULONG SessionId);
static BOOLEAN Process_IsAnyProcessParent(HANDLE ParentId, WCHAR* Name);
void Process_CreateForceData(
LIST *boxes, const WCHAR *SidString, ULONG SessionId);
@ -762,8 +764,7 @@ _FX BOOLEAN Process_IsDcomLaunchParent(HANDLE ParentId)
// ¡°Automatically sandbox child processes created by File Explorer.¡±.
//---------------------------------------------------------------------------
_FX BOOLEAN Process_IsWindowsExplorerParent(HANDLE ParentId)
_FX BOOLEAN Process_IsAnyProcessParent(HANDLE ParentId,WCHAR* Name)
{
BOOLEAN retval = FALSE;
@ -775,7 +776,7 @@ _FX BOOLEAN Process_IsWindowsExplorerParent(HANDLE ParentId)
Driver_Pool, (ULONG_PTR)ParentId, &nbuf, &nlen, &nptr);
if (nbuf) {
if (_wcsicmp(nptr, L"explorer.exe") == 0) {
if (_wcsicmp(nptr, Name) == 0) {
retval = TRUE;
}
@ -785,6 +786,11 @@ _FX BOOLEAN Process_IsWindowsExplorerParent(HANDLE ParentId)
return retval;
}
_FX BOOLEAN Process_IsWindowsExplorerParent(HANDLE ParentId)
{
return Process_IsAnyProcessParent(ParentId,L"explorer.exe");
}
//---------------------------------------------------------------------------
@ -1388,6 +1394,7 @@ _FX BOX *Process_CheckForceProcess(
return box->box;
}
if (Process_IsWindowsExplorerParent(Parent) && wcscmp(Conf_Get(NULL, L"ForceExplorerChild", 0), box->box->name)==0) {
if(wcsicmp(name,"Sandman.exe")!=0)
return box->box;
}
box = List_Next(box);