Skip to content

Commit 072331c

Browse files
committed
Revert "Improve 'driver unload on exit' options window, Remove kernel-driver SCM and RPC dependencies"
This reverts commit 0a8a178.
1 parent c1a8d8c commit 072331c

File tree

4 files changed

+180
-159
lines changed

4 files changed

+180
-159
lines changed

ProcessHacker/ProcessHacker.rc

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,6 +1329,7 @@ BEGIN
13291329
CONTROL "Enable warnings",IDC_ENABLEWARNINGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,68,10
13301330
CONTROL "Enable kernel-mode driver",IDC_ENABLEKERNELMODEDRIVER,
13311331
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,19,99,10
1332+
CONTROL "Hide unnamed handles",IDC_HIDEUNNAMEDHANDLES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,31,88,10
13321333
CONTROL "Check images for digital signatures and packing",IDC_ENABLESTAGE2,
13331334
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,43,167,10
13341335
CONTROL "Resolve addresses for network connections",IDC_ENABLENETWORKRESOLVE,
@@ -1340,13 +1341,13 @@ BEGIN
13401341
CONTROL "Enable cycle-based CPU usage",IDC_ENABLECYCLECPUUSAGE,
13411342
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,91,114,10
13421343
CONTROL "Replace Task Manager with Process Hacker",IDC_REPLACETASKMANAGER,
1343-
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,103,154,10
1344-
PUSHBUTTON "Change...",IDC_CHANGE,161,101,62,14
1345-
LTEXT "History sample count:",IDC_SAMPLECOUNTLABEL,7,117,70,8
1346-
EDITTEXT IDC_SAMPLECOUNT,82,116,39,12,ES_AUTOHSCROLL | ES_NUMBER
1347-
CONTROL "Automatic",IDC_SAMPLECOUNTAUTOMATIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,126,117,48,10
1344+
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,105,154,10
1345+
PUSHBUTTON "Change...",IDC_CHANGE,161,103,62,14
1346+
LTEXT "History sample count:",IDC_SAMPLECOUNTLABEL,7,121,70,8
1347+
EDITTEXT IDC_SAMPLECOUNT,82,120,39,12,ES_AUTOHSCROLL | ES_NUMBER
1348+
CONTROL "Automatic",IDC_SAMPLECOUNTAUTOMATIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,126,121,48,10
13481349
CONTROL "Unload kernel-mode driver on exit",IDC_UNLOADKERNELMODEDRIVERONEXIT,
1349-
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,31,124,10
1350+
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,7,124,10
13501351
END
13511352

13521353
IDD_GDIHANDLES DIALOGEX 0, 0, 351, 307

ProcessHacker/main.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ INT WINAPI wWinMain(
289289
result = PhMainMessageLoop();
290290

291291
if (PhGetIntegerSetting(L"KphUnloadOnShutdown"))
292-
KphUninstall(NULL);
292+
PhUnloadDriver(NULL, KPH_DEVICE_SHORT_NAME);
293293

294294
RtlExitUserProcess(result);
295295
}
@@ -571,9 +571,8 @@ VOID PhInitializeKph(
571571
kprocesshackerFileName = PhConcatStringRef2(&PhApplicationDirectory->sr, &kprocesshacker);
572572
processhackerSigFileName = PhConcatStringRef2(&PhApplicationDirectory->sr, &processhackerSig);
573573

574-
parameters.SecurityLevel = KphSecuritySignatureCheck;
574+
parameters.SecurityLevel = KphSecurityPrivilegeCheck;
575575
parameters.CreateDynamicConfiguration = TRUE;
576-
577576
KphConnect2Ex(KPH_DEVICE_SHORT_NAME, kprocesshackerFileName->Buffer, &parameters);
578577

579578
if (signature = PhpReadSignature(processhackerSigFileName->Buffer, &signatureSize))

ProcessHacker/options.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,7 @@ VOID PhpAdvancedPageLoad(
674674

675675
SetDlgItemCheckForSetting(hwndDlg, IDC_ENABLEWARNINGS, L"EnableWarnings");
676676
SetDlgItemCheckForSetting(hwndDlg, IDC_ENABLEKERNELMODEDRIVER, L"EnableKph");
677+
SetDlgItemCheckForSetting(hwndDlg, IDC_HIDEUNNAMEDHANDLES, L"HideUnnamedHandles");
677678
SetDlgItemCheckForSetting(hwndDlg, IDC_ENABLESTAGE2, L"EnableStage2");
678679
SetDlgItemCheckForSetting(hwndDlg, IDC_ENABLENETWORKRESOLVE, L"EnableNetworkResolve");
679680
SetDlgItemCheckForSetting(hwndDlg, IDC_PROPAGATECPUUSAGE, L"PropagateCpuUsage");
@@ -689,9 +690,6 @@ VOID PhpAdvancedPageLoad(
689690
if (PhGetIntegerSetting(L"SampleCountAutomatic"))
690691
EnableWindow(GetDlgItem(hwndDlg, IDC_SAMPLECOUNT), FALSE);
691692

692-
if (!PhGetIntegerSetting(L"EnableKph"))
693-
EnableWindow(GetDlgItem(hwndDlg, IDC_UNLOADKERNELMODEDRIVERONEXIT), FALSE);
694-
695693
// Replace Task Manager
696694

697695
changeButton = GetDlgItem(hwndDlg, IDC_CHANGE);
@@ -759,6 +757,7 @@ VOID PhpAdvancedPageSave(
759757

760758
SetSettingForDlgItemCheck(hwndDlg, IDC_ENABLEWARNINGS, L"EnableWarnings");
761759
SetSettingForDlgItemCheckRestartRequired(hwndDlg, IDC_ENABLEKERNELMODEDRIVER, L"EnableKph");
760+
SetSettingForDlgItemCheck(hwndDlg, IDC_HIDEUNNAMEDHANDLES, L"HideUnnamedHandles");
762761
SetSettingForDlgItemCheckRestartRequired(hwndDlg, IDC_ENABLESTAGE2, L"EnableStage2");
763762
SetSettingForDlgItemCheckRestartRequired(hwndDlg, IDC_ENABLENETWORKRESOLVE, L"EnableNetworkResolve");
764763
SetSettingForDlgItemCheck(hwndDlg, IDC_PROPAGATECPUUSAGE, L"PropagateCpuUsage");
@@ -866,6 +865,7 @@ INT_PTR CALLBACK PhpOptionsAdvancedDlgProc(
866865
// Disable all controls except for Replace Task Manager.
867866
EnableWindow(GetDlgItem(hwndDlg, IDC_ENABLEWARNINGS), FALSE);
868867
EnableWindow(GetDlgItem(hwndDlg, IDC_ENABLEKERNELMODEDRIVER), FALSE);
868+
EnableWindow(GetDlgItem(hwndDlg, IDC_HIDEUNNAMEDHANDLES), FALSE);
869869
EnableWindow(GetDlgItem(hwndDlg, IDC_ENABLESTAGE2), FALSE);
870870
EnableWindow(GetDlgItem(hwndDlg, IDC_ENABLENETWORKRESOLVE), FALSE);
871871
EnableWindow(GetDlgItem(hwndDlg, IDC_PROPAGATECPUUSAGE), FALSE);
@@ -914,11 +914,6 @@ INT_PTR CALLBACK PhpOptionsAdvancedDlgProc(
914914
NtClose(threadHandle);
915915
}
916916
break;
917-
case IDC_ENABLEKERNELMODEDRIVER:
918-
{
919-
EnableWindow(GetDlgItem(hwndDlg, IDC_UNLOADKERNELMODEDRIVERONEXIT), Button_GetCheck(GetDlgItem(hwndDlg, IDC_ENABLEKERNELMODEDRIVER)) == BST_CHECKED);
920-
}
921-
break;
922917
case IDC_SAMPLECOUNTAUTOMATIC:
923918
{
924919
EnableWindow(GetDlgItem(hwndDlg, IDC_SAMPLECOUNT), Button_GetCheck(GetDlgItem(hwndDlg, IDC_SAMPLECOUNTAUTOMATIC)) != BST_CHECKED);

0 commit comments

Comments
 (0)