четверг, 27 мая 2010 г.

Дружба VirtualKD и WinXP SP3 внутри VMware

Сегодня удалось подружить VirtualKD и WinXP SP3 поставленную в качестве гостевой системы внутри VMware.

Сначала коротко о том, что же такое VirtualKD ?
Если вы перейдете по следующей ссылке, то вы можете прочесть все сами, но приведу слова тут:

In English:
Welcome to the VirtualKD homepage. This project allows speeding up (up to 45x) Windows kernel module debugging using VMWare and VirtualBox virtual machines. If you have ever noticed that the standard debugging over virtual COM port is irritatingly slow, this software is for you!

In Russian(от меня)
Добро пожаловать на домашнюю страничку VirtualKD. Это проект позволяет провысить скорость(до 45x) отладки модулей ядра Windows используя виртуальные машины VMware и VirtualBox . Если Вы когда-либо замечали что стандартная отладка через виртуальный COM порт раздражающе медленная, то это программное обеспечение для Вас!

Думаю теперь вам цель этого проекта понятно и можно приступить к описанию установки, настройки.

1) Установить собственно Windows внутрь VMware
2) Каким-либо способом передать архив дистрибутива внутрь гостевой системы
3) Запустить "target\vminstall.exe" внутри этой гостевой системы
4) Запустить на хостовой, т.е. там где стоит VMware файл "virtualkd\vmmon.exe"
5) Через кнопку "Debugger path" указать путь к отладчику в проге vmmon.exe
6) Перезагрузить гостевую с выбором варианта отладочной загрузки системы
7) После выбора варианта загрузки, система остановится и не будет грузиться. Это нормально!!!
Для этого в загруженном отладчике нужно сказать "ГОУ", для WinDBG это команда "g" в его командной строке и возможно придется два раза, пока не появится "debugging running"
8) Система загрузилась

Теперь, предпочитаю "сохраниться" ;))) Для этого надо перейти в WinDBG и выбрать в верхнем меню Debug->break. После этого гостевая "замрет" и можно нажать кнопку "save snapshot". В комантариях к снэпшоту укажите что хотите не забыть в будущем, чтобы потом не тупить )

4 комментария:

Kseniia комментирует...

Большое спасибо за Ваш пост! Он очень ускорил процесс настройки виртуалки для отладки

The NT Visigoth комментирует...

Рад тому что помогает. Я вот правильно понял, что вы девушка? Или этот никнэйм в честь любимой женщины?

Kseniia комментирует...

Правильно)
Так получилось, что мой первый серьезный проект оказался как раз драйверным, а настройка всего и выбор удобной среды для этого немаловажное дело, поэтому в поисках попала на Ваш блог)

The NT Visigoth комментирует...

Тогда еще и Python изучайте. Причины:
1) Встроен в несколько популярных продуктов IDA Pro, Hiew, OllyDbg, WinDBG, WireShark и др.
2) Сможете парсить логи после использования OutputDebugString
3) В виду того что pykd, т.е. модуль Python для работы с WinDbg будет удобней скриптовать, всяко удобней чем родной скриптовый движок Windbg