Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];

Вниз

Загрузка kernel mode драйвера из памяти   Найти похожие ветки 

 
ter   (2007-09-07 12:57) [0]

Возможно ли загрузить драйвер без использования менеджера сервисов?
Т.е. загрузить драйвер из области памяти, поместив его туда заранее.


 
Инс ©   (2007-09-07 13:15) [1]

А зачем прятать драйвер?


 
ter   (2007-09-07 13:18) [2]

тело драйвера находится в ресурсе, необходимо его распаковать в память и загрузить.


 
Инс ©   (2007-09-07 13:29) [3]

Насколько мне известно, утилиты Руссиновича  (у них тоже драйвер в ресурсах) прозрачно для пользователя сбрасывают драйвер на диск и загружают. Теоретически конечно можно написать свой загрузчик из памяти, но ИМХО лучше первое. Хотя можно еще поискать исходники этих утилит, и посмотреть, как он это сделал.


 
ter   (2007-09-07 13:30) [4]

сохранять тело драйвера на диск не желательно


 
Инс ©   (2007-09-07 13:33) [5]


> сохранять тело драйвера на диск не желательно

Даже если вы напишите загрузчик из памяти, он все равно будет работать через менеджер сервисов, так что если вы хотите таким образом спрятать все следы загрузки драйвера - ничего не выйдет.


 
ter   (2007-09-07 13:36) [6]

можно обойтись и без менеджера сервисов, есть правда небольшие ограничения


 
Инс ©   (2007-09-07 13:39) [7]


> можно обойтись и без менеджера сервисов

Тогда повторю вопрос [1]


 
clickmaker ©   (2007-09-07 13:39) [8]


> сохранять тело драйвера на диск не желательно

почему?


 
Игорь Шевченко ©   (2007-09-07 13:41) [9]


> Возможно ли загрузить драйвер без использования менеджера
> сервисов?


До сих пор было невозможно.

http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Executable%20Images/NtLoadDriver.html


 
Undri   (2007-09-07 13:41) [10]

Сбрасывает на диск из ресурсов -> загружает SCM"ом -> удаляет с диска


 
Rouse_ ©   (2007-09-07 13:42) [11]

В свое время занимался этим вопросом, вплоть до консультаций с разработчиками одной из виртуальных машин, но даже они не смогли сказать ничего вразумительного по данному вопросу...
Работать драйвер без образа на жестком диске может. Пример PSSDK от Microolap, но даже их варинат драйвера перед загрузкой скидывается из ресурсов на диск и после загрузки удаляется...


 
Undri   (2007-09-07 13:43) [12]


> Хотя можно еще поискать исходники этих утилит, и посмотреть,
>  как он это сделал.


 
Инс ©   (2007-09-07 13:44) [13]


> Undri   (07.09.07 13:43) [12]

ЧТД.


 
ter   (2007-09-07 13:45) [14]

вот неапример код загрузки драйвера без использования менеджера сервисов, хотя он также берет тело драйвера из файла
взято здесь: http://rootkits.ru/library/ShowLib.aspx?id_l=21

//----------------------------------------------------------------
// load a sys file as a driver using undocumented method
//----------------------------------------------------------------
bool load_sysfile()
{
     SYSTEM_LOAD_AND_CALL_IMAGE GregsImage;
     WCHAR daPath[] = L"\\??\\C:\\MIGBOT.SYS";
     //////////////////////////////////////////////////////////////
     // get DLL entry points
     //////////////////////////////////////////////////////////////
     if(!(RtlInitUnicodeString = (RTLINITUNICODESTRING)
                 GetProcAddress( GetModuleHandle("ntdll.dll")
                 ,"RtlInitUnicodeString"
                 )))
     {
           return false;
     }

     if(!(ZwSetSystemInformation = (ZWSETSYSTEMINFORMATION)
                                   GetProcAddress(
                                   GetModuleHandle("ntdll.dll")
                                   ,"ZwSetSystemInformation" )))
     {
           return false;
     }

     RtlInitUnicodeString(&(GregsImage.ModuleName),
                          daPath);
     if(!NT_SUCCESS(
                 ZwSetSystemInformation(SystemLoadAndCallImage,
                                                   &GregsImage,
     sizeof(SYSTEM_LOAD_AND_CALL_IMAGE))))
     {
           return false;
     }
     return true;
}


 
SLoW.AlfaMoon.Com   (2007-09-10 10:22) [15]


> Возможно ли загрузить драйвер без использования менеджера
> сервисов?
> Т.е. загрузить драйвер из области памяти, поместив его туда
> заранее.


Файл нужен. Поскольку ZwCreateSection с флагом SEC_IMAGE на входе требует хэндл файла.



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

Форум: "WinAPI";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.012 c
15-1207726314
foyevtsov
2008-04-09 11:31
2008.05.25
Про редактор кода


2-1209531259
solo_
2008-04-30 08:54
2008.05.25
Назначение OnDrawColumnCell в Рантайм для Грида


6-1187166992
Чайнег
2007-08-15 12:36
2008.05.25
TServerSocket и шлюз


9-1170550431
PGD-2007
2007-02-04 03:53
2008.05.25
Стартовал конкурс PGD-2007


2-1209050918
mahab
2008-04-24 19:28
2008.05.25
Ace





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский