以下这段C+如何翻译成VB??

zxsean 2009-07-23 10:07:43

1: #define WAR3_BREAK_ADDRESS 0x6F3AE20C

2: HANDLE hcurrent=GetCurrentProcess();
HANDLE hToken;
BOOL bret=OpenProcessToken(hcurrent,TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hToken);
LUID luid;
bret=LookupPrivilegeValue(NULL,"SeDebugPrivilege",&luid);
TOKEN_PRIVILEGES NewState,PreviousState;
DWORD ReturnLength;
NewState.PrivilegeCount =1;
NewState.Privileges[0].Luid =luid;
NewState.Privileges[0].Attributes=2;
bret=AdjustTokenPrivileges(hToken,FALSE,&NewState,28,&PreviousState,&ReturnLength);
CloseHandle(hToken);
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
贝隆 2009-07-23
  • 打赏
  • 举报
回复
学习
zxsean 2009-07-23
  • 打赏
  • 举报
回复
万分感谢
「已注销」 2009-07-23
  • 打赏
  • 举报
回复

Private Const TOKEN_ADJUST_PRIVILEGES = &H20
Private Const TOKEN_QUERY = &H8

Private Const WAR3_BREAK_ADDRESS = &H6F3AE20C

Private Type LUID_AND_ATTRIBUTES
Luid As Long
Attributes As Long
End Type

Private Type TOKEN_PRIVILEGES
PrivilegeCount As Long
Privileges() As LUID_AND_ATTRIBUTES
End Type

Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LARGE_INTEGER) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Sub xxxx() '不知道你这个过程名字叫啥。。。。
Dim hCurrent As Long, hToken As Long, Luid As Long, ReturnLength As Long
Dim bRet As Boolean
Dim NewState As TOKEN_PRIVILEGES
Dim PreviousState As TOKEN_PRIVILEGES
hCurrent = GetCurrentProcess
bRet = (OpenProcessToken(hCurrent, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hToken) <> 0)
bRet = (LookupPrivilegeValue(vbNullString, "SeDebugPrivilege", Luid) <> 0)
With NewState
.PrivilegeCount = 1
ReDim .Privileges(0)
.Privileges(0).Luid = Luid
.Privileges(0).Attributes = 2
End With
bRet = (AdjustTokenPrivileges(hToken, 0, NewState, 28, PreviousState, ReturnLength) <> 0)
Call CloseHandle(hToken)
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧