Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.06;
Скачать: CL | DM;

Вниз

Как запустить в отладочном режиме?   Найти похожие ветки 

 
ers   (2003-01-17 09:28) [0]

Народ!
Как можно запустить какуюнибудь прогу с отладочными привелегиями, а ещё лучше если саму себя запустить с этими привелегиями.....
И вопрос ещё один! Если мы запустили прогу с отладочными привелегиями, то родитель должен постоянно висеть или нет?


 
Digitman ©   (2003-01-17 09:30) [1]

см. CreateProcess[Ex] c флагом DEBUG_PROCESS


 
SeF ©   (2003-01-17 11:17) [2]

если себя то "включи" себе debug привилегию (если запускается под админом)


 
ers   (2003-01-17 16:26) [3]

А как конкретно это осуществить?


 
SeF ©   (2003-01-18 00:36) [4]

Установка/снятие debug привилегии:

if not OpenProcessToken( GetCurrentProcess(),
var
hToken:THandle;
SeDebugNameValue:Int64;
tkp:TOKEN_PRIVILEGES;
ReturnLength:Cardinal;
hProcess:THandle;
pfnExitProcess: Pointer;
hInstance: Integer;
hThread: DWORD;

begin
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken )
then exit;

// Получаем LUID привилегии
if not LookupPrivilegeValue( nil, "SeDebugPrivilege", SeDebugNameValue )
then begin
CloseHandle(hToken);
exit;
end;

tkp.PrivilegeCount:= 1;
tkp.Privileges[0].Luid := SeDebugNameValue;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

// Добавляем привилегию к нашему процессу
AdjustTokenPrivileges(hToken,false,tkp,SizeOf(tkp),tkp,ReturnLength);
if GetLastError()<>ERROR_SUCCESS then exit;

// делаем что хотим

// Удаляем привилегию
tkp.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(tkp), tkp, ReturnLength);
if GetLastError() <> ERROR_SUCCESS
then exit;
end;


 
SeF ©   (2003-01-18 00:38) [5]

опс.. :)

var
hToken:THandle;
SeDebugNameValue:Int64;
tkp:TOKEN_PRIVILEGES;
ReturnLength:Cardinal;
hProcess:THandle;
pfnExitProcess: Pointer;
hInstance: Integer;
hThread: DWORD;

begin
if not OpenProcessToken( GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken )
then exit;
...




 
Nick_N_A ©   (2003-01-18 05:26) [6]

Допустим нашли мы прогу, стартовали, подготовили,
но у меня получается ее только запускать и останавливать,
Suspend/Resume, а как просмотреть переменные/память, и т д ?
GetAce вроде тепло, но неработает . . .



Страницы: 1 вся ветка

Текущий архив: 2003.03.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
1-17113
Dunkan
2003-02-22 11:23
2003.03.06
как узнать время в мили секундах?


1-17016
Charly22
2003-02-21 21:02
2003.03.06
Отображение реестра в TTreeView


7-17401
Groove_
2002-12-11 19:41
2003.03.06
Online/Offline


14-17377
SeNtiMeL
2003-02-15 01:15
2003.03.06
Обработка сообщения WM_SYSCOMMAND !!!!


4-17449
Nick_N_A
2003-01-18 07:30
2003.03.06
ActiveX & COM