Посл.ответ |
Сообщение |
Ранг: 5.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 18 ноября 2006 11:09 · Личное сообщение · #1
Подскажите, пожалуйста, как к проекту, компилируемому из WINDDK с помощью батника прикрутить заранее собранный объектный файл?
Или подскажите ссылку, пожалуйста, на шаблон для выпуска драйвера из Visual Studio (что-то в сети нашел, но не работающее).
Заранее благодарен.
| Сообщение посчитали полезным: |
|
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 22 ноября 2006 16:43 · Поправил: s0larian · Личное сообщение · #2
Добавь (или измени) переменную TARGETLIBS в своём sources файле:
TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib 3rd-party\hack.obj
| Сообщение посчитали полезным: |
Ранг: 22.0 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 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.07↘0 Статус: Участник
|
Создано: 23 ноября 2006 01:44 · Личное сообщение · #5
fix200 пишет:
для нормальной работы драйвера, нужно чтобы он был скомпилировал через build.exe
а у меня работает скомпиленный из студии, что я не так делаю ?
| Сообщение посчитали полезным: |
Ранг: 228.7 (наставник), 2thx Активность: 0.12↘0 Статус: Участник malware research
|
Создано: 23 ноября 2006 04:20 · Личное сообщение · #6
infern0
"Компилятор и редактор связей Visual Studio C++ создают нормальный бинарный код, вполне работоспособный при указании соответствующих опций (настроек) компиляции, однако эталоном следует считать бинарный код, получающийся при компиляции кода драйвера с использованием утилиты Build из состава пакета DDK
----
Окончательную компиляцию драйвера (как чистовую, так и отладочную) категорически рекомендуется выполнять утилитой Build из среды DDK, поскольку иные способы компиляции могут быть источником необъяснимых странностей в поведении драйвера"
---©Солдатов В.П., 2004
----- Research is my purpose | Сообщение посчитали полезным: |
Ранг: 115.1 (ветеран), 3thx Активность: 0.07↘0 Статус: Участник
|
Создано: 23 ноября 2006 05:20 · Личное сообщение · #7
можно использовать визард из DS или от Шрайбера
| Сообщение посчитали полезным: |
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 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.07↘0 Статус: Участник
|
Создано: 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.07↘0 Статус: Участник
|
Создано: 02 декабря 2006 09:25 · Личное сообщение · #11
Error_Log пишет:
поскольку иные способы компиляции могут быть источником необъяснимых странностей в поведении драйвера"
если руки кривые, то билд и батники не спасут.
| Сообщение посчитали полезным: |
Ранг: 135.2 (ветеран) Активность: 0.07↘0 Статус: Участник
|
Создано: 03 декабря 2006 02:13 · Личное сообщение · #12
а переписан ли DDK на pascal/delphi
ЗЫ
сорри за оффтоп
| Сообщение посчитали полезным: |
Ранг: 228.7 (наставник), 2thx Активность: 0.12↘0 Статус: Участник malware research
|
Создано: 03 декабря 2006 09:01 · Личное сообщение · #13
Короче ЯХЗ кто чем компилирует, а я юзаю BUILD и не жалуюсь. А насчет ошибок в книге - покажите где их нет, или напишите лучше. Насчет фразы "необъяснимых странностей" то я конечно же думаю, что любые странности имеют обьяснение, его просто нужно найти. А фраза "кривые" и "прямые" руки скоро будет доводить меня до истерического смеха  . Чего то все считают себя умнее других, а сделать лучше чего-то не берутся.
----- Research is my purpose | Сообщение посчитали полезным: |
Ранг: 163.7 (ветеран) Активность: 0.07↘0 Статус: Участник
|
Создано: 03 декабря 2006 11:06 · Личное сообщение · #14
Все компилируют компилятором cl.exe, а линкуют линкером link.exe. ХЗ - дык это из чего надо исходить, утверждая, что результаты работы link.exe различаются в зависимости от способа его запуска - из build или msdev.
Error_Log пишет:
насчет ошибок в книге - покажите где их нет, или напишите лучше
Ты второй линк не посмотрел. Книга состоит из ошибок и перевода Art Baker & Jerry Lozano.
| Сообщение посчитали полезным: |
 Ранг: 120.6 (ветеран) Активность: 0.09↘0 Статус: Участник rootkit developer
|
Создано: 03 декабря 2006 12:28 · Личное сообщение · #15
S_T_A_S_ пишет:
дык это из чего надо исходить, утверждая, что результаты работы link.exe различаются в зависимости от способа его запуска
Исходить надо из разных ключей, с которыми запускаются компилятор и линкер.
----- Скажем дружно - нафиг нужно. | Сообщение посчитали полезным: |
Ранг: 163.7 (ветеран) Активность: 0.07↘0 Статус: Участник
|
Создано: 03 декабря 2006 14:19 · Личное сообщение · #16
Ms-Rem
Ты всерьёз считаешь, что нужные ключи нельзя указать?
| Сообщение посчитали полезным: |
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 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.09↘0 Статус: Участник rootkit developer
|
Создано: 04 декабря 2006 13:38 · Личное сообщение · #18
S_T_A_S_ пишет:
Ты всерьёз считаешь, что нужные ключи нельзя указать?
А где это я говорил, что нельзя указать?
----- Скажем дружно - нафиг нужно. | Сообщение посчитали полезным: |
Ранг: 191.8 (ветеран), 46thx Активность: 0.17↘0 Статус: Участник
|
Создано: 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.07↘0 Статус: Участник
|
Создано: 10 декабря 2006 20:24 · Личное сообщение · #20
s0larian пишет:
cl.exe идёт из самого DDK и в нём есть пара ключей которых нет в обычно компилере
Компиляторы в студии и DDK одинаковые.
| Сообщение посчитали полезным: |
 Ранг: 387.4 (мудрец) Активность: 0.17↘0 Статус: Участник системщик
|
Создано: 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.07↘0 Статус: Участник
|
Создано: 11 декабря 2006 18:17 · Личное сообщение · #22
Ты б еще MSVC6 сравнил с WDK
WDK (бета 5308) - 14.00.50727.58
В DDK XP компиль от 2002 студии
| Сообщение посчитали полезным: |