Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых)

 eXeL@B —› Программирование —› Компиляция драйвера
Посл.ответ Сообщение

Ранг: 5.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 ноября 2006 11:09
· Личное сообщение · #1

Подскажите, пожалуйста, как к проекту, компилируемому из WINDDK с помощью батника прикрутить заранее собранный объектный файл?

Или подскажите ссылку, пожалуйста, на шаблон для выпуска драйвера из Visual Studio (что-то в сети нашел, но не работающее).

Заранее благодарен.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 22 ноября 2006 16:43 · Поправил: s0larian
· Личное сообщение · #2

Добавь (или измени) переменную TARGETLIBS в своём sources файле:

TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib 3rd-party\hack.obj




Ранг: 22.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 22 ноября 2006 22:04
· Личное сообщение · #3

у меня тут тоже вопрос возник по поводу компиляции драйвера. За пару дней удалось добиться, чтобы драйвер компилировался из visual studio. Но я знаю. что для нормальной работы драйвера, нужно чтобы он был скомпилировал через build.exe. Какие параметры у него там нужны? он там требует что-то.



Ранг: 4.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 23 ноября 2006 00:51
· Личное сообщение · #4

to fix200

Для build.exe нужны source и makefile. См. примеры в DDK. У Солдатова эта тема разжевана.



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 23 ноября 2006 01:44
· Личное сообщение · #5

fix200 пишет:
для нормальной работы драйвера, нужно чтобы он был скомпилировал через build.exe

а у меня работает скомпиленный из студии, что я не так делаю ?



Ранг: 228.7 (наставник), 2thx
Активность: 0.120
Статус: Участник
malware research

Создано: 23 ноября 2006 04:20
· Личное сообщение · #6

infern0

"Компилятор и редактор связей Visual Studio C++ создают нормальный бинарный код, вполне работоспособный при указании соответствующих опций (настроек) компиляции, однако эталоном следует считать бинарный код, получающийся при компиляции кода драйвера с использованием утилиты Build из состава пакета DDK
----
Окончательную компиляцию драйвера (как чистовую, так и отладочную) категорически рекомендуется выполнять утилитой Build из среды DDK, поскольку иные способы компиляции могут быть источником необъяснимых странностей в поведении драйвера"
---©Солдатов В.П., 2004

-----
Research is my purpose




Ранг: 115.1 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 23 ноября 2006 05:20
· Личное сообщение · #7

можно использовать визард из DS или от Шрайбера




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 27 ноября 2006 11:06
· Личное сообщение · #8

fix200, значит так - смотришь в log созданный build утилитой - в нём будут все флаги компилера. Потом создаёшь новый проект dll и выставляешь все опцайки. Смотришь в build log созданый VS и паришь установки проекта пока обы лога не становятся похожи. Потом тестишь дровину.



Ранг: 5.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 ноября 2006 07:18
· Личное сообщение · #9

s0larian пишет:
Добавь (или измени) переменную TARGETLIBS в своём sources файле:

TARGETLIBS=$(DDK_LIB_PATH) dis.lib 3rd-partyhack.obj


Спасибо, заработало! Не пришлось прикручивать проект к Студии.



Ранг: 163.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 02 декабря 2006 03:03 · Поправил: S_T_A_S_
· Личное сообщение · #10

эталоном следует считать бинарный код, получающийся при компиляции кода драйвера с использованием утилиты Build из состава пакета DDK
Это не так. Visual Studio 2005 имеет тип проекта "драйвер".
Краткие обзоры книги Солддатова можно прочитать --> здесь <-- http://rsdn.ru/Forum/Message.aspx?mid=1957104&only=1 и --> здесь <-- http://rsdn.ru/Forum/Message.aspx?mid=1956760&only=1



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 02 декабря 2006 09:25
· Личное сообщение · #11

Error_Log пишет:
поскольку иные способы компиляции могут быть источником необъяснимых странностей в поведении драйвера"

если руки кривые, то билд и батники не спасут.



Ранг: 135.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 03 декабря 2006 02:13
· Личное сообщение · #12

а переписан ли DDK на pascal/delphi

ЗЫ
сорри за оффтоп



Ранг: 228.7 (наставник), 2thx
Активность: 0.120
Статус: Участник
malware research

Создано: 03 декабря 2006 09:01
· Личное сообщение · #13

Короче ЯХЗ кто чем компилирует, а я юзаю BUILD и не жалуюсь. А насчет ошибок в книге - покажите где их нет, или напишите лучше. Насчет фразы "необъяснимых странностей" то я конечно же думаю, что любые странности имеют обьяснение, его просто нужно найти. А фраза "кривые" и "прямые" руки скоро будет доводить меня до истерического смеха . Чего то все считают себя умнее других, а сделать лучше чего-то не берутся.

-----
Research is my purpose




Ранг: 163.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 03 декабря 2006 11:06
· Личное сообщение · #14

Все компилируют компилятором cl.exe, а линкуют линкером link.exe. ХЗ - дык это из чего надо исходить, утверждая, что результаты работы link.exe различаются в зависимости от способа его запуска - из build или msdev.

Error_Log пишет:
насчет ошибок в книге - покажите где их нет, или напишите лучше

Ты второй линк не посмотрел. Книга состоит из ошибок и перевода Art Baker & Jerry Lozano.




Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 03 декабря 2006 12:28
· Личное сообщение · #15

S_T_A_S_ пишет:
дык это из чего надо исходить, утверждая, что результаты работы link.exe различаются в зависимости от способа его запуска


Исходить надо из разных ключей, с которыми запускаются компилятор и линкер.

-----
Скажем дружно - нафиг нужно.




Ранг: 163.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 03 декабря 2006 14:19
· Личное сообщение · #16

Ms-Rem
Ты всерьёз считаешь, что нужные ключи нельзя указать?




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 04 декабря 2006 13:19
· Личное сообщение · #17

S_T_A_S_ пишет:
Все компилируют компилятором cl.exe, а линкуют линкером link.exe. ХЗ - дык это из чего надо исходить, утверждая, что результаты работы link.exe различаются в зависимости от способа его запуска - из build или msdev.

cl.exe идёт из самого DDK и в нём есть пара ключей которых нет в обычно компилере. Но, они используются IIRC только для старых 95/98 targets. Так что да, все опцайки можно добить посмотрев в log.




Ранг: 120.6 (ветеран)
Активность: 0.090
Статус: Участник
rootkit developer

Создано: 04 декабря 2006 13:38
· Личное сообщение · #18

S_T_A_S_ пишет:
Ты всерьёз считаешь, что нужные ключи нельзя указать?


А где это я говорил, что нельзя указать?

-----
Скажем дружно - нафиг нужно.




Ранг: 191.8 (ветеран), 46thx
Активность: 0.170
Статус: Участник

Создано: 09 декабря 2006 10:11
· Личное сообщение · #19

может в помощь - попался на глаза старый ресурс
www.phdcc.com/
www.phdcc.com/phdio/
www.phdcc.com/debugprint/
файл нашел у друзей
www.pudn.com/downloads/sourcecode/windows/vxd/wdmdriv3.zip



Ранг: 163.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 10 декабря 2006 20:24
· Личное сообщение · #20

s0larian пишет:
cl.exe идёт из самого DDK и в нём есть пара ключей которых нет в обычно компилере

Компиляторы в студии и DDK одинаковые.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 11 декабря 2006 14:48
· Личное сообщение · #21

S_T_A_S_ ага, шас

VS2005/VC8: Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
DDK/XP: Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9176 for 80x86

Причём у v13 build не тот что в VC7/7.1

Но, это не суть как важно, т.к. стандартный 2000/XP драйвет скомпилиццо и тем и другим.



Ранг: 163.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 11 декабря 2006 18:17
· Личное сообщение · #22

Ты б еще MSVC6 сравнил с WDK

WDK (бета 5308) - 14.00.50727.58
В DDK XP компиль от 2002 студии


 eXeL@B —› Программирование —› Компиляция драйвера
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати