Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SeDebugPrivilege 
:(
    Опции темы
Гость_Ring0D
Дата 1.1.2006, 13:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











С наступившим Новым Годом вас господа !
Подскажите пожалуйста : как правильно надо заполнить структуры такого вида :
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Luid := SeDebugNameValue;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;


Я хочу перевести функцию получения SeDebugPrivilege с Дельфи на ассемблер, пока вот что получилось :


.586p
.model flat, stdcall
option casemap :none

include \MASM32\INCLUDE\windows.inc
include \MASM32\INCLUDE\kernel32.inc
include \MASM32\INCLUDE\shell32.inc
include \MASM32\INCLUDE\advapi32.inc

includelib \MASM32\LIB\kernel32.lib
includelib \MASM32\LIB\shell32.lib
includelib \MASM32\LIB\advapi32.lib


.data
R TOKEN_PRIVILEGES <>
hToken dd ?
SeDebug dd ?
Se db "SeDebugPrivilege",0

.code

start:
;****************
invoke GetCurrentProcess
;****************
invoke OpenProcessToken, eax, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken
;****************
invoke LookupPrivilegeValue, 0, offset Se, SeDebug
;****************
mov R.PrivilegeCount, 1
mov R.Privileges.Luid, SeDebug
;****************
ret
end start
  Вверх
rsm
Дата 1.1.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 3
Всего: 62



См. пример.
Код

;goto make

.386
.model flat, stdcall
option casemap :none  

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\advapi32.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\advapi32.lib

EnablePrivilege proto :DWORD,:DWORD

.data
    szTimePriv db "SeSystemTimePrivilege",0
    time SYSTEMTIME <0>
       
.code
start:

    invoke GetCurrentProcess
    invoke EnablePrivilege,eax,ADDR szTimePriv
    or eax,eax
    jz _exit
    ;
    invoke GetLocalTime,ADDR time    
    mov si,time.wHour
    mov time.wHour,10
    invoke SetLocalTime,ADDR time
    invoke Sleep,2000
    mov time.wHour,si
    invoke SetLocalTime,ADDR time
    ;
_exit:
    invoke ExitProcess,0

; BOOL EnablePrivilege(DWORD hProcess, DWORD szPrivilegeName)
;
; Аргументы:
;           hProcess - хэндл процесса, получающего права;
;           szPrivilegeName - название права (строка);
;
; Возвращаемое значение:
;          0 [FALSE] - права не получены;
;          1 [TRUE] - права успешно получены;
;    
EnablePrivilege proc hProcess:DWORD, szPrivilegeName:DWORD
    LOCAL hToken :DWORD
    LOCAL tpNew :TOKEN_PRIVILEGES    
    
    invoke OpenProcessToken,hProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,ADDR hToken
    .IF eax
        invoke LookupPrivilegeValue,0,szPrivilegeName,ADDR tpNew.Privileges[0].Luid
        .IF eax
            mov tpNew.PrivilegeCount,1
            mov tpNew.Privileges[0].Attributes,SE_PRIVILEGE_ENABLED
            invoke AdjustTokenPrivileges,hToken,0,ADDR tpNew,0,0,0
        .ENDIF
    .ENDIF
    ret
EnablePrivilege endp

end start

;:make
;\masm32\bin\ml.exe /c /coff priv.cmd
;\masm32\bin\link.exe /SUBSYSTEM:WINDOWS priv.obj
;del priv.obj
;pause


Это сообщение отредактировал(а) rsm - 1.1.2006, 18:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.