Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
menmafox
0 / 0 / 1
Регистрация: 02.02.2015
Сообщений: 11
#1

Получить SE_DEBUG_NAME привилегию для OpenProcess c полным доступом - Visual Basic .NET/.NET 4.x

26.06.2015, 14:28. Просмотров 264. Ответов 2
Метки нет (Все метки)

Нужно получить SE_DEBUG_NAME привилегию для OpenProcess c полным доступом

Все необходимые функции есть:

vb.net
1
2
3
4
Public Declare Function CloseHandle Lib "kernel32.dll" (ByVal hHandle As IntPtr) As Boolean
    Declare Function LookupPrivilegeValue Lib "advapi32.dll" (lpSystemName As String, lpName As String, ByRef lpLuid As Long) As Boolean
    Declare Function OpenProcessToken Lib "advapi32.dll" (ProcessHandle As IntPtr, DesiredAccess As System.UInt32, ByRef TokenHandle As IntPtr) As Boolean
    Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As IntPtr, ByVal DisableAllPrivileges As Boolean, ByRef NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Integer, ByRef PreviousState As IntPtr, ByRef ReturnLength As IntPtr) As Boolean
TOKEN_PRIVILEGES:
vb.net
1
2
3
4
5
    Structure TOKEN_PRIVILEGES
        Public PrivilegeCount As Integer
        Public TheLuid As Long
        Public Attributes As Integer
    End Structure
Сам код получения SE_DEBUG_NAME:

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 Public Sub DebugPrivilages(ByVal Enable As Boolean)
        Dim htok As IntPtr = IntPtr.Zero
        Dim tp As New TOKEN_PRIVILEGES
        Try
            If Enable = True Then
                OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, htok)
                tp.Attributes = SE_PRIVILEGE_ENABLED
                tp.PrivilegeCount = 1
                tp.TheLuid = 0
                LookupPrivilegeValue(vbNullString, SE_DEBUG_NAME, tp.TheLuid)
                AdjustTokenPrivileges(htok, False, tp, 0, IntPtr.Zero, IntPtr.Zero)
            End If
 
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
 
        Finally
            If htok <> 0 Then
                CloseHandle(htok)
 
            End If
        End Try
    End Sub
Выдает ошибку: "Не удается найти точку входа "LookupPrivilegeValue" в DLL "advapi32.dll"."
Побывал запустить с правами администратора и обычного пользователя.
Заранее спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2015, 14:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x Получить SE_DEBUG_NAME привилегию для OpenProcess c полным доступом (Visual Basic .NET):

Как получить привилегию для текущего процесса?
bool InitPrivilege() { const uint SE_PRIVILEGE_ENABLED =...

Стать владельцем с полным доступом и грохнуть папку
Пока гуглил вопрос Стать владельцем и получить полный доступ C# обратил...

Active Directory. Как добавить всем терминалам одинаковую папку на рабочий стол с полным доступом ?
Добрый день может кто подскажет есть сервер к нему подключаются терминалы как...

OpenProcess, программа не может получить доступ к процессу
Здравствуйте уважаемые форумчане я пишу Trainer для одной игры под названием...

OpenProcess для XP
Здравствуйте! Написал следующий код для нахождения процесса: Function...

АПИ "OPENPROCESS" не работает для системных процессов.
Прблемма такая: Я знаю пиды (PID) всех процессов на компьюторе. Мне нужно...

2
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
26.06.2015, 15:48 #2
Лучший ответ Сообщение было отмечено menmafox как решение

Решение

Нет такой функции - LookupPrivilegeValue.
Есть LookupPrivilegeValueW и LookupPrivilegeValueA.

Цитата Сообщение от menmafox Посмотреть сообщение
Побывал
Так говорите, за границей побывали ? Да, побывал.
(c)
2
menmafox
0 / 0 / 1
Регистрация: 02.02.2015
Сообщений: 11
26.06.2015, 16:20  [ТС] #3
Спасибо, все заработало
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2015, 16:20
Привет! Вот еще темы с решениями:

Составить усложненную (с полным объяснением) задачу для 8-9 класса по картинке
Помогите составить усложненую (с полным обьяснением) задачу для 8-9 класса по...

OpenProcess
Мне нужно запустить свой поток в чужом порцессе. Код потока слудующий: ...

Подскажите как программно отличить папку с открытым общим доступом от папки с закрытым общим доступом
Необходимо считать все папки общего доступа на устройстве, но не нашел метода...

OpenProcess возвращает 0
#include &lt;iostream&gt; #include &quot;windows.h&quot; int main() { int pid = 000;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru