Выполнить функцию из dll в драйвере
От: jun0  
Дата: 13.09.09 21:29
Оценка:
Необходимо при загрузке драйвера в точке входа DriverEntry запустить file.exe или выполнить функцию из DLL. Подскажите пожалуйста каким образом это возможно сделать?
Re: Выполнить функцию из dll в драйвере
От: x64 Россия  
Дата: 13.09.09 21:48
Оценка:
J>Необходимо при загрузке драйвера в точке входа DriverEntry запустить file.exe или выполнить функцию из DLL.

И то и другое реализовать непосредственно из драйвера документированными методами — нереально, а недокументированными — достаточно трудоёмко, по крайне мере, трудоёмко для того, кто этого раньше никогда не делал. Если ещё непонятно: описанное тобой — нонсенс, ядро не предназначено для этого. Расскажи, какую задачу решаем, более подробно, — возможно, посоветуем что-нибудь более подходящее, ну а если уж совсем никак, так и быть, расскажу как вызвать DLL.
Re: Выполнить функцию из dll в драйвере
От: ononim  
Дата: 13.09.09 22:59
Оценка:
J>Необходимо при загрузке драйвера в точке входа DriverEntry запустить file.exe или выполнить функцию из DLL. Подскажите пожалуйста каким образом это возможно сделать?
зачем усложнять себе жизнь? почему не поставить file.exe как сервис?
Как много веселых ребят, и все делают велосипед...
Re[2]: Выполнить функцию из dll в драйвере
От: Serjio Россия  
Дата: 14.09.09 06:12
Оценка:
>>Необходимо при загрузке драйвера, в точке входа DriverEntry запустить file.exe или выполнить функцию из DLL.

> [...] расскажу как вызвать DLL.


в двух словах, основные моменты, если можно.
обозначте куда рыть, пожайлуста
Только на РСДН помимо ответа на вопрос, можно получить еще список орфографических ошибок и узнать что-то новое из грамматики английского языка (c) http://www.rsdn.ru/forum/cpp/4720035.1.aspx
Автор: ZOI4
Дата: 28.04.12
Re[3]: Выполнить функцию из dll в драйвере
От: x64 Россия  
Дата: 14.09.09 07:10
Оценка:
>> [...] расскажу как вызвать DLL.
S>в двух словах, основные моменты, если можно.
S>обозначте куда рыть, пожайлуста

В одном из следующих сообщений в блоге я расскажу об этом более подробно, ну а пока думаю вот этого будет вполне достаточно для затравки. Плюс если ещё и DLL надо внедрить из ядра, тогда вот это
Автор: x64
Дата: 06.12.08
дополнит картину. По размеру кода (а это ещё даже не половина) уже понятно, надеюсь, что такие вещи делать лучше не стоит, если нет чёткого понимания что и зачем.
Re: Выполнить функцию из dll в драйвере
От: Аноним  
Дата: 26.09.09 14:19
Оценка:
Уважаемый x64, также очень интересует этот вопрос, дождемся ли мы от вас статейки на волнующую тему?)
Re[2]: Выполнить функцию из dll в драйвере
От: x64 Россия  
Дата: 26.09.09 14:40
Оценка:
А>Уважаемый x64, также очень интересует этот вопрос, дождемся ли мы от вас статейки на волнующую тему?)

Дождёмся-дождёмся, когда только вот не знаю... Честно говоря, не думал, что этот вопрос так волнует людей. Ну хорошо, статьи пока нет, а чем вам не угодил вот этот
Автор: x64
Дата: 14.09.09
материал? Там, конечно, не всё, понятно, ну тем не менее особых сложностей не вижу. Плюс на васме статьи, плюс на руткитсах, плюс на вирустехе, у твистера чего-то там было ещё... Материала-то, так если подумать, собрать можно — по крупицам, да, но а как я по вашему всё это решал? Исходники WRK, плюс что-то у кого-то спросить, плюс в сети пошукать, плюс самому подумать, чай не шапку носить голова-то приделана...

Впрочем, более интересный вопрос — а зачем это вообще надо? Ну я вот в своё время руткит писал, там это мне было нужно, да, а вам зачем? Тоже что ли руткит? Если да, тогда ладно, можете не отвечать, если нет, тогда мне просто ради интереса ответьте — зачем такое вообще могло понадобится в легальном приложении? Что-то в голову ничего не приходит.
Re: Выполнить функцию из dll в драйвере
От: Аноним  
Дата: 01.10.09 09:10
Оценка:
Здравствуйте, jun0, Вы писали:

J>Необходимо при загрузке драйвера в точке входа DriverEntry запустить file.exe или выполнить функцию из DLL. Подскажите пожалуйста каким образом это возможно сделать?


Пишу тольк для того чтобы проколься и чтобы потыкать "знатоков" которые говорят что это очень трудно. Ха-ха, функцию из длл, вызвать также просто как написать этот текст. Просто вызять и вызвать. А x64 давно уже пора перестать думать что он чем то отличается от других . Пол ядра построенно на длл, Гении, билини... Блоги... и пр. , x64, а так же прочие "знатоки" от секурити, хватит позориться, эх... Был контингент на форуме в 2005 — 2007 годах, вот были знатоки, а теперь позирище одно, да и еще с амбициями, типа кругом идиоты.

Повторю, для автора топика — используйте статическую линктовку, исполльзутйте загрузку длл-ек, не слушайте тек кто говорит, что это трудно, это элементарно.
Re[2]: Выполнить функцию из dll в драйвере
От: x64 Россия  
Дата: 01.10.09 09:46
Оценка: +1
А>Пишу тольк для того чтобы проколься

Мы видим, — да, ты прокололся по полной программе.

А>и чтобы потыкать "знатоков" которые говорят что это очень трудно.


Не то чтобы "очень", но кому-то это не под силу. Бывает и такое, что ж теперь.

А>Ха-ха, функцию из длл, вызвать также просто как написать этот текст. Просто вызять и вызвать.


Ты уверен, что правильно понял вопрос автора топика?

А>А x64 давно уже пора перестать думать что он чем то отличается от других.


Ну... Я, например, отличаюсь грамотной русской речью, которую всё же приятнее читать, чем каракули.

А>x64, а так же прочие "знатоки"...


За всех не скажу, но я вроде нигде в "гуру" не записывался, зачем ты мне этим тыкаешь? Я так, с краю, по чуть-чуть, чего-нибудь немножко...

А>Повторю, для автора топика — используйте статическую линктовку, исполльзутйте загрузку длл-ек


От щаз как побегу свои либы к ntoskrnl.exe линковать статически... А чего ж? Нормальный такой способ вызова кода из ядра...

А>не слушайте тек кто говорит, что это трудно, это элементарно.


Да, текст на клавиатуре настучать пару абзацев за 5 секунд тоже элементарно. Правда, такая херня получается (с).
Re[2]: Выполнить функцию из dll в драйвере
От: -prus-  
Дата: 01.10.09 10:16
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Был контингент на форуме в 2005 — 2007 годах, вот были знатоки, а теперь позирище одно, да и еще с амбициями, типа кругом идиоты.


Что за форум? Раз ты так говоришь резко, видимо, много работ делал. Не дашь ссылку, где можно посмотреть твои работы? Интересно до ужаса...
С уважением,
Евгений
Re[2]: Выполнить функцию из dll в драйвере
От: ononim  
Дата: 01.10.09 12:58
Оценка: +1
J>>Необходимо при загрузке драйвера в точке входа DriverEntry запустить file.exe или выполнить функцию из DLL. Подскажите пожалуйста каким образом это возможно сделать?
А>Пишу тольк для того чтобы проколься и чтобы потыкать "знатоков" которые говорят что это очень трудно. Ха-ха, функцию из длл, вызвать также просто как написать этот текст. Просто вызять и вызвать. А x64 давно уже пора перестать думать что он чем то отличается от других . Пол ядра построенно на длл, Гении, билини... Блоги... и пр. , x64, а так же прочие "знатоки" от секурити, хватит позориться, эх... Был контингент на форуме в 2005 — 2007 годах, вот были знатоки, а теперь позирище одно, да и еще с амбициями, типа кругом идиоты.
Это вы идиот. Автор хочет из яжра вызвать функцию юзермодной длл. В юзермоде соответственно.
Как много веселых ребят, и все делают велосипед...
Re[3]: Выполнить функцию из dll в драйвере
От: Аноним  
Дата: 01.10.09 14:30
Оценка:
Здравствуйте, ononim, Вы писали:


O>Это вы идиот. Автор хочет из яжра вызвать функцию юзермодной длл. В юзермоде соответственно.


Юзермодной длл? Это что за особенность такая Чушь... Нет разницы.
Re[3]: Выполнить функцию из dll в драйвере
От: Аноним  
Дата: 01.10.09 14:35
Оценка:
Здравствуйте, x64, Вы писали:


x64>От щаз как побегу свои либы к ntoskrnl.exe линковать статически... А чего ж? Нормальный такой способ вызова кода из ядра...


Разберись с темой. Создать длл и вызвать ее функцию в ядре очень просто, ровно так же как в не в ядре.
.
Re[4]: Выполнить функцию из dll в драйвере
От: x64 Россия  
Дата: 01.10.09 14:43
Оценка:
А>Создать длл и вызвать ее функцию в ядре очень просто, ровно так же как в не в ядре.

А, понял! Ты имеешь в виду такое:

NTSTATUS
DriverEntry (...)
{
  ...

  ::MessageBox (
    hKernelWnd,
    L"I'm from kernel! That's very simply!",
    L"Kernel message",
    MB_ICONINFORMATION);

  ...
}


Действительно, прям как в usermode! Сегодня же попробую! +500
Re[4]: Выполнить функцию из dll в драйвере
От: ononim  
Дата: 01.10.09 14:58
Оценка:
O>>Это вы идиот. Автор хочет из яжра вызвать функцию юзермодной длл. В юзермоде соответственно.
А>Юзермодной длл? Это что за особенность такая Чушь... Нет разницы.
Фперед и с песней загрузите в ядро user32.dll и позовите MessageBoxW.
Как много веселых ребят, и все делают велосипед...
Re[5]: Выполнить функцию из dll в драйвере
От: Аноним  
Дата: 01.10.09 17:10
Оценка:
Здравствуйте, ononim, Вы писали:

O>>>Это вы идиот. Автор хочет из яжра вызвать функцию юзермодной длл. В юзермоде соответственно.

А>>Юзермодной длл? Это что за особенность такая Чушь... Нет разницы.
O>Фперед и с песней загрузите в ядро user32.dll и позовите MessageBoxW.

А зачем именно эту функцию. Вы просто не в курсе я так понимаю, почему ее нельзя звать когда попало.

Знатоки билин-би.
Re[5]: Выполнить функцию из dll в драйвере
От: axxie  
Дата: 01.10.09 17:46
Оценка:
Здравствуйте, ononim, Вы писали:

O>Фперед и с песней загрузите в ядро user32.dll и позовите MessageBoxW.


Оффтоп: знаете, таки можно. Только не подумайте, что я это советую делать в коммерческом или бесплатном продукте. Я пробовал вызывать юзеровские функции из режима ядра в NT 4 чисто для эксперимента, и у меня даже что-то работало. MessageBox, кажется не работал, а вот GetDC и всякие LineTo — работали. Т.е. я из режима ядра рисовал на десктопе картинку.

Хотя если говорить о комментариях нашего анонимного гостя, то это чушь.
Re[6]: Выполнить функцию из dll в драйвере
От: Аноним  
Дата: 02.10.09 08:46
Оценка: -1
Здравствуйте, axxie, Вы писали:

A>Здравствуйте, ononim, Вы писали:


O>>Фперед и с песней загрузите в ядро user32.dll и позовите MessageBoxW.


A>Оффтоп: знаете, таки можно. Только не подумайте, что я это советую делать в коммерческом или бесплатном продукте. Я пробовал вызывать юзеровские функции из режима ядра в NT 4 чисто для эксперимента, и у меня даже что-то работало. MessageBox, кажется не работал, а вот GetDC и всякие LineTo — работали. Т.е. я из режима ядра рисовал на десктопе картинку.


A>Хотя если говорить о комментариях нашего анонимного гостя, то это чушь.


Таки чушь?

А длл-и, все одинаковые и не бывает каких-то особых "для ядра" ... Длл-и это библитеки и естественно в библиотеку можно положить любой код. А вот код бывает разный, есть тот который можно использовать в определенном контексте. Так что нельзя говорить юзермодная длл, можно говорить "функция которая должна вызываться только в контексте какой-то юзерской сесси", например."
Re[3]: Выполнить функцию из dll в драйвере
От: Аноним  
Дата: 02.10.09 08:58
Оценка:
Здравствуйте, -prus-, Вы писали:

P>Здравствуйте, Аноним, Вы писали:


А>>Был контингент на форуме в 2005 — 2007 годах, вот были знатоки, а теперь позирище одно, да и еще с амбициями, типа кругом идиоты.


P>Что за форум? Раз ты так говоришь резко, видимо, много работ делал. Не дашь ссылку, где можно посмотреть твои работы? Интересно до ужаса...


Этот форум. Я говорю резко — так как неприемлю самоуверенную некомпетентность. Даже в период 2005-2008 тут были "молодые (видимо) активисты" которые даже не доконца понимая высказывания тех "знатоков" наделяли себя правом выстутать с альтернативным мнением, которого на самом деле именно в темитике данного форума, при верном изначальном высказывании и быть-то не может. Вот поэтому кстати может быть и "зубры" — то и перестали писать тут. Хотя как там было на самом деле мне не известно.

Так что резкость моя, направленна только на пресловутого х64, которого иногда заносит.
Re[7]: Выполнить функцию из dll в драйвере
От: ononim  
Дата: 02.10.09 11:04
Оценка:
А>Таки чушь?
А>А длл-и, все одинаковые и не бывает каких-то особых "для ядра" ... Длл-и это библитеки и естественно в библиотеку можно положить любой код. А вот код бывает разный, есть тот который можно использовать в определенном контексте. Так что нельзя говорить юзермодная длл, можно говорить "функция которая должна вызываться только в контексте какой-то юзерской сесси", например."
Код можно положить вообще безо всяких длл ек.
Но в юзермодных длл кладется код который предназначен для работы в юзермоде.
Как много веселых ребят, и все делают велосипед...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.