Главная страница
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.02 c
1-17131
Winni
2003-02-22 15:22
2003.03.06
Как в Делфи вызвать прерывание ? Например, прочесть сектор.


1-17149
Ozone
2003-02-20 09:37
2003.03.06
DELPHI - MSWORD


3-16877
Брат
2003-02-14 13:34
2003.03.06
Проблема с просмотром VIEW


14-17366
JibSkeart
2003-02-17 11:08
2003.03.06
А почему все говорят что нельзя из DLL узнать имя функции ??


14-17344
Дмитрий К.К.
2003-02-17 06:08
2003.03.06
Именинники 17 февраля