【发布时间】:2011-11-28 13:14:46
【问题描述】:
这里提到了一个很酷的功能:
Prevent user process from being killed with "End Process" from Process Explorer
有谁知道如何将此 C++ 代码翻译成 Python(或重新编辑它,以便它至少可以在 C/C++ 中编译,假设它是这样的):
static const bool ProtectProcess()
{
HANDLE hProcess = GetCurrentProcess();
EXPLICIT_ACCESS denyAccess = {0};
DWORD dwAccessPermissions = GENERIC_WRITE|PROCESS_ALL_ACCESS|WRITE_DAC|DELETE|WRITE_OWNER|READ_CONTROL;
BuildExplicitAccessWithName( &denyAccess, _T("CURRENT_USER"), dwAccessPermissions, DENY_ACCESS, NO_INHERITANCE );
PACL pTempDacl = NULL;
DWORD dwErr = 0;
dwErr = SetEntriesInAcl( 1, &denyAccess, NULL, &pTempDacl );
// check dwErr...
dwErr = SetSecurityInfo( hProcess, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, pTempDacl, NULL );
// check dwErr...
LocalFree( pTempDacl );
CloseHandle( hProcess );
return dwErr == ERROR_SUCCESS;
}
【问题讨论】:
-
为什么要让用户更难终止进程?
-
编辑它以使其编译为 C++ 是什么意思。它不编译吗?看起来很容易通过 ctypes 移植到 Pythin。
-
不胜感激上面的 ctype 示例
-
那么,您喜欢 ctypes 示例吗?