本帖最后由 kn007 于 2009-7-6 21:49 编辑
主要是LocalSecurityAuthority.au3 修改了权限去创建不能结束的系统进程,修改了系统的某些东西,致使很多软件失效,如 unlocker等这些需要调用的都会失效,而且任务管理器有时会意外终止。。。实在是郁闷之极,不过单纯的udf能搞到这样地步,也挺NB了
我用的是一下源码#include <LocalSecurityAuthority.au3>
If Not IsDeclared("PROCESS_ALL_ACCESS") Then $PROCESS_ALL_ACCESS = 0x1F0FFF
; 移除当前用户的调试程序(SeDebugPrivilege)权限。
$iAccess = bitOr($POLICY_LOOKUP_NAMES, $POLICY_VIEW_LOCAL_INFORMATION)
$hPolicy = _LsaOpenPolicy($iAccess)
$aAccount = _LsaEnumerateAccountsWithUserRight($hPolicy, $SE_DEBUG_NAME)
If IsArray($aAccount) Then
For $i = 0 to Ubound($aAccount) - 1
_LsaRemoveAccountRights($aAccount[$i][2], $SE_DEBUG_NAME)
Next
_LsaClose($hPolicy)
If Msgbox(49, "", "第一次运行请先注销系统。") = 1 Then
Shutdown(0)
EndIf
Exit
EndIf
; 定义访问权限信息,返回ACL指针
; 拒绝everyone的所有访问。
$pAcl = _SetEntriesInAcl1("Everyone", $PROCESS_ALL_ACCESS, $DENY_ACCESS)
; 创建进程,返回PID。
$sApplication = @WindowsDir & "\Notepad.exe" ; 进程路径
$sArguments = "" ; 进程参数,可以是空值。
$sSystemProcess = "WinLogon.exe" ; 现有的系统级进程名或进程ID。
$iProcessId = _CreateProcessAsSystem($sApplication, $sArguments, $sSystemProcess, $pAcl)
Msgbox(0, "", "Identifier of the newly created process: " & $iProcessId)
|