Выгрузка статического драйвера из работающей системы

Тема в разделе "WASM.WIN32", создана пользователем BadLogin, 9 окт 2008.

  1. BadLogin

    BadLogin Серёга =)

    Публикаций:
    0
    Регистрация:
    9 окт 2008
    Сообщения:
    82
    Адрес:
    Сайнт-Пи
    Идеальным вариантом будет на Ассемблере, но тогда не знаю как применить привелегию по выгрузке системных драйверов - SE_LOAD_DRIVER_NAME.
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    NtUnloadDriver -> IopUnloadDriver ->
    Код (Text):
    1.         if (!SeSinglePrivilegeCheck( SeLoadDriverPrivilege, requestorMode )) {
    2.             return STATUS_PRIVILEGE_NOT_HELD;
    3.         }
     
  3. BadLogin

    BadLogin Серёга =)

    Публикаций:
    0
    Регистрация:
    9 окт 2008
    Сообщения:
    82
    Адрес:
    Сайнт-Пи
    не понял ... такой топик уже есть ??? ссылку можешь скинуть ...
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Код (Text):
    1. Local Privilege:ULONG
    2.     invoke RtlAdjustPrivilege, SE_LOAD_DRIVER_PRIVILEGE, TRUE, FALSE, addr Privilege
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Если на масме то удобно макрос юзать.
    Код (Text):
    1. ADJUST_PRIVILEGE macro Privilege
    2.     push eax        ;Privilege
    3.     push esp
    4.     push FALSE
    5.     push TRUE
    6.     push Privilege
    7.     Call RtlAdjustPrivilege
    8.     lea esp,[esp + 4]
    9. endm
     
  6. BadLogin

    BadLogin Серёга =)

    Публикаций:
    0
    Регистрация:
    9 окт 2008
    Сообщения:
    82
    Адрес:
    Сайнт-Пи
    ЭЭЭЭ... может вопрос не выдал моего уровня ... давайте так ... Я могу в готовый PE файл встроить сегмент. Так вот, какие прыжки и где нужно поставить я в курсе, чтобы EXE-шник работал как и прежде. Мне нужен код который с необходимыми привелегиями выгружает драйвер <название драйвера>.
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Непонятно что нужно. Винапи вроде достаточно(OpenService/ControlService/DeleteService). Всёравно NtUnloadDriver будет вызван, тока в контексте services.exe
     
  8. BadLogin

    BadLogin Серёга =)

    Публикаций:
    0
    Регистрация:
    9 окт 2008
    Сообщения:
    82
    Адрес:
    Сайнт-Пи
    Я просто не такой уж и програмист ... Я прост не умею пользоваться этими ВинАПИшными функциями, т.е. ничего рабочего пока что не написал. Ни на с++, ни уж тем более на Ассемблере. Но задачку придумал вполне конкретную выгрузить из памяти конкретный драйвер програмной вкладкой. Со вкладками разобрался, а вот как выгрузить драйвер - не знаю.
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    http://msdn.microsoft.com/en-us/library/ms685942(VS.85).aspx
    VB ?
     
  10. BadLogin

    BadLogin Серёга =)

    Публикаций:
    0
    Регистрация:
    9 окт 2008
    Сообщения:
    82
    Адрес:
    Сайнт-Пи
    Хм .. а по-русски ... мне бы код к разбору по выгрузке драйвера системного на ассемблере.. простите наглость ))) Но сча сижу тока с мобилы и каждый выход в инет по роумингу встает в копеечку ...