moonboor 发表于 2009-7-6 21:26:41

会修改注册表权限的请进

我想修改注册表项的权限。但不知道如何设置。请各位指点。最好可以说得详细一点。

autoit3CN 发表于 2009-7-6 21:27:57

http://www.autoitx.com/forum.php?mod=viewthread&tid=7452&highlight=%D7%A2%B2%E1%B1%ED%C8%A8%CF%DE

autoit3CN 发表于 2009-7-6 21:28:37

http://www.autoitx.com/forum.php?mod=viewthread&tid=1099&highlight=%D7%A2%B2%E1%B1%ED%C8%A8%CF%DE
还有一个,自己摸索下

kn007 发表于 2009-7-6 21:29:05

LocalSecurityAuthority.au3
王道
不过仍有欠缺。。。。
题外话了

pusofalse 发表于 2009-7-6 21:44:25

4# kn007
的确,单就“创建不能结束的SYSTEM进程”来说,LocalSecurityAuthority.au3确实存在很大的BUG,到现在我一直在改进某些函数、增加一些新的函数以完成更多的安全审核方面的功能。另外,其他的BUG欠缺,kn007小伙可以明示吗,非常感谢!

kn007 发表于 2009-7-6 21:48:12

本帖最后由 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], $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)
页: [1]
查看完整版本: 会修改注册表权限的请进