Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите начинающему SoftIce, WinDbg, VMWare ...  (Прочитано 16440 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Storage Device
Гость
« : 24-11-2005 17:55 » 

Дано:
Windows XP SP2 Eng
Compuware DS 3.2
windows server 2003 sp1 ddk
WindowsXP-KB835935-SP2-slp-Symbols

Не так давно я начал изучать программирование драйверов. Посему имею много вопросов к мудрецам.

1. Т.к. пишу я драйверы самые простые, то хочется отлаживать их на виртуальной машине (ну чтобы ошибки не приводили к фатальным последствиям). Посему вопрос. Если драйвер выполнит ошибку на VM, это приведет к аварийному останову только VM? И если все так хорошо (хост остается жив), то как отлаживать драйверы в таком случае? Ставить на VM SoftICE? Или только с помощью WinDbg?

2. Как отлаживать драйверы с помощью WinDbg? Нужно руководство не просто для чайника, а для чайника со свистком Отлично Т.е. с самого начала. Вот драйвер скомпилен, а дальше... Что куда нажимать, вводить...

3. Имею WindowsXP-KB835935-SP2-slp-Symbols.exe (~200 Mb) Как их применять? Т.е. ставить-то я их ставлю, но эффект 0.0% В systemroot появляется папка symbols в которой с десяток вложенных папок (exe, sys, dll ... в каждой папке лежат pdb файлы). Например, ntoskrnl соответствует файл %SystemRoot%\Symbols\exe\ntoskrnl.pdb, а kernel32.dll - %SystemRoot%\Symbols\dll\kernel32.pdb. При запуске WinDbg в режиме Kernel Debugging Local пишется

Symbol search path is: D:\Windows\symbols
Executable search path is:
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntoskrnl.exe -

в общем, внимание, вопрос! Как сделать так, чтобы символы грузились. В каком они должны быть формате и где лежать? И еще, если есть host и target, то где нужно устанавливать символы?

4. Вопрос является продолжением вопроса №3. А нужны мне эти символы отладочные? Т.е. Чем они мне помогут при отладке моих драйверов? Как я понял, если я захочу погулять отладчиком по системе, то при установленых символах я просто буду видеть Call ZwOpenProcessId вместо Call [123456]. Так? Ну плюс переменные и структуры.


в общем, я прошу вас очень подробно и доходчиво объяснить мне азы того, как сделать из моей машины (1 штука - это важно) рабочее место для написания и отладки драйверов. Тока на вас и уповаю, т.к. в спортлото по этому поводу писать безсмыслено  Отлично
« Последнее редактирование: 27-11-2005 12:11 от Storage Device » Записан
Dart_Veyder
Гость
« Ответ #1 : 10-08-2008 14:58 » 

Для профессионального проетирования драйверов прежде всего понадобится  WDK (Windows Driver Kit) или DDK (Driver Developer Kit) или сделать как я раньше когда только начинал писать проги - сходить на базар купить там MS Visual Studio 2008 Pro (в состав входит DDK,WDK да и писать на Бейзике висьма приятно)
А хорошенько отлаживать драйвера (тестировать и все др) я лично пользуюсь OLLYDbg Rus (отличный русский откладчик без всяких Символов *адрес для скачки - http://cracklab.ru/download.php?action=get&n=NTI1)
А по поводу WinDbg -'это очень мудреное усторойство сначало надо прочитать кучу манула для роботы с ним а по поводу символов которые у тебя есть(WindowsXP-KB835935-SP2-slp-Symbols.exe) то надо открыть winDbg ,на вкладки File Найти Symbol File Path кликнуть и указать где находится твоя папка с символами)!
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 10-08-2008 18:42 » 

Dart_Veyder, по мне софтайс - нет отладчиков кроме софтайса)

но это отступлние...

Storage Device,
1. драйвер в Windows ошибку в VM вызвать вряд ли сможет.. другое дело что винда наверное по любому упадет - так что эффект впринципе будет тем же, что с ней что без нее) но тут я не специалист - с VM никогда не работал.. тут может кто другой подскажет получше.
2. по этому отладчику должен быть приложен хелп. он правда на английском... но думаю в нете должны быть переводные варианты в кратце. потом работа с ним упоминалась в книжках если не ошибаюсь.
3 проверь %SystemRoot% - он у тебя D:\windows?
скорее всего на хосте... но могу ошибаться. там просто информация о адресах функций ядра. чтобы сопоставить конкретный выполняемый адрес с названием функции - это ты на хосте как раз смотришь.
4 - ага.

насчет подробно:
1. начни с того, что залезь в прикрепленную тему "Литература о драйверах".
2. + тутошний раздел статей: https://club.shelek.ru/view.php?id=19

если у тебя одна машина... я бы очень посоветовал софтайс.. мега крутая весч, но она уже пару лет как не поддерживатеся. и с новым оборудованием может попросту не заработать. но это был лучший вариант отладки, не требующий двух ПК.
насчет winDBG - не знаю... может быть тоже подойдет.

3. прочитай статью Грома на сайте. и о том как писать драйвера.
https://club.shelek.ru/view.php?id=19
обязательно. там для начала очень все полезно будет.
4 там же - статья "Драйвер с нуля".

5. ПРОЧИТАЙ Вальтера Они. он есть на русском. там и про пользование отладчиками и про их настройку должно быть и вообще все полезно.
6. посмотри начало из Солдатова. помоему там было про использование отладчика

PS а вообще - не так уж тебе и потребуются эти символы наверное... главное символы своего драйвера загрузить и научится пользоваться брекпоинтами и отладочными сообщениями.. дальше дело пойдет)

PPS ну а ежели возникнут вопросы ответы на которые не получается найти в книгах и интернете... тогда велкам)
« Последнее редактирование: 10-08-2008 19:05 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алиса
Гость
« Ответ #3 : 12-08-2008 16:56 » 

На счет: как работать с отладчиком SoftIce, можно поискать книгу Айрапетяна Р.А. "Отладчик SoftIce. Подробный справочник". Не помню точно, но где-то качала на рапидшаре.
Записан
Sn1per4y
Гость
« Ответ #4 : 07-05-2009 12:28 » 

Простите заранее за ламерство, но так получилось, помогиnt со следующем вопросом (дело ДИПЛОМ): нужно просечь с помощью SOFTice в каком месте, какими командами руткит FUTo захватывает процесс, к примеру notepad.exe
Я запускаю notepad.exe и присоединяюсь к нему с помощью SOFTice и сохраняю весь листинг- получается как будто идеальный вариант, дальше все закрываем, и затем открываем cmd и запускает блокнот и SOFTice , и вот теперь с помощью FUTo, посмотрев номер процесса блокнота, прячем процесс командой fu -ph № процесса и он прячется в task manager и eproces от sysinternals теперь нет процесса блокнота, а мне нужно как-то подсоединиться и проанализировать в каком месте, какие инструкции различаются и итерпретировать результат, сравнить с 1) вариантом, без руткита.
Подскажите как быть?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 07-05-2009 15:59 » 

Sn1per4y, не надо писать одно и тоже несколько раз!
За баловство можно в баню угодить.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 08-05-2009 16:57 » new

если вопрос в том как ВООБЩЕ можно скрыть процесс от менеджера процессов - на wasm была неплохая статья. с примерами. берете оттуда список функций винды которые используются для скрытия, и ставите на них бряки в софтайсе прям по имени функции. их не так уж и много. кого отловите того и отловите)

второй вариант - поставить брякпоинт на обращение к структуре дескриптора процесса. комнада bpm. сойфтайс позволяет ставить брякопинты на обращения к региону памяти. смотрите кто в него полез - и смотрите стек вызовов.

либо, по шагам в отладчике выполнить этот самый FUTo...

а вобще посмотрите статью для начала.
там все очень подробно было написано - что надо сделать для скрытия. а потом айсом и брякпоинтами по тем таблицам которые надо менять.

PS не забудте таблицу символов ядра скачать и поставить в айсе. айс тогда названия функций ядра будет отображать в отладчике. без этого - там ничего не найти)
PPS для возможности установки бряков на обращение к регионам памяти - надо было что то в настройках айса прописать... посмотрите в мануале. 

Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines