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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: WinDBG + WMware  (Прочитано 32029 раз)
0 Пользователей и 1 Гость смотрят эту тему.
EvilsInterrupt
Гость
« : 04-05-2006 17:58 » 

Всем большой привет!

Кратко написанием ПО такого уровня начал заниматься буквально на днях, естественно без опытов не куда. Но если в 3м уровне еще можно шутить, то в нуле,шутка может закончиться синим экраном.

Отсюда мое решение, на Win XP sp2 поставил:
1. WinDBG 4.6.0007.0
2. WM ware 5.5.1 build 19175
3. Настроил переменные среды для загрузки символов
4. Создал виртуальную машину и Поставил WinXP sp2, после отключил в ней подкачку, в boot.ini прописал загрузку по /debugport=com1 /boudrate=115200 /debug /fastdetect
5. Создал батник windbg.bat:
Код:
cd /d "c:\Program Files\Debugging Tools for Windows\"
start windbg.exe -k com:pipe,port=\\.\pipe\com_1
-y SRV*c:\tmp\WinXPsp2\symbols\*http://msdl.microsoft.com/download/symbols
6. В настройках виртуальной машины указал что, последовательный порт будет через \\.\pipe\com_1

Дальше как не пытаюсь у меня не получается работать с виндой в вирт.машине, подскажите что щелкать и простые приемы, пошлите на худой конец к документации на эту тему по мимо стандартных идущих в поставке( в них я уже ни чего не понимаю)
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #1 : 06-05-2006 13:28 » 

WinDBG у тебя зачетный WinDBG 4.6.0007.0 , надеюсь это опечатка и у тебя 6.XXXX.
Делать так- сначала пускаешь на виртуальной машине свою ОС, потом запускаешь батник.
Записан
EvilsInterrupt
Гость
« Ответ #2 : 07-05-2006 06:29 » 

Да ты прав именно тот, что ты сказал. оЧепятолся.

Мне сейчас осталось научиться как подключаться к целевому компу когда система уже работает, и чтобы без перезагрузки целевой!

Отключение от нее в Солдатове написано! А вот подключение нету!
Записан
aks68
Модератор

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

« Ответ #3 : 07-05-2006 07:14 » 

Добрый день!

Предлагаю добавить к параметрам кома свойство resets, ибо сказанно в документации:

Цитата
resets=0
Specifies that an unlimited number of reset packets can be sent to the target when the host and target are synchronizing. Use the resets=0 parameter for Microsoft Virtual PC and other virtual machines whose pipes drop excess bytes. Do not use this parameter for VMware or other virtual machines whose pipes do not drop all excess bytes.


Вот к примеру мой скрипт для работы с VmWare( WinDbg- 6.4.0007.0; VmWare - 5.0.0.-b-13124):

Код:
path %path;"C:\Program Files\Debugging Tools for Windows"
windbg -W %1 -b -k com:pipe,port=\\.\pipe\com_1,resets=0

Первый аргумент естес-но имя воркспэйса с которым работаю.

С уважением,
Акс.
Записан
EvilsInterrupt
Гость
« Ответ #4 : 07-05-2006 08:08 » 

Код:
cd /d "c:\Program Files\Debugging Tools for Windows\"
start windbg.exe -b -k com:pipe,port=\\.\pipe\com_1,resets=0
-y SRV*c:\tmp\WinXPsp2\symbol*http://msdl.microsoft.com/download/symbols
мой текущий bat-файл вот думаю как бы вписать в него исходник c:\rootkit\init.c , т.е. не делать каждый раз .srcpath

Возможно ли это?

ЗЫ:
В распространении FreeBSD есть такое понятие CVS в этоге когда меняется скажем исходный файл ядра kernel2.c качается только измениния к нему. Это экономит трафик!
Можно ли символы для винды аналогично настроить, чтобы обновлялись те, что действительно нужны и отличаются, а не все с копом и тоже самое качать. Надеюсь не так сумбурно Улыбаюсь
Записан
aks68
Модератор

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

« Ответ #5 : 07-05-2006 09:58 » 

Код:
cd /d "c:\Program Files\Debugging Tools for Windows\"
start windbg.exe -b -k com:pipe,port=\\.\pipe\com_1,resets=0
-y SRV*c:\tmp\WinXPsp2\symbol*http://msdl.microsoft.com/download/symbols
мой текущий bat-файл вот думаю как бы вписать в него исходник c:\rootkit\init.c , т.е. не делать каждый раз .srcpath

Возможно ли это?

ЗЫ:
В распространении FreeBSD есть такое понятие CVS в этоге когда меняется скажем исходный файл ядра kernel2.c качается только измениния к нему. Это экономит трафик!
Можно ли символы для винды аналогично настроить, чтобы обновлялись те, что действительно нужны и отличаются, а не все с копом и тоже самое качать. Надеюсь не так сумбурно Улыбаюсь

1. Я вот непонял, теперь Виндбаг коннектится или нет?

2. Возможно Ага Ключевое слово Workspace, и будет тебе счастье Улыбаюсь А именно - запускаеш WinDbg на холостом ходу, через меню выставляеш File->Symbol File Path и File->Source File Path, геометрию окон итд, затем сохраняеш это как некий workspace (FIle->Save Workspace As...) и все... А в скрипт добавляешь -W <WS_name> и убираеш -y с параметрами

3. Можно. Более того - это уже реализованно. Путь указанный в SRV*<xxx>* и именуемый в документации DownstreamStore кэширует символы автоматически...

С уважением,
Акс.

PS: Руткит говориш  Отлично Отлично Отлично
Записан
EvilsInterrupt
Гость
« Ответ #6 : 07-05-2006 11:42 » 

Да WinDBG коннектится! Улыбаюсь))

При физически DDR 256 метров, пришлось для WMwarной винды поставить 92 метра, все убрать, службы поотрубать(удаленные хелп мне к примеру на фиг не нужен!), в общем че то есть правда несразу догдался что вся работа через ctrl+break идет! Улыбаюсь))

А советы, спасибо, пошел пробовать! Улыбаюсь
Записан
EvilsInterrupt
Гость
« Ответ #7 : 08-05-2006 06:46 » 

>PS: Руткит говориш   

Надо же интерес развивать, а ядро оно хоть при рутките хоть при драйвере мыши ОДНО и тоже! Улыбаюсь

Ну в лом мне без задачи изучать эти дебри! А изучать надо!

Теперь о деле:
File->Symbol File Path - Поясни что ты под ним имел ввиду? Символды для библиотек винды или же символы моего драйвера?
После внедрения ОНОй ЭТо "-y SRV*c:\tmp\WinXPsp2\symbol*http://msdl.microsoft.com/download/symbols" мне стоит убрать. Я правильно понял?

Второе: пытаюсь "reload /f nt" А фигу получаю!
Записан
EvilsInterrupt
Гость
« Ответ #8 : 08-05-2006 07:52 » 

Модераторам:
Предлагаю написать FAQ, не смотря нато что есть родные хэлпы к WinDBG.
Почему:
1. WinDBG потому что это родное детище MS, а они винды и ее недокумментированные вещи должны знать лучше чем кто-либо!
2. Это избавит новичков создавать тему и лишнее время тратить на то, как задать вопрос, чтоб тебя поняли(мне лично влом, лучше FAQ или статью почитать)
3. Многие вещи даже гуру могут не знать, как тогда быть новичкам?
4. Не хочу видеть бестолковые вопросы, ответы на которые меня далеко не продвинут!
Записан
aks68
Модератор

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

« Ответ #9 : 08-05-2006 12:25 » 

>PS: Руткит говориш  

Надо же интерес развивать, а ядро оно хоть при рутките хоть при драйвере мыши ОДНО и тоже! Улыбаюсь

Ну в лом мне без задачи изучать эти дебри! А изучать надо!

Теперь о деле:
File->Symbol File Path - Поясни что ты под ним имел ввиду? Символды для библиотек винды или же символы моего драйвера?
После внедрения ОНОй ЭТо "-y SRV*c:\tmp\WinXPsp2\symbol*http://msdl.microsoft.com/download/symbols" мне стоит убрать. Я правильно понял?

Второе: пытаюсь "reload /f nt" А фигу получаю!

Добрый день!

1. Я имел в виду определение строки поиска по каталогам для файлов содержащих отладочные символы. Как ее задавать - все равно. Либо Menu: File->Symbol FIle Path, и далее вносить текст в окно, либо с помощю команды .sympath (если кликать по менюшкам религия непозволяет Ага ). Сама-же строка поиска должна содержать пути к каталогу с символами драйвера и определение DownstreamStore, разделенные символом ";" Пример: "c:\my_drv_symbols;SRV*c:\mssymbols*http://msdl.microsoft.com/download/symbols". И не забудь потом обязательно сохранить workspace. А теперь, т.к. sympath уже присутствует в workspace, из bat-файла запускаеш -W <your_workspace>, а не -y <SymFIlePath>

2. reload это мета-команда - запускается через точку ( .reload /f nt)

С уважением,
Акс.


Записан
EvilsInterrupt
Гость
« Ответ #10 : 08-05-2006 16:04 » 

Ну и спрятали же кнопку: "Вложить файл"! Улыбаюсь))

Вот мои действия:
1. Создал рабочую группу, прописал ее в *.bat
2. Включаю вирт.машину, в boot.ini которой добавил:
/fastdetect /debug /debugport=com1 /baudrate=115200
3. включаю ее и при выборе винды выбираю ту что с отладчиком. Но не запускаю!
4. Запускаю *.bat
5. Запускаю винду
6. вижу бряк int 3 в отладчике, после чего жму команду "g", т.к. до клавиши F5 дотянуться влом, да и нафиг? Улыбаюсь))

Вроде бы я "Властелин кольца" - (У виндов только одно кольцо всевластия - нулевое! Улыбаюсь Улыбаюсь))

Но возникает следующее:
Я написал testapp.exe которое использует testdriver.sys

1. Как мне поставить бряк на AddDevice,DriverEntry и UnloadRoutine ?
Пробовал:
bu rootkit!AddDevice
bu rootkit!DriverEntry
bu rootkit!UnloadRoutine
но не помогло! Жаль
2. Как мне проверить, а не остался ли драйвер в системе ? А то при следующем эксперименте может мешать какая либо строчка связанная с прошлой неудачной загрузкой
может у кого то уже есть готовая утилита?
Записан
aks68
Модератор

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

« Ответ #11 : 13-05-2006 20:38 » 

Добрый день!

1. Поздравляю!  Отлично  Отлично  Отлично Велкам, так-скзть, ту зе клаб! С кольцами только (IMHO) поосторожнее,-засасывает... Смотри в Горлума не превратись Отлично  Отлично  Отлично...
2. Точки останова... Здесь была моя ладья... странно, должны работать... Не понял Попробуй что-ли bp вместо bu?... Да, и обрати внимание на то, что тебе Виндбаг ответит и еще,- для нормальной работы надо быть увереным, что отладочные символы загруженны (lm).
3. Для проверок состояния системы я например использую WinObj от Руссиновича Класс!. В DDK есть еще DeviceTree, но мне что-то непонравилась.

С уважением,
Акс.
Записан
Kondrat
Интересующийся

ua
Offline Offline

« Ответ #12 : 07-02-2009 19:24 » 

Подниму тему.
Недавно занялся отладкой в ринг0... Что я не так настроил, подскажите: 2 компа в сети, на одном запущена виртуалка, на второй WinDbg, - вот настройки VMWare:
Код:
\\.\pipe\com_1

В WinDbg:
Код:
\\192.168.0.200\pipe\com_1
- ип машины где стоит VMWare.

Батник, которым стартую WinDbg:
Код:
cd C:\Program Files\Debugging Tools for Windows (x86)
windbg -k com:pipe,port=\\192.168.0.200\pipe\com_1

Пускаю VMWare в режиме отладки, потом при запуске batника или через Ctrl+K -  "Отказано в доступе".

Спасибо.
Записан
Ochkarik
Модератор

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

« Ответ #13 : 08-02-2009 15:47 » 

а пункт 4 из первого сообщения выполнен?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Kondrat
Интересующийся

ua
Offline Offline

« Ответ #14 : 08-02-2009 18:07 » 

Да, вот boot.ini VMWare:
Код:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional - Debug" /fastdetect /debugport=com1 /baudrate=115200 /debug
Вроде как права админа надо выставить где-кто, не знаю где.
Записан
Ochkarik
Модератор

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

« Ответ #15 : 09-02-2009 05:55 » 

попробуйте посмотреть http://silverstr.ufies.org/lotr0/windbg-vmware.html
http://www.etdot.com/2008/04/16/windbg-and-vmware/
и http://www.catch22.net/tuts/vmware

там что то похожее. но вдруг что забыли?)
еще на каком то форуме по поиску в гугле говорят что не все версии WMVare это поддерживают?
http://www.vmware.com/support/gsx3/doc/devices_serial_debug_gsx.html
http://www.vmware.com/support/gsx3/doc/devices_serial_connect2vms_gsx.html
Записан

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

а локально проверяли? всмысле WinDbg на том же компе что и VMWare?
я у себя /debug не указывал в boot.ini, кстати правильно boudrate
виртуалка при старте в ожидание отладчика уходит вообще нет?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #17 : 09-02-2009 16:11 » 

elDraco, вообще то, всегда скорость была bAudrate Улыбаюсь
Записан

Ochkarik
Модератор

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

« Ответ #18 : 09-02-2009 17:40 » 

http://msdn.microsoft.com/en-us/library/ms791527.aspx
bAudrate
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Kondrat
Интересующийся

ua
Offline Offline

« Ответ #19 : 10-02-2009 10:25 » 

Спасибо всем, но что-то пока никак.
а локально проверяли? всмысле WinDbg на том же компе что и VMWare?
да, стоит той же версии VMWare, с той же самой виндой, что и на 2ом компе сейчас стоит. И нормально коннектит...

Цитата
я у себя /debug не указывал в boot.ini
пробовал и без дебаг - нифига.

Цитата
виртуалка при старте в ожидание отладчика уходит вообще нет?
да, ожидает, вверху кусор, потом начинает грузить винду как обычно.
Записан
Ochkarik
Модератор

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

« Ответ #20 : 10-02-2009 10:41 » 

кстати, версии винды и WMWare какие?
PS и windbg?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Kondrat
Интересующийся

ua
Offline Offline

« Ответ #21 : 10-02-2009 11:10 » 

кстати, версии винды и WMWare какие?
PS и windbg?
на обоих машинах XP, SP3. VMWare ACE Edition 6.0.0, WinDbg 6.10.0003.233 x86.
Записан
elDraco
Гость
« Ответ #22 : 10-02-2009 11:20 » 

elDraco, вообще то, всегда скорость была bAudrate Улыбаюсь
упс прошу прощения:)

если ожидает отладчика значит с настройками VMWare всё нормально, проблема имхо с удалённым доступом к пайпе (их вообще можно расшарить?)
« Последнее редактирование: 10-02-2009 11:23 от elDraco » Записан
Ochkarik
Модератор

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

« Ответ #23 : 10-02-2009 11:43 » 

windbg -b -k com:pipe,port=\\.\pipe\com_1,resets=0
ключ -b пробовали? помоему для 6.0 версии и выше он обязателен.
Цитата
-b
(Kernel mode only) This option has two effects:
1. The debugger will break into the target computer immediately upon connection.

2. After a reboot, the debugger will break into the target computer once the kernel is initialized. See Crashing and Rebooting the Target Computer for details and for other methods of changing this status.
или насчет обязательности я перепутал...)

PS а вобще в документации написано

windbg -remote npipe:server=Server,pipe=PipeName[,password=Password]
« Последнее редактирование: 10-02-2009 13:52 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Kondrat
Интересующийся

ua
Offline Offline

« Ответ #24 : 11-02-2009 09:58 » 

В общем, после долгих плясок так и не удалось мне подключить указанным выше способом.... Нет доступа и всё!  Не понял Не понял

Настроил способом, описанным в этой статье - http://www.nynaeve.net/?p=37, с помощью kdsrv.exe. Всё замечательно запустилось!

Спасибо всем за советы и помощь.
Записан
Ochkarik
Модератор

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

« Ответ #25 : 12-02-2009 19:37 » new

удачи! спасибо за ссылку)
Записан

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

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines