Выберите папку которая содержит средства для отладки microsoft для windows

Здравствуйте админ, расскажите пожалуйста, где я могу взять или как самостоятельно создать незаменимый для любого компьютерщика аварийный LiveCD диск Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5, с помощью которого можно загрузить компьютер с неисправной Windows 7, затем подключиться к операционной системе и отремонтировать её. И самое главное, хотя бы коротко объясните как им пользоваться.

Говорят, что с помощью диска Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5 можно сбросить пароль администратора (если вы его забыли), редактировать реестр, восстанавливать удалённые разделы и файлы, редактировать автозагрузку и многое другое.

Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5

Да друзья, есть такой знаменитый инструмент Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5, с помощью него можно запросто вернуть винду с «того света», например убрать баннер вымогатель с рабочего стола, изменить забытый пароль входа в операционную систему, восстановить любые поврежденные или отсутствующие системные файлы, редактировать реестр, восстановить удалённый раздел, удалить вредоносные программы, кроме того в MSDaRT входит Мастер анализа сбоев и Мастер решений, которые вам помогут выбрать нужный инструмент, да много чего такого ещё можно перечислить, я в своём походном чемодане держу диск и заодно загрузочную флешку Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5, которые мне не раз помогли. А Вы?

Для Windows 7 идёт инструмент Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5.

Для Windows 8 идет DaRT 8, а для Windows 8.1 DaRT 8.1

Информация любезно предоставлена Ro8.

1) Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5

Вполне согласен с админом, набор инструментов Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5 помогает диагностировать и устранять неполадки в системе, возникающие при запуске, а также другие проблемы. MSDaRT 6.5 входит в состав пакета Microsoft Desktop Optimization Pack 2011. Microsoft Desktop Optimization Pack (MDOP) — это набор технологий, позволяющих корпоративным клиентам использовать виртуализацию рабочих столов, оптимизировать управление устройствами Windows, а также обеспечить расширенные возможности восстановления системы.

Microsoft Desktop Optimization Pack (MDOP) доступен клиентам программы Software Assurance в качестве дополнительной лицензии по подписке. Клиенты могут осуществлять доступ к MDOP и любым дополнениям до тех пор, пока активна подписка MDOP.

http://www.microsoft.com/ru-ru/licensing/SoftwareAssurance/softwareAssurance.aspx#ForSale 

2) Установка Microsoft Diagnostics and Recovery Toolset (MSDaRT) 6.5

2.1) Монтируем образ Microsoft Desktop Optimization Pack 2011 в виртуальный привод.

2.2) Открываем автозапуск

2.3) Запускаем файл launcher.hta

2.4) Откроется следующее окно

2.5) Выбираем Microsoft Diagnostics and Recovery Toolset

2.6) Так как система в нашем случае 32 разрядная, выбираем «Установка DaRT 6.5 (32-разрядная версия)«

Если у вас 64 разрядная Windows 7, выбираем «Установка DaRT 6.5 (64-разрядная версия)»

systeminfo

 

2.7) Откроется окно установщика, далее

2.8) Принимаем лицензионное соглашение

2.9) Выбираем папку для установки

2.10) Выбираем вариант установки

2.11) Устанавливаем

2.12) Установка завершена

2.13) Идем в меню пуск и выбираем «Microsoft Diagnostics and Recovery Toolset» далее Мастер создания загрузочных носителей

2.14) Откроется окно Мастера создания загрузочных носителей

2.15) Далее откроется окно, в котором следует указать местоположение установочного дистрибутива Windows 7, в нашем случае он находится в DVD-RW дисководе под буквой Е:, его и выбираем

 

2.14) После выбора местоположения дистрибутива с жмем далее

2.15) Извлекаем файлы с установочного дистрибутива для создания загрузочного носителя ERD Commander

Развертывается загрузочный образ

2.16) Выбираем программные средства, которые нужно включить в состав ERD Commander

2.17) Так как на предыдущем шаге в состав ERD Commander мы включили инструмент для анализа сбоев системы, то нам требуется установить средство отладки Microsoft для Windows, переходим по ссылке в окне для его загрузки

2.18) Скачиваем Software Development Kit (средства отладки входят в состав Software Development Kit и отдельно их скачать нельзя

2.19) Запускаем установщик

2.20) Принимаем лицензионное соглашение

2.21) Оставляем все по умолчанию

2.22) Выбираем компоненты, далее

Далее

Идет установка

Установка Debugging Tools for Windows завершена

2.23) После установки Debugging Tools for Windows продолжаем создание ERD Commander

2.24) Указываем программе установки расположение Debugging Tools for Windows (все оставить по умолчанию), далее

2.25) Так как в состав ERD Commander включено средство автономной проверки системы, загрузим для него последние определения

Подключение к интернету

Загрузка определений

Загрузка определений завершена

На загрузочный компакт-диск MSDaRT 6.5 можно добавить дополнительные драйверы (в моем случае этого можно и не делать, так как MSDaRT уже содержит все необходимые), которые могут потребоваться при восстановлении компьютера. Обычно это драйверы контроллера запоминающего устройства и сетевого контроллера, которые отсутствуют на диске DVD Windows.

(Файл драйвера предоставляется изготовителем контроллера запоминающего устройства или сетевого контроллера). Беспроводное подключение (Bluetooth или 802.11a/b/g/n) в MSDaRT не поддерживается. Далее»

На загрузочный компакт-диск MSDaRT 6.5 можно добавить дополнительные файлы чтобы их можно было использовать для диагностики неполадок системы. Чтобы добавить файлы на компакт-диск в диалоговом окне Дополнительные файлы мастера создания загрузочных носителей ERD Commander выбрать Показать файлы. Откроется окно проводника, в котором будет отображен каталог с общими файлами.В каталоге, который отображен в диалоговом окне, нужно создать вложенный каталог. Нужные файлы скопировать в новую вложенную папку.

2.26) Указываем местоположение где будет сохранен созданный загрузочный образ ERD Commander. Далее

2.27) Копирование средств отладки

2.28) Создание образа загрузки

2.29) Создание ISO

Созданный загрузочный образ ERD Commander можно записать на диск, если поставить галочку «Записать образ с помощью устройства записи компакт-дисков (на усмотрение пользователя)

2.30) Загрузочный образ ERD Commander успешно создан (располагается на Рабочем столе)

Вот и сам образ

3.1) Загружаем с данного диска MSDaRT 6.5 компьютер.

Назначаем буквы как и на целевой операционной системе

Выбираем метод ввода с клавиатуры

Идёт поиск установленных систем Windows

Установленная система найдена. Далее

Открывается окно параметров восстановления системы

Выбираем Microsoft Diagnostics and Recovery Toolset

Открывается окно с инструментами восстановления

Краткое описание инструментов восстановления Microsoft Diagnostics and Recovery Toolset

«Служебная программа Редактор реестра ERD, доступная в меню Средства MSDaRT, предоставляет сведения о реестре, которые могут помочь при восстановлении системы.»

«Для вывода локальных учетных записей пользователей и изменения паролей можно использовать Мастер изменения паролей.»

«Для выявления причины фатального сбоя системы и определения драйвера, вызвавшего сбой, можно использовать Мастер анализа сбоев.»

«Служебную программу восстановления файлов можно использовать для поиска и восстановления файлов, удаленных из любой поддерживаемой файловой системы Windows»

«Для восстановления разделов или томов можно использовать приложение Disk Commander»

«Для очистки дисков или томов можно использовать служебную программу Очистка диска»

«Служебная программа Управление компьютером предоставляет инструменты восстановления для выполнения следующих задач: а)Отключение дисков или служб, вызывающих ошибки; б) Просмотр журналов событий; в) Создание разделов и форматирование жестких дисков; г) Получение сведений о файлах автозапуска; д) Получение сведений о компьютере»

Служебная программа Проводник позволяет просматривать файлы и папки, которые хранятся на различных дисках

В инструменте Мастер Решений можно выбрать нужное решение в зависимости от неполадки

С помощью функции Удаление исправлений можно удалить исправления Windows или пакеты обновления из системы, которую невозможно запустить

Средство проверки системных файлов позволяет проверить и восстановить любые поврежденные или отсутствующие системные файлы

Уровень сложностиСредний

Время на прочтение12 мин

Количество просмотров10K

Помимо дизассемблирования, существует и другой способ исследования программ — отладка. Изначально под отладкой понималось пошаговое исполнение кода, также называемое трассировкой. Сегодня же программы распухли настолько, что трассировать их бессмысленно — мы моментально утонем в омуте вложенных процедур, так и не поняв, что они, собственно, делают. Отладчик не лучшее средство изучения алгоритма программы — с этим эффективнее справляется интерактивный дизассемблер (например, IDA).

Пят­надцать лет назад эпи­чес­кий труд Кри­са Кас­пер­ски «Фун­дамен­таль­ные осно­вы хакерс­тва» был нас­толь­ной кни­гой каж­дого начина­юще­го иссле­дова­теля в области компь­ютер­ной безопас­ности. Одна­ко вре­мя идет, и зна­ния, опуб­ликован­ные Кри­сом, теря­ют акту­аль­ность. Редак­торы «Хакера» обновляют ­этот объ­емный труд, чтобы перенес­ти его из вре­мен Windows 2000 и Visual Studio 6.0 во вре­мена Windows 10 и Visual Studio 2019.

Результатом стал цикл статей «Фундаментальные основы хакерства». Перед тобой уже во второй раз обновленная вторая статья из этого цикла (на «Хакере» также доступна первая в новой редакции).

Весь цикл с учетом всех обновлений вышел в виде книги «Фундаментальные основы хакерства. Анализ программ в среде Win64». Купить ее можно на сайте «Солон-пресс».

Книга «Фундаментальные основы хакерства. Анализ программ в среде Win64»

Книга «Фундаментальные основы хакерства. Анализ программ в среде Win64»

Способности отладчиков

Первым делом надо разобраться в перечне основных функциональных возможностей типовых отладчиков (без этого невозможно их осмысленное применение):

  • отслеживание обращений на запись, чтение и исполнение к заданной ячейке (региону) памяти, далее по тексту именуемое бряком (брейком);

  • отслеживание обращений на запись и чтение к портам ввода-вывода (уже неактуально для современных операционных систем, запрещающих пользовательским приложениям проделывать такие трюки, — это теперь прерогатива драйверов, а на уровне драйверов реализованы очень немногие защиты);

  • отслеживание загрузки DLL и вызова из них таких-то функций, включая системные компоненты (как мы увидим далее, это основное оружие современного взломщика);

  • отслеживание вызова программных и аппаратных прерываний (большей частью уже неактуально — не так много защит балуется с прерываниями);

  • отслеживание сообщений, посылаемых приложением окну;

  • и, разумеется, контекстный поиск в памяти.

Как именно это делает отладчик, пока знать необязательно, достаточно знать, что он это умеет, и все. Куда актуальнее вопрос, какой отладчик умеет это делать.

Герои прошлого

В прошлом в качестве отладчика хакеры использовали широко известный SoftICE. Это был действительно мощный инструмент, и даже по прошествии многих лет лучше него ничего не было изобретено. Неоспоримым его преимуществом была возможность отладки ядра Windows с помощью одного компьютера. Между тем, не без давления Microsoft, в 2006 году его разработка была прекращена. А поскольку SoftICE очень сильно зависел от операционной системы Windows, в более поздних ее версиях он просто не работает. Последней версией Windows, в которой можно пользоваться SoftICE, была Windows XP SP 2. В SP 3 он уже не функционировал, а в Vista и Windows 7 и подавно.

Хакеры, конечно, приуныли, но не стали посыпать голову пеплом, а начали изобретать альтернативные отладчики. Последовала эпоха расцвета новых отладчиков. Но какая картина на этом поле сейчас? Нет ни одного нового хорошего отладчика! Передовым среди всех был коммерческий Syser китайских разработчиков. Ему пророчили светлое будущее, возможность заменить SoftICE, но где он сейчас? Может быть, пара копий сохранилась где-то на файловых свалках, но он давно не развивается.

Сейчас по большому счету у хакера есть выбор только из двух по-настоящему годных отладчиков: WinDbg и x64dbg. Последний годится лишь для исследования приложений пользовательского режима, тогда как с помощью WinDbg можно заниматься и ядерной отладкой Windows. Но в этом случае придется использовать два компьютера, объединенных проводом или по локальной сети.

Современный инструмент кодокопателя

Когда-то хакеры пренебрегали WinDbg, но со временем он вырос и стал действительно мощным и полезным инструментом исследования кода. Не стоит забывать, что именно он используется командой разработки Windows. Для него можно изготавливать расширения путем подключаемых DLL. Начиная с Windows XP, движок отладки включен непосредственно в операционную систему. Он состоит из двух DLL: dbgeng.dll и dbghelp.dll. Кроме непосредственно средств отладки, в число которых входит сам WinDbg, его движок используется в том числе «Доктором Ватсоном» (drwtsn32.exe).

Средство отладки для Windows состоит из четырех приложений, использующих dbgeng.dll:

  • cdb и ntsd — отладчики пользовательского режима с консольным интерфейсом. Они различаются только одним: при запуске из существующего консольного окна ntsd открывает новое консольное окно, a cdb этого не делает;

  • kd — отладчик режима ядра с консольным интерфейсом;

  • WinDbg может использоваться как отладчик пользовательского режима либо режима ядра, но не одновременно. У WinDbg есть графический интерфейс.

Следовательно, WinDbg представляет собой только оболочку для отладки с помощью движка.

Вспомогательный файл dbghelp.dll используется внешними тулзами для исследования внутренностей Windows, например отладчиком OllyDbg, программой Process Explorer за авторством Марка Руссиновича и прочими.

У WinDbg есть две версии: классическая и UWP. Первая устанавливается вместе с набором тулз Debugging Tools for Windows. Этот набор содержит две версии WinDbg. Одна предназначена для отладки 32-разрядных приложений, другая — 64-разрядных. Версию UWP можно скачать из Windows Store, она имеет только 32-битную версию. Обе 32-разрядные версии абсолютно равноценны, не считая того, что в UWP продвинутый пользовательский интерфейс Windows 10. Кстати, весьма удобный при работе на большом экране.

Для наших экспериментов я буду применять UWP-версию. Разницы в их использовании практически нет, могут разве что немного различаться команды в пользовательском интерфейсе, именно надписи на элементах интерфейса, но не команды встроенного языка.

Способ 0. Бряк на оригинальный пароль

С помощью WinDbg загрузим ломаемый нами файл — passCompare1.exe — через пункт меню Launch Executable или Open Executable в классическом приложении. В дальнейшем я не буду приводить аналоги команд.

Файлы с примерами можно скачать с GitHub.

Сразу после открытия исполняемого файла WinDbg загрузит приложение, в окне Disassembly отладчика появятся дизассемблированные команды, а в окне Command отобразятся результаты их выполнения.

После создания окна приложения еще до вывода каких-либо данных выполнение тут же прерывается на инструкции int 3 — это программная точка останова. Часто новички считают, что выполнение программы начинается с функции main или WinMain. Этому их учат в школе, либо они сами черпают такие сведения из учебников по C/C++. Конечно, это неправда.

Прежде чем попасть в функцию main конкретного приложения, процессор зарывается в дебри системного кода загрузчика образов, выполняет горы инструкций инициализации приложения внутри Windows, подключения библиотек и прочего. Поэтому произошедший бряк не означает вход в main нашей программы. Если взглянуть в окошко дизассемблера, мы увидим, что прерывание произошло в системной функции LdrpDoDebuggerBreak модуля ntdll.

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

.symfix d:\debugSymbols

Эта команда определяет папку, указанную в параметре, куда отладчик при необходимости загрузит отладочные символы для подсистем Windows. Затем надо отправить команду для загрузки или обновления файлов:

.reload

После этого WinDbg загрузит нужные данные с серверов Microsoft.

Кроме того, можно воспользоваться уже имеющейся отладочной информацией, для этого существует команда .sympath+ <путь к директории>. Если файл с отладочными символами находится в одной папке с исполняемым файлом, он подхватится автоматически. Еще можно использовать файлы исходного кода, но в таком случае проще воспользоваться отладчиком, входящим в среду разработки.

Давай попробуем натравить отладчик на дебажную версию passCompare1 и при достижении первой точки останова поставим бряк на функцию main:

bp passCompare1!main

Теперь продолжим выполнение командой g. Когда отладчик достигнет поставленной точки останова (начало функции main), в окне дизассемблера увидим, что листинг разделен на сегменты, в заголовке которых находятся имена функций, в частности main.

В релизной версии исполняемого файла этого не будет. Если же мы поставим точку останова по адресу начала модуля и прибавим адрес точки входа, то мы попадем не в начало функции main, а в системный загрузчик — функцию mainCRTStartup, подготовленную компилятором.

Кроме Microsoft, мало кто предоставляет отладочные символы, не будем привыкать к легкой жизни, тем более WinDbg специально предназначен для отладки программ без отладочной информации и исходного кода. Будем применять его по назначению! Между тем, если приглядеться к окошку дизассемблера повнимательнее, можно заметить, что в отличие от дизассемблера dumpbin, который мы использовали в прошлой статье, WinDbg распознает имена системных функций, чем существенно упрощает анализ.

Точки останова могут быть двух типов: программные и аппаратные. С первыми мы уже встречались. В программе их может быть любое количество. Для своей работы они модифицируют память исполняемого процесса, то есть в том месте, где должен стоять бряк, отладчик запоминает ассемблерную инструкцию и заменяет ее int 3. Из-за того что программная точка останова изменяет память, ее можно установить не везде. В этом заключается ее основной недостаток. Главной командой для установки программной точки останова является bp. Для получения списка установленных точек служит команда bl, а для удаления — команда bc, параметром которой является индекс точки останова. Звездочка в качестве параметра удаляет все бряки. Команды be и bd, соответственно, включают и выключают брейк-пойнты.

Количество аппаратных точек останова, независимо от разрядности процессора, всегда четыре. Хотя в процессоре присутствуют восемь регистров отладки (DR-0 — DR-7), только первые четыре могут быть использованы для хранения адресов точек останова. Аппаратные бряки могут ставиться в любое место памяти процесса. Таким образом, они лишены недостатка программных бряков. Остальные регистры предназначены для хранения условий доступа — срабатывания точек останова, например чтение, запись, исполнение. Малое количество — основной недостаток аппаратных бряков. Для установки аппаратной точки останова используется команда ba с тремя параметрами: тип доступа, размер и адрес.

Итак, мы рассмотрели небольшой список команд внутреннего языка отладчика WinDbg. Наверняка ты обратил внимание на их запись. В языке отладчика присутствуют три вида команд:

  • встроенные команды служат для отладки процесса и записываются без лидирующего символа, к таким командам относятся g, bp, bd;

  • метакоманды управляют работой отладчика, перед ними ставится символ точки, например: .reload, .symfix, .cls;

  • команды-расширения, загружаемые из внешних DLL, имеют в начале символ восклицательного знака, например: !heap, !dh.

Поиск адреса

Давай попробуем наскоро найти защитный механизм и, не вникая в подробности его функционирования, напрочь отрубить защиту. Вспомним, по какому адресу расположен в памяти оригинальный пароль. Заглянем в дамп секции .rdata, где хранится пароль. Исходный пароль myGOODpassword находится по смещению 0x140002280. Попробуем вывести находящиеся по этому адресу в памяти данные:

dc 0x140002280

Существует большое количество команд для отображения содержимого памяти: da, db, dd и прочие. Мы использовали dc, потому что она показывает значения двойных слов и ASCII-символы. Что мы видим? Неинициализированные данные.

Раньше (до Windows Vista) кодокопателям было проще. Windows загружала образы в виртуальную память по определенному при компиляции адресу. В этом легко убедиться: запустим приложение в Windows XP, затем при помощи того же SoftICE узнаем адреса секций (команда mod -u) и выпишем их. После перезагрузки системы и повторного запуска приложения увидим, что они останутся неизменными.

Начиная с Windows Vista, программы после перезапуска системы получают случайные адреса, а не те, что определены при компиляции. Поэтому нам придется самим искать секцию .rdata уже не на диске, а в памяти. Легко сказать, но сделать еще проще!

Найдем, по какому адресу расположен наш модуль в памяти. Для этого в отладчике введем lmf m passcompare1. Второй параметр — имя модуля, адрес которого надо определить. В результате на своем компе я получил:

start             end                 module name
00007ff7`159b0000 00007ff7`159b8000   passCompare1 passCompare1.exe

Отсюда следует, что начало модуля находится по адресу 0x7ff7159b0000. После каждой перезагрузки системы модуль конкретного приложения проецируется в различные адреса. Теперь выведем карту памяти нашего модуля и получим сведения обо всех секциях PE-файла:

!dh passCompare1 

Вывод команды довольно объемный. !dh — в некотором роде аналог команды map32 из SoftICE, при этом первая предоставляет больше сведений. Найдем в выводе описание целевой секции .rdata:

SECTION HEADER #2
  .rdata name
    101C virtual size
    2000 virtual address
    1200 size of raw data
    1400 file pointer to raw data
       0 file pointer to relocation table
       0 file pointer to line numbers
       0 number of relocations
       0 number of line numbers
40000040 flags
         Initialized Data
         (no align specified)
         Read Only

Здесь нас интересует четвертая строчка — виртуальный адрес. Следом можно найти, где в памяти располагается .rdata, для этого надо сложить начальный адрес модуля и виртуальный адрес секции. Посмотрим, что там находится:

dc 0x7ff7159b0000 + 2000 

Уже теплее, читаемые символы. Пройдем глубже в секцию и распечатаем диапазон адресов:

dc 0x7ff7159b2000 0x7ff7159b2300

А вот и наш пароль по адресу 0x7ff7159b2280! Дамп памяти процесса:

00007ff7`159b2250  159b4040 00007ff7 159b40e0 00007ff7  @@.......@......
00007ff7`159b2260  ffffffff ffffffff ffffffff ffffffff  ................
00007ff7`159b2270  65746e45 61702072 6f777373 003a6472  Enter password:.
00007ff7`159b2280  4f47796d 6170444f 6f777373 000a6472  myGOODpassword..
00007ff7`159b2290  6e6f7257 61702067 6f777373 000a6472  Wrong password..
00007ff7`159b22a0  73736150 64726f77 0a4b4f20 00000000  Password OK.....
00007ff7`159b22b0  00000140 00000000 00000000 00000000  @...............

Есть контакт! Задумаемся еще раз. Чтобы проверить корректность введенного пользователем пароля, защита, очевидно, должна сравнить его с оригинальным. А раз так, установив точку останова на чтении памяти по адресу 0x7ff7159b2280, мы поймаем за хвост сравнивающий механизм. Сказано — сделано.

Поставим аппаратный бряк, он же бряк по доступу (break on access), так как при программном будет ошибка доступа к памяти, возникающая по причине попытки записи в секцию, доступную только для чтения, какой .rdata и является. А программному бряку надо модифицировать память.

ba r4 0x7ff7159b2280

Первый параметр — тип доступа: r — чтение; второй параметр — количество байтов, подвергаемых операции; последний параметр — адрес.

По команде g продолжим отладку и введем любой пришедший на ум пароль, например KPNC++. Отладчик незамедлительно «всплывет» в библиотечной функции сравнения строк strcmp:

00007ffb`5d375670 488b01               mov     rax, qword ptr [rcx]
00007ffb`5d375673 483b040a             cmp     rax, qword ptr [rdx+rcx]
00007ffb`5d375677 75bf                 jne     ucrtbase!strcmp+0x8 (7ffb5d375638)
00007ffb`5d375679 4e8d0c10             lea     r9, [rax+r10]
00007ffb`5d37567d 48f7d0               not     rax

В силу архитектурных особенностей процессоров Intel бряк срабатывает после инструкции, выполнившей «поползновение», то есть RIP указывают на следующую выполняемую команду. В нашем случае (выделенная строка) — jne ucrtbase!strcmp+0x8, а к памяти, стало быть, обратилась инструкция cmp rax, qword ptr [rdx+rcx]. А что находится в RAX? Поднимаем взгляд еще строкой выше — mov rax, qword ptr [rcx]. Можно предположить, что RCX содержит указатель на строку оригинального пароля (поскольку он вызвал всплытие отладчика), но не будем спешить с выводами, в сравнении еще присутствует указатель [rdx+rcx]. Куда указывает он? Проверить это в отладчике проще простого. Сначала проверим, куда указывает RCX:

0:000> dc rcx
00000093`bf5cfbd0  434e504b 000a2b2b 00000000 00000000  KPNC++..........

Оказывается, RCX указывает на введенный пользователем пароль! А куда указывает второй указатель?

0:000> dc [rdx+rcx]
00007ff7`159b2280  4f47796d 6170444f 6f777373 000a6472  myGOODpassword..

Здесь как раз притаился оригинальный пароль! Картина начинает приобретать очертания.

Теперь вопрос: а как это заломить? Вот, скажем, JNE можно поменять на JE. Или еще оригинальнее — заменить RCX [RDX+RCX]. Тогда оригинальный пароль будет сравниваться сам с собой!

Выйдем из текущей функции, для этого надо два раза нажать кнопку Step Out в отладчике. В результате мы окажемся в функции main, сразу после сравнения строк:

0007ff7`159b10b2 488d15c7110000     lea     rdx, [passCompare1!`string' (7ff7159b2280)]
00007ff7`159b10b9 488d4c2420        lea     rcx, [buff{[0]} (rsp+20h)]
00007ff7`159b10be e88c0d0000        call    passCompare1!strcmp (7ff7159b1e4f)
00007ff7`159b10c3 85c0              test    eax, eax
00007ff7`159b10c5 7458              je      passCompare1!main+0xaf (7ff7159b111f)

В первой строчке приведенного листинга в регистр RDX записывается указатель на эталонный пароль. Чтобы проверить это, выполни команду dc 7ff7159b2280. Во второй строчке в регистр RCX помещается указатель на содержимое строкового буфера, в который записывается введенный пользователем пароль. После вызова strcmp следует test, проверяющий на ноль регистр EAX. Знакомые места! Помнишь, мы посещали их дизассемблером? Далее следует JE, совершающий прыжок на основе предыдущего условия.

Алгоритм действий прежний — запоминаем адрес команды TEST для последующей замены ее на XOR или записываем последовательность байтов.

Погоди! Не стоит так спешить! Можно ли быть уверенным, что эти байтики по этим самым адресам будут находиться в исполняемом файле? В Windows XP и версиях до нее на это в подавляющем большинстве случаев можно было хотя бы надеяться, но проверка не была лишней. Хотя системный загрузчик размещал модули по заранее определенным адресам, существовали хитрые защитные механизмы, загружавшие один и тот же модуль по двум разным адресам одновременно. В Windows 10 такой трюк не прокатывает, винда видит, что это один и тот же модуль, и размещает его в памяти лишь единожды.

Тем не менее в Windows 10 мы даже не можем надеяться, что находящиеся по определенным адресам байты, найденные в памяти с помощью отладчика, будут по тем же адресам находиться в файле на диске. Когда программа выполняется, все ее секции проецируются в адресное пространство виртуальной памяти, которое кардинально отличается от начальной. В Vista и последующих системах в дело вступает механизм ASLR (Address Space Layout Randomization), который, используя MMU (Memory Management Unit), случайным образом изменяет расположение в адресном пространстве процесса важных структур данных. ASLR в некоторых случаях вполне успешно борется с переполнением буфера, возвратом в библиотеку и другими типами атак.

Авторы: Крис Касперски, Юрий Язев

Что такое ERD Commander и зачем он нужен?

Первоначально разработанный Wininternals и являвшийся в то время ядром Winternals Administrator’s Pak, сейчас ERD Commander —  один из компонентов средства диагностики и восстановления системы Windows Microsoft DaRT (Diagnostics and Recovery Toolset), который, в свою очередь, входит в состав пакета Microsoft Desktop Optimization Pack (MDOP). Пакет Microsoft Desktop Optimization Pack в целом помогает ИТ-специалистам повысить безопасность использования ПК, обеспечивает эффективность работы сотрудников, а также позволяет сделать процесс управления настольными системами проще и дешевле. Администраторы могут с легкостью восстанавливать ПК, которые невозможно использовать, быстро определять возможные причины возникающих проблем и восстанавливать незагружаемые или заблокированные системы. Эти процессы выполняются быстрее, чем в среднем требуется времени на повторное применение образа на компьютере. При необходимости можно также быстро восстановить потерянные файлы, которые критичны для работы системы.

Возможность скачивания MDOP отсутствует в свободном доступе для пользователей. Легально загрузить пакет могут только обладатели платных подписок TechNet.

Более подробно о пакете можно узнать по ссылке: http://technet.microsoft.com/ru-ru/windows/bb899442.aspx

Возможности ERD Commander в MSDaRT 6,5.

Компонент диагностики и восстановления Toolset (MSDaRT) 6,5 помогает диагностировать и ремонтировать системы, которые имеют проблемы с запуском и для решения других вопросов. При запуске системы с помощью диска аварийного восстановления (ERD), который также называется Boot CD для MSDaRT, появится диалоговое окно — Параметры восстановления системы. Графическая среда и консоль командной строки доступны в этом окне. Консоль командной строки можно открыть, нажав на опцию командной строки в меню Параметры восстановления системы. Эта среда обеспечивает доступ к любой установленной операционной системе Windows ® 7 или Windows Server ® 2008 R2, в файловых системах, которые включают в себя FAT, FAT32 и NTFS.

В  таблице перечислены некоторые из проблем, которые могут быть решены с помощью утилиты и мастера, которые предоставляются в Microsoft Диагностика и восстановление Toolset:

Задача Решение
Внесение изменений в реестр Утилита ERD редактора реестра в меню Сервис MSDaRT предоставляет информацию о реестре, которая может помочь вам осуществить ремонт системы.
Восстановление доступа к системе Мастер может быть использован в работе с группами локальных учетных записей пользователей и изменить пароль.
Диагностика системного сбоя Crash Analyzer может быть использован для диагностики причины сбоя системы и выявить драйвер, который вызвал сбой.
Исправление повреждений разделов или томов дисков Disk Commander можно использовать для восстановления данных на поврежденных разделах и томах жесткого диска.
Восстановление удаленных файлов Утилита Восстановление файлов может быть использована для поиска и восстановления в любой поддерживаемой Windows файловой системе.
Удаление дисков или томов Утилита Стирание дисков может быть использована для удаления дисков или томов.
Расширенный поиск файлов Утилита позволяет ограничить область поиска, при указании части имени файла, поиск места по оценкам, размеру файла, или время, когда файл был изменен.
Обзор дисков Утилита Explorer позволяет просматривать папки и файлы, которые хранятся на различных дисках.
Выполнение административных задач для управления компьютером Утилита Управления компьютером предоставляет восстановительные инструменты, чтобы помочь Вам:

— Отключить проблематичный драйвере или службу;

— Просмотреть журналы событий;

— Разделы и отформатировать жесткие диски;

— Получить информацию об автозапуске;

— Получить информацию о компьютере.

Настройка TCP/IP TCP/IP Config — утилита отображает набор протоколов TCP/IP в конфигурации компьютера
Удаление Windows исправлений и пакетов обновлений Удаление исправлений может быть использована для удаления исправлений Windows или пакетов исправлений системы, которая не может быть запущена.
Проверка и ремонт системы файлов Утилита Сканирования SFC поможет вам проверить системные файлы и восстановить поврежденные или отсутствующие.
Использование защиты от вредоносного ПО Утилита Автономная система Sweeper — позволяет обнаруживать вредоносные программе или другие нежелательные программы, а также предупреждает вас о потенциальных рисках.

Графический интерфейс Microsoft Диагностика и восстановление Toolset

Системные требования для ERD Commander в MSDaRT 6,5

ERD Commander в MSDaRT 6,5 используется в одной  из следующих операционных систем:

— Windows ® 7;

— Windows Server ® 2008 R2;

Она имеет следующие минимальные требования к аппаратному обеспечению:

— 1 ГГц 32-разрядный (x86) или 64-разрядный (x64) процессор;

— 1 ГБ системной памяти;

— Привод для оптических компакт-дисков;

— BIOS поддержку загрузки компьютера с компакт-дисков.

Создание загрузочного ERD Commander CD для MSDaRT 6,5

ERD Commander Boot Media Wizard используется в Windows для создания загрузочного образа (ISO). Образ ISO — это файл, который представляет собой установочный пакет, который можно записать на записываемый компакт-диск. Если ваша система включает в себя CD-RW привод, Мастер предлагает записать образ ISO на чистый компакт-диск. Если ваша система не содержит диск, который поддерживается мастер, вы можете записать ISO образ на CD с помощью большинства программ, которые могут записывать компакт-диски.

Чтобы создать загрузочный компакт-диск из ISO-образа, Вам необходимы:

— CD-RW привод.

— Записываемый компакт-диск (в формате, поддерживаемом вашим записываемым диском).

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

При запуске ERD Commander Boot Media Wizard, будьте готовы предоставить следующую информацию:

Выбор инструмента: Вы можете выбрать инструменты и включить их в ERD Commander Boot CD на этом этапе. ERD Commander Boot Media Wizard представляет диалог выбора инструмента. Вы можете выбрать или удалить инструмент из списка инструментов, которые будут включены в MSDaRT 6,5 Boot CD, нажав Добавить или удалить кнопки.

Средств отладки для Windows: Вас попросят указать расположение средств отладки для Windows. Если вы включите Crash Analyzer в Мастере создания ISO-образа, вас просят указать расположение средств отладки для Windows. Если у вас нет сохраненных копий этих инструментов, вы можете загрузить их с Microsoft. Ссылка на страницу загрузки будет приведена в мастере. Вы можете указать расположение средства отладки в системе, где вы работаете с MSDaRT Boot Media Wizard, или вы можете отложить использование инструментов, которые расположены на целевой системе. Если вы решите использовать копию на другой системе, необходимо убедиться, что инструменты установлены на каждой системе, на которой Вы планируете проводить диагностику аварии.  Примечание: если вы включите Crash Analyzer в Мастере в ISO-образа, рекомендуется также включать средств отладки для Windows.

Чтобы добавить средств отладки для Windows (необязательно):

1) Нажмите на ссылку, чтобы скачать средств отладки для Windows.

2) В анализаторе поддержки Crash Analyzer, в диалоговом окне MSDaRT Boot Media Wizard, выбрать один из следующих вариантов:

Использование средств отладки для Windows системы, находящейся в. Если вы выберете этот вариант, вы можете просматривать места расположения инструментов.

Найдите средства отладки для установки Windows расположенные на целевом компьютере.

3) Нажмите кнопку Далее.

Важно: Crash Analyzer мастер не будет работать, если средства отладки для Windows не доступны.

Определения для автономной системы Sweeper: в диалоговом окне Загрузка используются переключатели для выбора, чтобы загрузить последнюю версию определения на момент создания диска ERD или избрать для загрузки определения позже. Определения хранилища известных вредоносных программ и других потенциально нежелательных программ. Поскольку вредоносное ПО в настоящее время постоянно развивается, автономная система Sweeper опирается на современные определения, чтобы определить, есть ли программное обеспечение, которое пытается установить, запустить, или изменить настройки на компьютере посредством нежелательного или вредоносного программного обеспечения.

Чтобы включить последние определения в ERD Commander Boot CD (рекомендуется), нажмите кнопку Да для загрузки последних версий определений. Обновления определений начнется автоматически. Вы должны быть подключены к Интернету, чтобы завершить этот процесс.

Чтобы пропустить обновления определений, нажмите кнопку Нет, вручную загрузите определения позже и они не будут включены в ERD Commander Boot CD.

Драйверы: выбор возможности добавления драйверов в образ ISO. Вы можете включить дополнительные драйверы на загрузочном компакт-диске MSDaRT 6,5, что может понадобиться при ремонте компьютера. Они обычно включают в себя хранение или сетевые контроллеры, которые не включены в Windows DVD.

1) Чтобы добавить хранения или драйвер контроллера сети в загрузочный CD в диалоговом окне Дополнительные драйверы ERD Commander Boot Media Wizard, нажмите кнопку Добавить устройство.

2) Найдите файл, который будет добавлен для водителя, а затем нажмите кнопку «Открыть».  Файл драйвера поставляется производителем жесткого диска или сетевой контроллер.

Повторите шаги 1 и 2 для каждого из драйверов, которые вы хотите включить.

3) Нажмите кнопку Далее.

Важно: беспроводная связь (Bluetooth или 802.11a/b/g/n) не поддерживается в MSDaRT.

Дополнительные файлы: Вы можете добавлять файлы в образ ISO, которые могут потребоваться для диагностики проблем. Выполните следующую процедуру в ERD Commander Boot Media Wizard, чтобы добавить файлы в загрузочный CD так, что их можно использовать для диагностики системных проблем.

Чтобы добавить файлы на компакт-диск:

1) В диалоговом Дополнительные файлы MSDaRT Boot Media Wizard, нажмите кнопку Показать файлы. Это открывает окно Проводника, который отображает каталог, который содержит необходимые файлы.

2) Создать подкаталог в каталог, указанный в диалоговом окне. Скопируйте файлы, которые вы хотите добавить в новый каталог.

3) Нажмите кнопку Далее.

Расположение ISO-образа. Выполните следующую процедуру в ERD Commander Boot Media Wizard, чтобы указать место, где расположен создаваемый ISO-образ.

Чтобы указать расположение изображения ISO:

1) В Создать Startup диалого окна ERD Commander Boot Media Wizard, нажмите кнопку Обзор.

2) Перейдите в папку в окне Сохранить как, а затем нажмите кнопку Сохранить.

3) Нажмите кнопку Далее.

Образ ISO будет отличаться по размерам в зависимости от инструментов, которые вы выбираете и файлов, которые вы добавляете в Мастере создания ERD Commander.

Мастер требует наличия ISO образа. Файл образа имеет расширение *iso, потому что большинство программ, записывающие компакт-диски работают именно с этим расширением файлов образов. Если вы не укажете иное место, образ ISO создается на рабочем столе с именем ERD65.ISO.

CD диск. Мастер попросит указать тип компакт-дисков, которые должны быть использованы для записи CD. Если ERD Commander Boot Media Wizard обнаруживает совместимый RW-привод для компакт-дисков на вашей системе, он предложит записать ISO-образ на диск на доступном приводе. Если мастер не распознает ваш диск, вам необходимо использовать другую программу для записи CD.

Запись образа на CD-диск.

1) Для записи файла образа на записываемый диск в диалоговом окне компакт-диска ERD Commander Boot Media Wizard, выберите Запись образа на выбранный записываемый CD-диск.

2) Выберите компакт-диск.

Примечание: Если диск не распознается после установки нового диска, Вы можете нажать Обновить список дисков, чтобы заставить Мастер обновить список доступных дисков.

3) Нажмите кнопку Далее.

После этого начнется процесс записи диска аварийного восстановления ERD Commander.

Источник: http://technet.microsoft.com/en-us/library/default.aspx

Debugging Tools for Windows — Инструменты отладки кода операционных систем Windows. Представляют собой набор свободно распространяемых программ от Microsoft, предназначенных для отладки кода пользовательского режима и режима ядра: приложений, драйверов, служб, модулей ядра. В состав инструментария входят отладчики консольного и GUI- режимов, утилиты для работы с символами, файлами, процессами, утилиты для обеспечения удаленной отладки. Инструментарий содержит в себе утилиты, с помощью которых можно находить причины сбоев в различных компонентах системы. Debugging Tools for Windows с определенного момента недоступны для скачивания в форме автономного дистрибутива и входят в состав Windows SDK (Windows Software Development Kit). Набор инструментальных средств Windows SDK, в свою очередь, доступен в виде части программы подписки MSDN или же может быть свободно загружен в качестве отдельного дистрибутива с сайта msdn.microsoft.com. По заявлению разработчиков, последняя и самая актуальная версия Debugging Tools for Windows содержится именно в Windows SDK.

Debugging Tools for Windows обновляются и выкладываются в публичный доступ достаточно часто и процесс этот никак не зависит от выпуска операционных систем. Поэтому, периодически проверяйте наличие новых версий.

Давайте теперь посмотрим, что же, в частности, позволяют нам средства Debugging Tools for Microsoft Windows:

  • Отлаживать локальные приложения, службы (сервисы), драйвера и ядро;
  • Отлаживать по сети удаленные приложения, службы (сервисы), драйвера и ядро;
  • Отлаживать работающие приложения в режиме реального времени;
  • Анализировать файлы дампов памяти приложений, ядра и системы в целом;
  • Работать с системами на базе архитектур x86/x64/Itanium;
  • Отлаживать программы пользовательского режима и режима ядра;

Доступны следующие версии Debugging Tools for Windows: 32-bit x86, Intel Itanium, 64-bit x64. Нам потребуются две из них: x86 либо x64.

Доступны несколько способов установки Debugging Tools for Windows, в данной же статье мы будем рассматривать лишь основные из них:

  • Установка посредством web-инсталлятора.
  • Установка Debugging Tools for Windows с ISO-образа Windows SDK.
  • Установка Debugging Tools for Windows непосредственно из пакетов dbg_amd64.msi/dbg_x86.msi.

Остается неясен еще во какой момент, зачем мне инсталлировать отладочный инструментарий на компьютер? Зачастую ведь сталкиваешься с ситуацией, когда вмешательство в рабочую среду крайне нежелательно! И уж тем более что инсталляция нового продукта, то есть внесение изменений в реестр/файлы системы, может быть совершенно недопустима. Примерами могут служить критически-важные сервера. Почему бы разработчикам не продумать вариант с портабельными (portable) версиями приложений, не требующих установки?
От версии к версии процесс установки пакета Debugging Tools for Windows претерпевает некоторые изменения. Давайте теперь перейдем непосредственно к процессу установки и рассмотрим способы, которыми можно установить инструментарий.

Установка Debugging Tools for Windows при помощи web-инсталлятора

Переходим на страницу Архив Windows SDK и находим раздел под названием Windows 10 и ниже пункт «Windows 10 SDK (10586) и эмулятор устройства с Windows 10 Mobile (Майкрософт) (версия 10586.11)».

Debugging tools веб инсталлятор

Щелкаем по пункту УСТАНОВИТЬ ПАКЕТ SDK. После щелчка скачиваем и запускаем файл sdksetup.exe, который и инициирует процесс онлайн-установки Windows SDK. На начальном этапе инсталятор проверит наличие в системе установленного пакета .NET Framework последней версии (в данный момент это 4.5). Если пакет отсутствует, что будет предложена установка и по окончании выполнена перезагрузка станции. Сразу после перезагрузки, на этапе авторизации пользователя, стартует процесс инсталляции уже непосредственно Windows SDK.

Windows SDK  web инсталлятор

Зачастую, при выборе всех без исключения компонентов пакета, в процессе установки могут возникнуть ошибки. В этом случае рекомендуется устанавливать компоненты выборочно, минимально необходимый набор.

После завершения инсталляции Debugging Tools for Windows расположение файлов отладки при данном методе инсталляции у нас будет следующим:

  • 64-битные версии: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
  • 32-битные версии: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x86

* где x.x — определенная версия комплекта разработки;
Заметили, что версии 8 и выше, пути инсталляции заметно отличаются от классических для всех предыдущих версий средств отладки?

Огромным плюсом данного способа установки Debigging Tools for Windows является установка версий отладочных средств сразу всех архитектур.

Установка Debugging Tools for Windows с ISO-образа Windows SDK

Данный метод подразумевает установку Debugging Tools for Windows с использованием полного инсталляционного образа Windows SDK (Software Developers Kit). До определенного времени, скачать образ ISO для соответствующей системы можно было на странице Архив Windows SDK. Однако, в данный момент, получить ISO-образ SDK можно через запуск web-инсталлятора sdksetup.exe, и выбора пункта Download the Windows Software Development Kit в стартовом окне инсталлятора:

windows-sdk-iso-download

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

Соответственно, на странице необходимо подобрать требуемый дистрибутив, для меня (да и думаю для многих) в данный момент это «Пакет Windows SDK для Windows 7 и .NET Framework 4» и чуть ниже нажать на ссылку «Получить ISO-образ DVD-диска».

При работе с сайтом msdn.microsoft.com советую воспользоваться браузером Internet Explorer, поскольку были замечены случаи неработоспособности конкурирующих продуктов!

Далее у нас имеется выбор между тремя вариантами образа:

Имя Назначение
GRMSDK_EN_DVD.iso Образ SDK для систем с архитектурой x86 (32-битных).
GRMSDKIAI_EN_DVD.iso Образ SDK для систем с архитектурой ia64.
GRMSDKX_EN_DVD.iso Образ SDK для систем с архитектурой x64 (64-битных).

Соответственно, необходимо выбрать исключительно по необходимости. Обычно разрядность Debugging Tools for Windows совпадает с разрядностью системы. У меня исследуемые системы, в основном, 64-битные, поэтому я в большинстве случаев скачиваю образ для 64-битной системы GRMSDKX_EN_DVD.iso.
Затем, после скачивания образа, нам необходимо с имеющимся ISO-образом как-то работать. Традиционным способом является, конечно же, запись компакт-диска, но ведь это достаточно долгий и иногда затратный метод. Предлагаю воспользоваться бесплатными утилитами по созданию в системе виртуальных дисковых устройств. Лично я для этой цели предпочитаю пользоваться программой DEAMON Tools Lite. У кого-то могут быть и другие предпочтения, более прямые или легковесные утилиты, на вкус и цвет, как говорится.. После инсталляции DAEMON Tools Lite, я просто щелкаю два раза на файл образа GRMSDKX_EN_DVD.iso и в системе у меня появляется новый виртуальный компакт диск:

Уже затем двойным щелчком активирую автозагрузку и запускаю инсталляцию Windows SDK:

Процесс инсталляции Windows SDK

Когда подходит очередь выбирать устанавливаемые компоненты из списка, то отключаем абсолютно все опции кроме помеченных на скриншоте. Это поможет избежать ненужных нам сейчас ошибок.

Выбор опции Debugging Tools for Windows

Все именно так, на скриншоте отмечено две опции: «Windows Performance Toolkit» и «Debugging Tools for Windows». Выбирайте обе, потому как Windows Performance Toolkit Вам непременно пригодится в работе! Далее, после нажатия кнопки «Next» инсталляция продолжается в обычном режиме. И в конце вы увидите надпись «Installation Complete».
По окончании инсталляции рабочие директории комплекта Debugging Tools for Windows будут следующими:

  • Для версии x86: C:\Program Files (x86)\Debugging Tools for Windows (x86)
  • Для версии x64: C:\Program Files\Debugging Tools for Windows (x64)

На этом установку Debugging Tools for Windows можно считать оконченной.

Установка Debugging Tools for Windows через .msi файл

В случае возникновения проблем при инсталляции Debugging Tools for Windows двумя предыдущими способами, у нас в запасе остается еще один, самый надежный и проверенный временем, выручавший, так сказать, не раз. Когда-то, до интеграции в Windows SDK, Debugging Tools for Windows были доступны в виде отдельного инсталлятора .msi, который и сейчас можно найти, однако уже в недрах дистрибутива Windows SDK. Поскольку у нас на руках имеется уже ISO-образ Windows SDK, то мы можем не монтировать его в систему, а просто открыть при помощи всем уже хорошо знакомого архиватора WinRAR, ну или любого другого продукта, работающего с содержимым ISO-дисков.

debugging tools msi

После открытия образа нам необходимо пройти в каталог «Setup», находящийся в корне и далее выбрать одну из директорий:

  • Для установки 64-битной версии: \Setup\WinSDKDebuggingTools_amd64 и распаковать из этого каталога файл dbg_amd64.msi.
  • Для установка 32-битной версии: \Setup\WinSDKDebuggingTools и распаковать из этого каталога файл dbg_x86.msi.

Далее, запускаем распакованный только что .msi файл и стартуем установку Debugging Tools for Windows.

Установка Debugging Tools с помощью msi

По окончании инсталляции рабочие директории комплекта Debugging Tools for Windows будут следующими:

  • Для версии x86: C:\Program Files (x86)\Debugging Tools for Windows (x86)
  • Для версии x64: C:\Program Files\Debugging Tools for Windows (x64)

На этом установку Debugging Tools for Windows можно считать выполненной.

Дополнительные сведения

Не знаю с чем это связано, быть может с моей невнимательностью, но после инсталляции Отладочных средств для Windows, инсталлятор не прописывает в системную переменную пути Path путь к каталогу с отладчиком. Это накладывает определенные ограничения на запуск различных отладочных задач напрямую из консоли. Поэтому, в случае отсутствия пути, я самостоятельно прописываю в окне Переменные среды путь к отладочным средствам:

  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x64

* В вашем случае пути могут отличаться как по причине использования ОС другой разрядности, так и по причине использования SDK другой версии.

Утилиты пакета Debugging Tools for Windows могут работать в качестве переносных приложений, достаточно просто скопировать с рабочей системы каталог Microsoft Windows Performance Toolkit и использовать его в качестве портабельной версии на рабочем сервере. Но не забывайте учитывать разрядность системы!! Если Вы даже произвели полную инсталляцию пакета на критически-важную систему, то работать можно начинать прямо после инсталляции, перезагрузка не требуется.

Состав Debugging Tools for Windows

И теперь напоследок приведем состав Debugging Tools for Windows:

Файл Назначение
adplus.doc Документация по утилите ADPlus.
adplus.exe Консольное приложение, которое автоматизирует работу отладчика cdb для создания дампов, лог-файлов для одного или нескольких процессов.
agestore.exe Утилита для удаления устаревших файлов из хранилища, используемого сервером символов или сервером исходников.
breakin.exe Утилита, которая позволяет посылать процессам комбинацию пользовательского останова (break), аналогичное нажатию CTRL+C.
cdb.exe Консольный отладчик пользовательского режима.
convertstore.exe Утилита для конвертирования символов из уровня 2-tier в уровень 3-tier.
dbengprx.exe Рипитер (прокси сервер) для удаленной отладки.
dbgrpc.exe Утилита для отображения информации о состоянии вызова RPC.
dbgsrv.exe Процесс сервера, используемый для удаленной отладки.
dbh.exe Утилита для вывода информации о содержимом файла символов.
dumpchk.exe Утилита проверки дампа. Утилита для быстрой проверки дамп-файла.
dumpexam.exe Утилита для анализа дампа памяти. Результат выводится в %SystemRoot%\MEMORY.TXT.
gflags.exe Редактор глобальных флагов системы. Утилита управляет ключами реестра и другими настройками.
i386kd.exe Обертка к kd. Когда то так назывался kd для систем на базе Windows NT/2000 для x86 машин? Вероятно, оставлено из соображений совместимости.
ia64kd.exe Обертка к kd. Когда то так назывался kd для систем на базе Windows NT/2000 для ia64 машин? Вероятно, оставлено из соображений совместимости.
kd.exe Консольный отладчик режима ядра.
kdbgctrl.exe Инструмент управления отладки ядра. Утилита для управление и конфигурирования kernel debugging connection.
kdsrv.exe Сервер соединений для KD. Утилита представляет собой небольшое приложений, которое запускается и ждет удаленных соединений. kd запускается на клиенте и подсоединяется к этому серверу для удаленной отладки. И сервер и клиент должны быть из одной сборки Debugging Tools.
kill.exe Утилита для завершения процессов.
list.exe Утилита для вывода содержимого файла на экран. В комплекте эта миниатюрная утилита оказалась с одной целью — просмотр больших текстовых или лог-файлов. Занимает немного места в памяти, поскольку грузит текст частями.
logger.exe Миниатюрный отладчик, который может работать только с одним процессом. Утилита внедряет logexts.dll в пространство процесса, которая записывает все вызовы функций и другие действия исследуемой программы.
logviewer.exe Утилита для просмотра логов, записанных отладчиком logger.exe.
ntsd.exe Microsoft NT Symbolic Debugger (NTSD). Отладчик, идентичный cdb, за исключением того, что он создает текстовое окно при запуске. Как и cdb, ntsd способен отлаживать и консольные приложения и графические приложения.
pdbcopy.exe Утилита для удаления приватных символов из файла символов, контроля за публичными символами, включенными в файл символов.
remote.exe Утилита для удаленной отладки и удаленного контроля любого консольного отладчика KD, CDB и NTSD. Позволяет запускать все эти консольные отладчики удаленно.
rtlist.exe Удаленный просмотрщик задач. Утилита используется для вывода списка запущенных процессов через процесс сервера DbgSrv.
symchk.exe Утилита для загрузки символов с сервера символов Microsoft и создания локального кеша символов.
symstore.exe Утилита для создания сетевого или локального хранилища символов (2-tier/3-tier). Хранилище символов — специализированная директория на диске, которая строится в соответствии с определенной структурой и содержит символы. В корневой директории символов создается структура подпапок с названиями, идентичными названию компонентов. В свою очередь, в каждой из этих подпапок находятся вложенные подпапки, имеющие специальные наименования, получаемые методом хеширования бинарных файлов. Утилита symstore сканирует папки с компонентами и добавляет новые компоненты в хранилище символов, откуда их может получить любой клиент. Говорится что symstore служит для получения символов из хранилища уровня 0-tier и выкладывания их в хранилище уровня 2-tier/3-tier.
tlist.exe Просмотрщик задач. Утилита для вывода списка всех запущенных процессов.
umdh.exe User-mode dump heap utility. Утилита для анализа куч (heap) выбранного процесса. Позволяет выводить различные параметры для кучи.
usbview.exe Просмотрщик USB. Утилита для просмотра USB устройств, подключенных к компьютеру.
vmdemux.exe Демультиплексор виртуальной машины. Для одного COM-соединения создает несколько именованных каналов. Каналы используются для отладки различных компонентов виртуальной машины
windbg.exe Отладчик режима пользователя и режима ядра с графическим интерфейсом.

Содержание

  1. Отладчик Windows (WinDbg) Windows Debugger (WinDbg)
  2. MinnowBoard Max (МИКРОТЕСТОВ) MinnowBoard Max (MBM)
  3. Настройка сетевого подключения Setup network connection
  4. Raspberry Pi 2 или 3 (RPi2 или RPi3) Raspberry Pi 2 or 3 (RPi2 or RPi3)
  5. Настройка последовательного подключения Setup serial connection
  6. Драгонбоард (DB) DragonBoard (DB)
  7. Настройка USB-подключения Setup USB connection
  8. Настройка последовательного подключения Setup serial connection
  9. Практическое руководство. Отладка приложений служб Windows How to: Debug Windows Service Applications
  10. Отладка службы To debug a service
  11. Советы по отладке для служб Windows Debugging Tips for Windows Services
  12. Практическое руководство. Запуск службы Windows как консольного приложения How to: Run a Windows Service as a console application
  13. Средства отладки для Windows
  14. СОВЕТ. Отладка в пользовательском режиме.
  15. Эксперимент: Отображение информации о типах для структур ядра.
  16. Windows 8
  17. Дождались!
  18. Обзор: Запись диска с ERD Commander в Microsoft Diagnostics and Recovery Toolset

Отладчик Windows (WinDbg) Windows Debugger (WinDbg)

Отладка устройства Windows 10 IoT базовая с помощью мощного отладчика Windows, WinDbg. Debug your Windows 10 IoT Core device using the powerful Windows debugger, WinDbg.

В следующих разделах описывается, как успешно подключиться с WinDbg к устройству Windows 10 IoT базовая для отладки. The following sections describe how to successfully connect with WinDbg to a Windows 10 IoT Core device for debugging purposes. Сюда входит описание необходимых параметров программного обеспечения на устройстве, а также физические подключения оборудования. This includes a description of the necessary software settings on the device as well as the physical hardware connections.

WinDbg — очень мощный отладчик, с которым знакомы большинство разработчиков Windows. WinDbg is a very powerful debugger that most Windows developers are familiar with. Однако если вы только приступите к работе и хотите узнать больше о WinDbg, перейдите по следующим ссылкам: However, if you are just getting started and would like to learn more about WinDbg, please visit the following links:

MinnowBoard Max (МИКРОТЕСТОВ) MinnowBoard Max (MBM)

Вы можете подключить WinDbg к устройству MinnowBoard Max с помощью сетевого подключения. You can connect WinDbg to the MinnowBoard Max device using a network connection.

Настройка сетевого подключения Setup network connection

Чтобы включить отладку ядра с помощью WinDbg по сети, убедитесь, что: In order to enable kernel debugging with WinDbg over a network, ensure that:

Кабель Ethernet подключен к сети MinnowBoard Max Device. An Ethernet cable is connected to MinnowBoard Max device to your network

MinnowBoard Max Device имеет допустимый IP-адрес в вашей сети. The MinnowBoard Max device has a valid IP address in your network

Активное подключение к устройству MinnowBoard Max с помощью PowerShell An active connection to the MinnowBoard Max device via PowerShell

Используя активное подключение PowerShell, выполните следующие команды в параметре MinnowBoard Max, чтобы включить отладку по сети. Using the active PowerShell connection, execute the following commands on the MinnowBoard Max to enable debugging over the network.

Эта команда включает отладку по сети. This command enables debugging over the network. Кроме того, он указывает IP-адрес компьютера, на котором будет выполняться WinDbg (DEV_PC_IP_ADDRESS), номер сетевого порта, используемого для подключения (PORT_NUM), и уникальный ключ, который будет использоваться для различения нескольких подключений (ключ). Additionally, it specifies the IP address of the PC where WinDbg will be running (DEV_PC_IP_ADDRESS), the network port number to use for the connection (PORT_NUM), and a unique key to be used to differentiate multiple connections (KEY)

Для PORT_NUM и ключа можно использовать следующие значения в качестве примеров: 50045 и 1.2.3.4 соответственно, хотя вы можете изменить их по своему усмотрению. For PORT_NUM and KEY, you can use the following values as examples: 50045 and 1.2.3.4 respectively, although you are free to change them as you see fit

Если вы установили любой из установленных комплектов Windows, вы можете найти WinDbg в разделе C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WinDbg.exe If you have any of the Windows kits installed, you may find WinDbg under C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WinDbg.exe

Raspberry Pi 2 или 3 (RPi2 или RPi3) Raspberry Pi 2 or 3 (RPi2 or RPi3)

Вы можете подключить WinDbg к Raspberry Pi 2 или 3 с помощью последовательного подключения. You can connect WinDbg to the Raspberry Pi 2 or 3 using a serial connection.

Настройка последовательного подключения Setup serial connection

Чтобы включить отладку ядра с помощью WinDbg через последовательное подключение, убедитесь, что: In order to enable kernel debugging with WinDbg over a serial connection, ensure that:

У вас есть отладочный кабель, такой как последовательный кабель от USB до TTL от Adafruit или фтди. You have a debug cable such as the USB-to-TTL Serial Cable from Adafruit or FTDI.

Кабель Ethernet или активный WiFi, соединяющий устройство Raspberry Pi 2 или 3 с вашей сетью (для IP-подключений, таких как SSH или PowerShell). An Ethernet cable or active WiFi connecting your Raspberry Pi 2 or 3 device to your network (for IP connections like SSH or PowerShell)

Устройство Raspberry Pi 2 или 3 имеет допустимый IP-адрес в сети The Raspberry Pi 2 or 3 device has a valid IP address in your network

Активное подключение к устройству Raspberry Pi 2 или 3 с помощью PowerShell или SSH An active connection to the Raspberry Pi 2 or 3 device via PowerShell or SSH

UART0 будет использоваться на устройстве Raspberry Pi 2 или 3 для подключения отладки ядра. UART0 will be used on the Raspberry Pi 2 or 3 device for the kernel debugging connection. Ниже показаны сопоставления ПИН-кода для Raspberry Pi 2 или 3, а также последовательных кабелей: The following shows the pin mappings for the Raspberry Pi 2 or 3 as well as the serial cables:

Основная идея для создания правильных последовательных подключений заключается в том, что хотя одно устройство использует его для передачи данных, другое устройство использует RX для получения данных. The basic idea for making the correct serial connections is to remember that while one device uses its TX to transmit data, the other device uses its RX to receive the data. Ниже перечислены рекомендуемые подключения. Recommended connections are listed below:

Соединение ЕФИЕСП больше не создается. The EFIESP junction is no longer created. Его необходимо подключить самостоятельно. для получения идентификатора GUID можно использовать команду mountvol. You’ll have to mount it yourself,you can use mountvol command to get the GUID. mkdir C:\EFIESP mountvol C:\EFIESP \?\Volume

Используя активное подключение PowerShell, выполните следующие команды на устройстве Raspberry Pi 2 или 3, чтобы включить отладку по последовательному подключению. Using the active PowerShell connection, execute the following commands on the Raspberry Pi 2 or 3 device to enable debugging over the serial connection.

На компьютере разработчика получите порт номера порта COM, назначенный в системе для кабеля USB – TTL. On the developer PC, get the COM port number PORT assigned in the system for the USB-to-TTL cable. Он будет доступен в Device Manager в разделе «порты (COM & LPT)». This will be available in Device Manager under «Ports (COM & LPT)».

Если вы установили любой из установленных комплектов Windows, вы можете найти WinDbg в разделе C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WinDbg.exe If you have any of the Windows kits installed, you may find WinDbg under C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WinDbg.exe

Драгонбоард (DB) DragonBoard (DB)

Вы можете подключить WinDbg к Драгонбоард с помощью последовательного или USB-подключения. You can connect WinDbg to the DragonBoard using a serial or USB connection.

Используя активное подключение PowerShell или SSH к Драгонбоард, выполните следующие команды, чтобы включить отладку. Using the active PowerShell or SSH connection to your DragonBoard, execute the following commands to enable debugging.

Настройка USB-подключения Setup USB connection

По умолчанию параметры отладчика USB настраиваются в тестовых образах. By default the USB debugger settings are configured in the test images.

Когда отладчик ядра USB включен, порты USB на устройстве Драгонбоард могут не работать (например, клавиатура, USB-порт Ethernet может не работать). Once USB kernel debugger is on, USB ports on the DragonBoard device might not work (i.e. keyboard, usb ethernet might not work).

Настройка последовательного подключения Setup serial connection

bcdedit /store c:\EFIESP\EFI\Microsoft\Boot\BCD /dbgsettings Serial debugport:1 baudrate:115200

Перезагрузка устройства Иоткоре для повторного подключения к отладчику Reboot the IoTCore device to reconnect to the debugger

Источник

Практическое руководство. Отладка приложений служб Windows How to: Debug Windows Service Applications

Служба должна запускаться из диспетчера управления службами, а не из Visual Studio. A service must be run from within the context of the Services Control Manager rather than from within Visual Studio. Поэтому, процесс отладки службы сложнее, чем отладка приложений Visual Studio других типов. For this reason, debugging a service is not as straightforward as debugging other Visual Studio application types. Для отладки службы необходимо запустить службу, а затем подключить отладчик к процессу, в котором она выполняется. To debug a service, you must start the service and then attach a debugger to the process in which it is running. Приложение можно отлаживать с помощью всех стандартных средств отладки Visual Studio. You can then debug your application by using all of the standard debugging functionality of Visual Studio.

Не следует присоединять к процессу, если неизвестно, что собой представляет данный процесс, и неясны последствия подключения к процессу (включая даже уничтожение этого процесса). You should not attach to a process unless you know what the process is and understand the consequences of attaching to and possibly killing that process. Например, при подключении к процессу WinLogon и последующей остановке процесса отладки система будет остановлена, так как она не может работать без данного процесса. For example, if you attach to the WinLogon process and then stop debugging, the system will halt because it can’t operate without WinLogon.

Отладчик можно прикреплять только к выполняющейся службе. You can attach the debugger only to a running service. Процесс подключения прерывает текущую работу службы (фактически он не останавливает и не приостанавливает ее). The attachment process interrupts the current functioning of your service; it doesn’t actually stop or pause the service’s processing. То есть, если служба уже выполнялась на момент запуска процесса отладки, она по-прежнему технически находится в состоянии «Started» в ходе отладки, однако ее работа приостанавливается. That is, if your service is running when you begin debugging, it is still technically in the Started state as you debug it, but its processing has been suspended.

После присоединения к процессу можно установить точки останова и использовать их для отладки кода. After attaching to the process, you can set breakpoints and use these to debug your code. После выхода из диалогового окна, используемого для подключения к процессу, вы продолжаете оставаться в режиме отладки. Once you exit the dialog box you use to attach to the process, you are effectively in debug mode. Для запуска, остановки, приостановки и продолжения работы служб (то есть, попадания в заданные точки) можно использовать диспетчер управления службами. You can use the Services Control Manager to start, stop, pause and continue your service, thus hitting the breakpoints you’ve set. Позднее эту фиктивную службу можно удалить после успешного завершения отладки. You can later remove this dummy service after debugging is successful.

В этой статье рассматривается процесс отладки службы, выполняемой на локальном компьютере (также можно выполнять отладку служб Windows, которые выполняются на удаленном компьютере). This article covers debugging a service that’s running on the local computer, but you can also debug Windows Services that are running on a remote computer. См. статью об удаленной отладке. See Remote Debugging.

Процесс отладки метода OnStart может быть сложным, так как диспетчер управления службами накладывает ограничение в 30 секунд на все попытки запуска службы. Debugging the OnStart method can be difficult because the Services Control Manager imposes a 30-second limit on all attempts to start a service. Дополнительные сведения см. в статье Устранение неполадок. Отладка служб Windows. For more information, see Troubleshooting: Debugging Windows Services.

Для получения значимой информации для отладки отладчик Visual Studio должен найти файлы символов для двоичных файлов, для которых выполняется отладка. To get meaningful information for debugging, the Visual Studio debugger needs to find symbol files for the binaries that are being debugged. При отладке службы, созданной в Visual Studio, файлы символов (PDB-файлы) находятся в той же папке, что и исполняемый файл или библиотека, и отладчик загружает их автоматически. If you are debugging a service that you built in Visual Studio, the symbol files (.pdb files) are in the same folder as the executable or library, and the debugger loads them automatically. При отладке службы, которая не была построена, сначала следует найти символы для службы и убедиться, что они могут быть найдены отладчиком. If you are debugging a service that you didn’t build, you should first find symbols for the service and make sure they can be found by the debugger. См. руководство по определению файлов символов (.pdb) и файлов с исходным кодом в отладчике Visual Studio. See Specify Symbol (.pdb) and Source Files in the Visual Studio Debugger. Если вы выполняете отладку системного процесса или хотите иметь символы для системных вызовов в своих службах, то необходимо добавить серверы символов Майкрософт. If you’re debugging a system process or want to have symbols for system calls in your services, you should add the Microsoft Symbol Servers. См. статью об отладке с помощью символов. See Debugging Symbols.

Отладка службы To debug a service

Постройте службу в конфигурации отладки. Build your service in the Debug configuration.

Установите службу. Install your service. Дополнительные сведения см. в разделе Практическое руководство. Установка и удаление служб. For more information, see How to: Install and Uninstall Services.

Запустите службу из диспетчера служб, обозревателя сервера или из кода. Start your service, either from Services Control Manager, Server Explorer, or from code. Дополнительные сведения см. в разделе Практическое руководство. Запуск служб. For more information, see How to: Start Services.

Запустите Visual Studio с учетными данными администратора, чтобы вы могли подключиться к системным процессам. Start Visual Studio with administrative credentials so you can attach to system processes.

(Необязательное действие.) В строке меню Visual Studio последовательно выберите Инструменты и Параметры. (Optional) On the Visual Studio menu bar, choose Tools, Options. В диалоговом окне Параметры последовательно выберите Отладка и Символы, установите флажок Серверы символов Microsoft и нажмите кнопку ОК. In the Options dialog box, choose Debugging, Symbols, select the Microsoft Symbol Servers check box, and then choose the OK button.

В строке меню в меню Отладка или Инструменты выберите пункт Присоединение к процессу. On the menu bar, choose Attach to Process from the Debug or Tools menu. (Клавиатура: CTRL+ALT+P) (Keyboard: Ctrl+Alt+P)

Откроется диалоговое окно Процессы. The Processes dialog box appears.

Установите флажок Показать процессы, запущенные всеми пользователями. Select the Show processes from all users check box.

В разделе Доступные процессы выберите процесс для службы и нажмите кнопку Присоединиться. In the Available Processes section, choose the process for your service, and then choose Attach.

Процесс будет иметь то же имя, что и исполняемый файл для службы. The process will have the same name as the executable file for your service.

Выберите соответствующие параметры, а затем нажмите кнопку ОК, чтобы закрыть диалоговое окно. Choose the appropriate options, and then choose OK to close the dialog box.

Теперь вы находитесь в режиме отладки. You are now in debug mode.

Установите точки останова, которые буден нужно использовать в коде. Set any breakpoints you want to use in your code.

Откройте диспетчер управления службами и выполните несколько операций со своей службой (выполните команды остановки, приостановки и продолжения), чтобы обнаружить свои точки останова. Access the Services Control Manager and manipulate your service, sending stop, pause, and continue commands to hit your breakpoints. Дополнительные сведения о запуске диспетчера управления службами см. в разделе Практическое руководство. Запуск служб. For more information about running the Services Control Manager, see How to: Start Services. Также см. раздел Устранение неполадок. Отладка служб Windows. Also, see Troubleshooting: Debugging Windows Services.

Советы по отладке для служб Windows Debugging Tips for Windows Services

Попробуйте добавлять вызовы в метод Sleep с целью задержки выполнения действия, пока вы не присоединитесь к процессу. Try adding calls to the Sleep method to delay action until you’re able to attach to the process.

Попробуйте заменить программу на обычное консольное приложение. Try changing the program to a regular console application. Для этого измените метод Main следующим образом, чтобы он мог быть запущен и как служба Windows, и как консольное приложение (в зависимости от способа запуска). To do this, rewrite the Main method as follows so it can run both as a Windows Service and as a console application, depending on how it’s started.

Практическое руководство. Запуск службы Windows как консольного приложения How to: Run a Windows Service as a console application

Добавьте метод в свою службу, которая запускает методы OnStart и OnStop: Add a method to your service that runs the OnStart and OnStop methods:

Перепишите метод Main следующим образом: Rewrite the Main method as follows:

В окне свойств проекта на вкладке Приложение задайте для параметра Тип выходных данных значение Консольное приложение. In the Application tab of the project’s properties, set the Output type to Console Application.

Щелкните Начать отладку (F5). Choose Start Debugging (F5).

Чтобы снова запустить программу как службу Windows, установите ее и запустите обычным образом (для службы Windows). To run the program as a Windows Service again, install it and start it as usual for a Windows Service. Отменять эти изменения необязательно. It’s not necessary to reverse these changes.

В некоторых случаях, например, если требуется устранить некоторую проблему, которая возникает только при запуске системы, необходимо использовать отладчик Windows. In some cases, such as when you want to debug an issue that occurs only on system startup, you have to use the Windows debugger. Скачайте набор драйверов Windows (WDK) и узнайте о способах отладки служб Windows. Download the Windows Driver Kit (WDK) and see How to debug Windows Services.

Источник

Средства отладки для Windows

В пакет средств отладки для Windows входят современные отладочные инструменты, с помощью которых можно исследовать внутреннее устройство Windows. В самую последнюю версию в качестве составной части включен набор для разработки программного обеспечения — Windows Software Development Kit (SDK).

Средства из этого набора могут использоваться для отладки как процессов пользовательского режима, так и процессов ядра.

ПРИМЕЧАНИЕ. Средства отладки Debugging Tools for Windows довольно часто обновляются и выпускаются независимо от версий операционной системы Windows, поэтому почаще проверяйте наличие новых версий.

СОВЕТ. Отладка в пользовательском режиме.

Средства отладки могут также использоваться для подключения к процессу пользовательского режима и для изучения и (или) изменения состояния памяти процесса. При подключении к процессу есть два варианта:

Со средствами отладки можно также открывать файлы дампа процесса пользовательского режима.

Для отладки ядра могут использоваться два отладчика: работающий в окне командной строки (Kd.exe) и имеющий графический пользовательский интерфейс, GUI (Windbg.exe). Оба отладчика предоставляют одинаковый набор команд, поэтому выбор всецело зависит от личных предпочтений. Эти средства позволяют выполнять три типа отладки ядра:

Локальная отладка ядра

Для отображения содержимого внутренней структуры данных, включающей сведения о потоках, процессах, пакетах запросов на ввод-вывод данных и информации об управлении памятью, после подключения к режиму отладки ядра можно воспользоваться одной из множества команд расширения отладчика (команд, начинающихся с символа «!»).

Отличным подсобным справочным материалом может послужить файл Debugger.chm, содержащийся в установочной папке отладчика WinDbg. В нем приводится документация по всем функциональным возможностям и расширениям отладчика ядра. В дополнение к этому команда dt (display type — отобразить тип) может отформатировать свыше 1000 структур ядра, поскольку в файлах символов ядра для Windows содержится информация о типах, которые отладчик может использовать для форматирования структур.

Эксперимент: Отображение информации о типах для структур ядра.

Чтобы вывести список структур ядра, чей тип информации включен в символы ядра, наберите в отладчике ядра команду dt nt!_*. Частичный образец вывода имеет следующий вид:

Командой dt можно также воспользоваться для поиска определенных структур, используя заложенную в эту команду возможность применения символов-заместителей. Например, если ведется поиск имени структуры для объекта interrupt, нужно набрать команду dt nt!_*interrupt*:

lkd> dt nt!_*interrupt*

Затем, как показано в следующем примере, команду dt можно использовать для форматирования определенной структуры:

lkd> dt nt!_kinterrupt

+0x008 InterruptListEntry : _LIST_ENTRY

+0x018 ServiceRoutine : Ptr64 unsigned char

+0x020 MessageServiceRoutine : Ptr64 unsigned char

+0x028 MessageIndex : Uint4B

+0x030 ServiceContext : Ptr64 Void

+0x038 SpinLock : Uint8B

+0x040 TickCount : Uint4B

+0x048 ActualLock : Ptr64 Uint8B

+0x050 DispatchAddress : Ptr64 void

+0x058 Vector : Uint4B

+0x05d SynchronizeIrql : UChar

+0x05e FloatingSave : UChar

+0x05f Connected : UChar

+0x060 Number : Uint4B

+0x064 ShareVector : UChar

+0x068 Mode : _KINTERRUPT_MODE

+0x06c Polarity : _KINTERRUPT_POLARITY

+0x070 ServiceCount : Uint4B

+0x074 DispatchCount : Uint4B

+0x078 Rsvd1 : Uint8B

+0x080 TrapFrame : Ptr64 _KTRAP_FRAME

+0x088 Reserved : Ptr64 Void

+0x090 DispatchCode : [4] Uint4B

Следует заметить, что при выполнении команды dt подструктуры (структуры внутри структур) по умолчанию не показываются. Для выполнения рекурсии подструктур нужно воспользоваться ключом –r. Например, воспользоваться этим ключом для вывода объекта прерывания ядра с показом формата структуры _LIST_ENTRY, хранящейся в поле InterruptListEntry:

+0x008 InterruptListEntry : _LIST_ENTRY

+0x000 Flink : Ptr64 _LIST_ENTRY

+0x000 Flink : Ptr64 _LIST_ENTRY

+0x008 Blink : Ptr64 _LIST_ENTRY

+0x008 Blink : Ptr64 _LIST_ENTRY

+0x000 Flink : Ptr64 _LIST_ENTRY

+0x008 Blink : Ptr64 _LIST_ENTRY

В файле справки Debugging Tools for Windows также объясняется, как настраиваются и используются отладчики ядра. Дополнительные подробности использования отладчиков ядра, предназначенные непосредственно для создателей драйверов устройств, могут быть найдены в документации по набору Windows Driver Kit.

Источник

Windows 8

Дождались!

Обзор: Запись диска с ERD Commander в Microsoft Diagnostics and Recovery Toolset

Что такое ERD Commander и зачем он нужен?

Первоначально разработанный Wininternals и являвшийся в то время ядром Winternals Administrator’s Pak, сейчас ERD Commander — один из компонентов средства диагностики и восстановления системы Windows Microsoft DaRT (Diagnostics and Recovery Toolset), который, в свою очередь, входит в состав пакета Microsoft Desktop Optimization Pack (MDOP). Пакет Microsoft Desktop Optimization Pack в целом помогает ИТ-специалистам повысить безопасность использования ПК, обеспечивает эффективность работы сотрудников, а также позволяет сделать процесс управления настольными системами проще и дешевле. Администраторы могут с легкостью восстанавливать ПК, которые невозможно использовать, быстро определять возможные причины возникающих проблем и восстанавливать незагружаемые или заблокированные системы. Эти процессы выполняются быстрее, чем в среднем требуется времени на повторное применение образа на компьютере. При необходимости можно также быстро восстановить потерянные файлы, которые критичны для работы системы.

Возможность скачивания MDOP отсутствует в свободном доступе для пользователей. Легально загрузить пакет могут только обладатели платных подписок TechNet.

Возможности ERD Commander в MSDaRT 6,5.

Компонент диагностики и восстановления Toolset (MSDaRT) 6,5 помогает диагностировать и ремонтировать системы, которые имеют проблемы с запуском и для решения других вопросов. При запуске системы с помощью диска аварийного восстановления (ERD), который также называется Boot CD для MSDaRT, появится диалоговое окно — Параметры восстановления системы. Графическая среда и консоль командной строки доступны в этом окне. Консоль командной строки можно открыть, нажав на опцию командной строки в меню Параметры восстановления системы. Эта среда обеспечивает доступ к любой установленной операционной системе Windows ® 7 или Windows Server ® 2008 R2, в файловых системах, которые включают в себя FAT, FAT32 и NTFS.

В таблице перечислены некоторые из проблем, которые могут быть решены с помощью утилиты и мастера, которые предоставляются в Microsoft Диагностика и восстановление Toolset:

Задача Решение
Внесение изменений в реестр Утилита ERD редактора реестра в меню Сервис MSDaRT предоставляет информацию о реестре, которая может помочь вам осуществить ремонт системы.
Восстановление доступа к системе Мастер может быть использован в работе с группами локальных учетных записей пользователей и изменить пароль.
Диагностика системного сбоя Crash Analyzer может быть использован для диагностики причины сбоя системы и выявить драйвер, который вызвал сбой.
Исправление повреждений разделов или томов дисков Disk Commander можно использовать для восстановления данных на поврежденных разделах и томах жесткого диска.
Восстановление удаленных файлов Утилита Восстановление файлов может быть использована для поиска и восстановления в любой поддерживаемой Windows файловой системе.
Удаление дисков или томов Утилита Стирание дисков может быть использована для удаления дисков или томов.
Расширенный поиск файлов Утилита позволяет ограничить область поиска, при указании части имени файла, поиск места по оценкам, размеру файла, или время, когда файл был изменен.
Обзор дисков Утилита Explorer позволяет просматривать папки и файлы, которые хранятся на различных дисках.
Выполнение административных задач для управления компьютером Утилита Управления компьютером предоставляет восстановительные инструменты, чтобы помочь Вам:

— Отключить проблематичный драйвере или службу;

— Просмотреть журналы событий;

— Разделы и отформатировать жесткие диски;

— Получить информацию об автозапуске;

— Получить информацию о компьютере.

Настройка TCP/IP TCP/IP Config — утилита отображает набор протоколов TCP/IP в конфигурации компьютера
Удаление Windows исправлений и пакетов обновлений Удаление исправлений может быть использована для удаления исправлений Windows или пакетов исправлений системы, которая не может быть запущена.
Проверка и ремонт системы файлов Утилита Сканирования SFC поможет вам проверить системные файлы и восстановить поврежденные или отсутствующие.
Использование защиты от вредоносного ПО Утилита Автономная система Sweeper — позволяет обнаруживать вредоносные программе или другие нежелательные программы, а также предупреждает вас о потенциальных рисках.

Графический интерфейс Microsoft Диагностика и восстановление Toolset

Системные требования для ERD Commander в MSDaRT 6,5

ERD Commander в MSDaRT 6,5 используется в одной из следующих операционных систем:

— Windows Server ® 2008 R2;

Она имеет следующие минимальные требования к аппаратному обеспечению:

— 1 ГГц 32-разрядный (x86) или 64-разрядный (x64) процессор;

— 1 ГБ системной памяти;

— Привод для оптических компакт-дисков;

— BIOS поддержку загрузки компьютера с компакт-дисков.

Создание загрузочного ERD Commander CD для MSDaRT 6,5

ERD Commander Boot Media Wizard используется в Windows для создания загрузочного образа (ISO). Образ ISO — это файл, который представляет собой установочный пакет, который можно записать на записываемый компакт-диск. Если ваша система включает в себя CD-RW привод, Мастер предлагает записать образ ISO на чистый компакт-диск. Если ваша система не содержит диск, который поддерживается мастер, вы можете записать ISO образ на CD с помощью большинства программ, которые могут записывать компакт-диски.

Чтобы создать загрузочный компакт-диск из ISO-образа, Вам необходимы:

— Записываемый компакт-диск (в формате, поддерживаемом вашим записываемым диском).

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

При запуске ERD Commander Boot Media Wizard, будьте готовы предоставить следующую информацию:

Выбор инструмента: Вы можете выбрать инструменты и включить их в ERD Commander Boot CD на этом этапе. ERD Commander Boot Media Wizard представляет диалог выбора инструмента. Вы можете выбрать или удалить инструмент из списка инструментов, которые будут включены в MSDaRT 6,5 Boot CD, нажав Добавить или удалить кнопки.

Средств отладки для Windows: Вас попросят указать расположение средств отладки для Windows. Если вы включите Crash Analyzer в Мастере создания ISO-образа, вас просят указать расположение средств отладки для Windows. Если у вас нет сохраненных копий этих инструментов, вы можете загрузить их с Microsoft. Ссылка на страницу загрузки будет приведена в мастере. Вы можете указать расположение средства отладки в системе, где вы работаете с MSDaRT Boot Media Wizard, или вы можете отложить использование инструментов, которые расположены на целевой системе. Если вы решите использовать копию на другой системе, необходимо убедиться, что инструменты установлены на каждой системе, на которой Вы планируете проводить диагностику аварии. Примечание: если вы включите Crash Analyzer в Мастере в ISO-образа, рекомендуется также включать средств отладки для Windows.

Чтобы добавить средств отладки для Windows (необязательно):

1) Нажмите на ссылку, чтобы скачать средств отладки для Windows.

2) В анализаторе поддержки Crash Analyzer, в диалоговом окне MSDaRT Boot Media Wizard, выбрать один из следующих вариантов:

Использование средств отладки для Windows системы, находящейся в. Если вы выберете этот вариант, вы можете просматривать места расположения инструментов.

Найдите средства отладки для установки Windows расположенные на целевом компьютере.

3) Нажмите кнопку Далее.

Важно: Crash Analyzer мастер не будет работать, если средства отладки для Windows не доступны.

Определения для автономной системы Sweeper: в диалоговом окне Загрузка используются переключатели для выбора, чтобы загрузить последнюю версию определения на момент создания диска ERD или избрать для загрузки определения позже. Определения хранилища известных вредоносных программ и других потенциально нежелательных программ. Поскольку вредоносное ПО в настоящее время постоянно развивается, автономная система Sweeper опирается на современные определения, чтобы определить, есть ли программное обеспечение, которое пытается установить, запустить, или изменить настройки на компьютере посредством нежелательного или вредоносного программного обеспечения.

Чтобы включить последние определения в ERD Commander Boot CD (рекомендуется), нажмите кнопку Да для загрузки последних версий определений. Обновления определений начнется автоматически. Вы должны быть подключены к Интернету, чтобы завершить этот процесс.

Чтобы пропустить обновления определений, нажмите кнопку Нет, вручную загрузите определения позже и они не будут включены в ERD Commander Boot CD.

Драйверы: выбор возможности добавления драйверов в образ ISO. Вы можете включить дополнительные драйверы на загрузочном компакт-диске MSDaRT 6,5, что может понадобиться при ремонте компьютера. Они обычно включают в себя хранение или сетевые контроллеры, которые не включены в Windows DVD.

1) Чтобы добавить хранения или драйвер контроллера сети в загрузочный CD в диалоговом окне Дополнительные драйверы ERD Commander Boot Media Wizard, нажмите кнопку Добавить устройство.

2) Найдите файл, который будет добавлен для водителя, а затем нажмите кнопку «Открыть». Файл драйвера поставляется производителем жесткого диска или сетевой контроллер.

Повторите шаги 1 и 2 для каждого из драйверов, которые вы хотите включить.

3) Нажмите кнопку Далее.

Важно: беспроводная связь (Bluetooth или 802.11a/b/g/n) не поддерживается в MSDaRT.

Дополнительные файлы: Вы можете добавлять файлы в образ ISO, которые могут потребоваться для диагностики проблем. Выполните следующую процедуру в ERD Commander Boot Media Wizard, чтобы добавить файлы в загрузочный CD так, что их можно использовать для диагностики системных проблем.

Чтобы добавить файлы на компакт-диск:

1) В диалоговом Дополнительные файлы MSDaRT Boot Media Wizard, нажмите кнопку Показать файлы. Это открывает окно Проводника, который отображает каталог, который содержит необходимые файлы.

2) Создать подкаталог в каталог, указанный в диалоговом окне. Скопируйте файлы, которые вы хотите добавить в новый каталог.

3) Нажмите кнопку Далее.

Расположение ISO-образа. Выполните следующую процедуру в ERD Commander Boot Media Wizard, чтобы указать место, где расположен создаваемый ISO-образ.

Чтобы указать расположение изображения ISO:

1) В Создать Startup диалого окна ERD Commander Boot Media Wizard, нажмите кнопку Обзор.

2) Перейдите в папку в окне Сохранить как, а затем нажмите кнопку Сохранить.

3) Нажмите кнопку Далее.

Образ ISO будет отличаться по размерам в зависимости от инструментов, которые вы выбираете и файлов, которые вы добавляете в Мастере создания ERD Commander.

Мастер требует наличия ISO образа. Файл образа имеет расширение *iso, потому что большинство программ, записывающие компакт-диски работают именно с этим расширением файлов образов. Если вы не укажете иное место, образ ISO создается на рабочем столе с именем ERD65.ISO.

CD диск. Мастер попросит указать тип компакт-дисков, которые должны быть использованы для записи CD. Если ERD Commander Boot Media Wizard обнаруживает совместимый RW-привод для компакт-дисков на вашей системе, он предложит записать ISO-образ на диск на доступном приводе. Если мастер не распознает ваш диск, вам необходимо использовать другую программу для записи CD.

Запись образа на CD-диск.

1) Для записи файла образа на записываемый диск в диалоговом окне компакт-диска ERD Commander Boot Media Wizard, выберите Запись образа на выбранный записываемый CD-диск.

2) Выберите компакт-диск.

Примечание : Если диск не распознается после установки нового диска, Вы можете нажать Обновить список дисков, чтобы заставить Мастер обновить список доступных дисков.

3) Нажмите кнопку Далее.

После этого начнется процесс записи диска аварийного восстановления ERD Commander.

Источник

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows driver foundation user mode driver framework можно ли отключить
  • Версия 1909 windows 10 какого года
  • Как подключить компьютер к телевизору через wifi windows 10
  • Как попасть в меню восстановления windows 10 при загрузке
  • Установка windows на данный диск невозможна на выбранном диске находится таблица mbr rufus