![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
x8m6 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Есть приложение и отдельно лежащий драйвер .sys который это приложение юзает. Можно каким-либо способом запихнуть этот драйвер в приложение, так чтобы это был один цельный исполняемый файл? Пробовал на этапе компиляции добавлять драйвер к ресурсам приложения (студия при этом выдала диалог add custom rule - я на него забил) , но не помогло. Может из-за того что custom rule не задал?
|
|||
|
||||
Fynivx |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 13.8.2011 Репутация: нет Всего: 1 |
Запихнуть в data-сегмент, а при запуске извлечь, записать в файл и заюзать. В руткитах так обычно делают.
------------------ Извините, не до читал до конца. Да - именно к ресурсам и добавлять. Не знаю, как это в Вашей среде организовано, но после - вполне должно быть возможно обратиться к нему, как к ресурсу. Это сообщение отредактировал(а) Fynivx - 17.1.2012, 19:10 |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Добавлю - что бы загрузить драйвер (в систему) его надо иметь в виде отдельного файла. А уж как этот файл появится - это ваше дело (можно и из ресурсов экстрагировать). Кстати, после загрузки файл можно и удалить (IMHO)
|
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
а что ехе себя в виде драйвера не сможет разве загрузить?
-------------------- |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Тут либо exe либо драйвер - у них разные подсистемы в PE, да и по сути они разные вещи: exe это exe, а драйвер - это dll режима ядра |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
xvr
При чем тут подсистемы? что sys что dll что ехе = РЕ формат. Никто же не запрещает делать экспорты из ехе и потом грузить через LoadLibrary, хотя с dll там тоже подсистемы разные. пс шас попробую) Это сообщение отредактировал(а) 500mhz - 18.1.2012, 20:11 -------------------- |
|||
|
||||
x8m6 |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Делаю, как в статье, ссылку на которую предоставил тов. Dem_max
В myapp.rc добавил строчку:
Прописал это в заголовке resource.h:
В проекте VS добавил drv.sys в папку Resource Files в Solution Explorer. В коде загружаю ресурс:
Но FindResource возвращает NULL. Что не так?
А сразу в память нельзя? Может использовать какой-нибудь упаковщик? |
||||||||
|
|||||||||
Dem_max |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Ну не знаю, во первых бы проверил, что в EXE действительно присутствует drv.sys в секции RCDATA
Ну вот мой 100% рабочий код
и пример использования
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||||||
|
|||||||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Драйвер грузить система, и она откажется это делать, если в его PE (в заголовке, в поле Subsystem) не будет прописанна 1. (Для exe там стоиn 2, для dll - 1) Мда, теоритечески dll наверное можно загрузить как драйвер, а вот exe скорее всего нет |
|||
|
||||
x8m6 |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Dem_max, попробовал и твой код, все равно FindResource возвращает NULL. В VS в resource viewer в разделе RCDATA есть drv.sys
Как проверить? UPD: Посмотрел через Resource Tuner. В секции RC DATA получаемой exe присутствует Portable Executable (PE type) под именем "DRIVER" с содержимым:
Это сообщение отредактировал(а) x8m6 - 19.1.2012, 19:44 |
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Смущает то, что имя в капсе, а у вас в исходнике (как я понял) нет. На всякий случай попробуйте и в исходнике так же прописать. |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Да однозначно, чтобы не мучиться в ресурсах не буквы а цифры.
а тут сделаешь так
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
x8m6 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Да, проблема была в этом. Только теперь антивирус думает что это руткит
![]() |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
упакуй EXE каким нить пакером UPX возможно антивирус не прочюхает.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |