Как загрузить драйвер в ХР

Тема в разделе "WASM.HEAP", создана пользователем Nextor, 3 янв 2012.

  1. Nextor

    Nextor New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2008
    Сообщения:
    122
    Доброго времени суток. Подскажите пожалуйста как загрузить драйвер в ХР с созданием ключей реестра, раньше грузил с помощью Syser, но после замекны железа он отказался работать, просто вешает систему и все... Читаю книжку - Руткиты. Внедрение в ядро WINDOWS. Там утилитка для загрузки описана но ее я не нашел да-же в сети... Хочу чтоб драйвер загрузился после перезагрузки системы...
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Зарегистрируйте! Как это сделать ищите по сайту.
     
  3. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Nextor
    А что за драйвер? Если драйвер железа, то нужен .inf файл, в нем указывается, скажем, VID/PID. Когда PnP manager увидит, что было подключено железо с этими VID/PID, то сам найдет и загрузит драйвер. Ну а если это просто руткит, без привязки к железу, то консольная утилита "sc" сделает все что нужно. Сначала делаем sc create _parameters_, затем sc start DriverName. Ну или самому загрузчик написать.
     
  4. Nextor

    Nextor New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2008
    Сообщения:
    122
    Mika0x65
    А можно по подробнее про "sc", да, это просто руткит, я ламер пока...
     
  5. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    1) Существуют как консольные (упомянутая sc), так и гуишные утилиты для загрузки, например DrvLoad.exe, можно найти в сети. Все они используют такие WinAPI как CreateService, StartService и т.д. Можешь сам загрузчик написать, примеров в сети море.
    2) Скопировать и создать по аналогии какую-нибудь ветку реестра, грузящую, скажем beep.sys, изменив при этом ImageName и параметры старта драйвера
     
  6. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Nextor
    Если просто запустить sc без параметров, она выдает подробную справку, как ей пользоваться. Ну или как сказал steelfactor.
     
  7. Nextor

    Nextor New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2008
    Сообщения:
    122
    Всем спасибо, вопрос решен, помогла статья с сайта, поиск рулит. http://www.wasm.ru/article.php?article=drvw2k02

    Пользуясь случаем хочу спросить - возможно ли в BSODe - скрыть имя драйвера. Извините что по ламерски выразился.
     
  8. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Я тоже присоединяюсь)). Начинаю внедряться в ядерную смесь
     
  9. rttgedt

    rttgedt Антон

    Публикаций:
    0
    Регистрация:
    12 окт 2010
    Сообщения:
    85
  10. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Прикольно
     
  11. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    #include <windows.h>
    int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
    {
    SC_HANDLE SCManager;
    SC_HANDLE CreateServis;
    char DriverPath[MAX_PATH];
    char *NamePath;

    SCManager = OpenSCManager(0, 0, SC_MANAGER_CREATE_SERVICE);
    if(SCManager)
    {
    MessageBox(0,"Открыли OpenSCManager",0,0);
    if (GetFullPathName("beep.sys", sizeof(DriverPath), DriverPath, &NamePath))//esp
    {
    MessageBox(0,DriverPath,NamePath,0);
    MessageBox(0,"Получили путь драйвера",0,0);
    }
    else
    return 0;
    CreateServis = CreateService(SCManager,"beep1","Бип :lol: ",SERVICE_START | SERVICE_STOP , SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_IGNORE, DriverPath, 0, 0, 0, 0, 0);
    if(CreateServis)
    {
    MessageBox(0,"Создали Сервис","CreateServis",0);
    StartService(CreateServis,0,0);
    DeleteService(CreateServis);
    CloseServiceHandle(CreateServis);
    }

    else
    MessageBox(0,"Не возможно зарегистрировать драйвер",0,0);
    CloseServiceHandle(CreateServis);
    }
    else
    MessageBox(0,"Не могу подключиться к менеджеру",0,0);
    ExitProcess(0);
    return 0;

    }

    Это на си с этой статьи. Теперь у меня бикает и заново не запускается. Хотя я его вроде останавливаю он не выгружается. Мммммммм.
     
  12. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    А ты какой отладчик используешь? 2 компа или один?
     
  13. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    958
    один 2 компа наверное =)

    HKLM/System/CurrentControlSet/Services & NtLoadDriver по сабжу
     
  14. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    )))
     
  15. Nextor

    Nextor New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2008
    Сообщения:
    122
    yashechka
    Пока ничего не использую, на рабочей, живой системе тренируюсь. Буду ставить виртуальную машину и на нее SoftICE...
    Я раньше (во время учебы) реневерсинжинерингом занимался - в принципе с отладкой немного знаком...
     
  16. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    958
    да нахрена сайс то? поставь нормально virtualkd/visualddk и можешь прямо из студии или виндебагом ядерный код отлаживать
     
  17. Nextor

    Nextor New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2008
    Сообщения:
    122
    sn0w
    Качнул студию VS2010PremTrial но пока не ставил - а в ней есть "virtualkd/visualddk" ?
     
  18. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    958
    стафф тут http://sysprogs.org/

    а судя по названию серии студии, то английская ultimate ест такое YCFHQ9DWCYDKV88T2TMHG7BHP ес чо)