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
Главный специалист
Offline
|
|
« Ответ #1 : 06-05-2006 13:28 » |
|
WinDBG у тебя зачетный WinDBG 4.6.0007.0 , надеюсь это опечатка и у тебя 6.XXXX. Делать так- сначала пускаешь на виртуальной машине свою ОС, потом запускаешь батник.
|
|
|
Записан
|
|
|
|
EvilsInterrupt
Гость
|
|
« Ответ #2 : 07-05-2006 06:29 » |
|
Да ты прав именно тот, что ты сказал. оЧепятолся.
Мне сейчас осталось научиться как подключаться к целевому компу когда система уже работает, и чтобы без перезагрузки целевой!
Отключение от нее в Солдатове написано! А вот подключение нету!
|
|
|
Записан
|
|
|
|
aks68
|
|
« Ответ #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
|
|
« Ответ #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
|
|
« Ответ #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
|
|
« Ответ #11 : 13-05-2006 20:38 » |
|
Добрый день! 1. Поздравляю! Велкам, так-скзть, ту зе клаб! С кольцами только (IMHO) поосторожнее,-засасывает... Смотри в Горлума не превратись ... 2. Точки останова... странно, должны работать... Попробуй что-ли bp вместо bu?... Да, и обрати внимание на то, что тебе Виндбаг ответит и еще,- для нормальной работы надо быть увереным, что отладочные символы загруженны (lm). 3. Для проверок состояния системы я например использую WinObj от Руссиновича . В DDK есть еще DeviceTree, но мне что-то непонравилась. С уважением, Акс.
|
|
|
Записан
|
|
|
|
Kondrat
Интересующийся
Offline
|
|
« Ответ #12 : 07-02-2009 19:24 » |
|
Подниму тему. Недавно занялся отладкой в ринг0... Что я не так настроил, подскажите: 2 компа в сети, на одном запущена виртуалка, на второй WinDbg, - вот настройки VMWare: В 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
|
|
« Ответ #13 : 08-02-2009 15:47 » |
|
а пункт 4 из первого сообщения выполнен?
|
|
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
Kondrat
Интересующийся
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
|
|
« Ответ #15 : 09-02-2009 05:55 » |
|
|
|
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
elDraco
Гость
|
|
« Ответ #16 : 09-02-2009 12:56 » |
|
а локально проверяли? всмысле WinDbg на том же компе что и VMWare? я у себя /debug не указывал в boot.ini, кстати правильно boudrate виртуалка при старте в ожидание отладчика уходит вообще нет?
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #17 : 09-02-2009 16:11 » |
|
elDraco, вообще то, всегда скорость была bAudrate
|
|
|
Записан
|
|
|
|
Ochkarik
|
|
« Ответ #18 : 09-02-2009 17:40 » |
|
|
|
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
Kondrat
Интересующийся
Offline
|
|
« Ответ #19 : 10-02-2009 10:25 » |
|
Спасибо всем, но что-то пока никак. а локально проверяли? всмысле WinDbg на том же компе что и VMWare? да, стоит той же версии VMWare, с той же самой виндой, что и на 2ом компе сейчас стоит. И нормально коннектит... я у себя /debug не указывал в boot.ini пробовал и без дебаг - нифига. виртуалка при старте в ожидание отладчика уходит вообще нет? да, ожидает, вверху кусор, потом начинает грузить винду как обычно.
|
|
|
Записан
|
|
|
|
Ochkarik
|
|
« Ответ #20 : 10-02-2009 10:41 » |
|
кстати, версии винды и WMWare какие? PS и windbg?
|
|
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
Kondrat
Интересующийся
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
|
|
« Ответ #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 уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
Kondrat
Интересующийся
Offline
|
|
« Ответ #24 : 11-02-2009 09:58 » |
|
В общем, после долгих плясок так и не удалось мне подключить указанным выше способом.... Нет доступа и всё! Настроил способом, описанным в этой статье - http://www.nynaeve.net/?p=37, с помощью kdsrv.exe. Всё замечательно запустилось! Спасибо всем за советы и помощь.
|
|
|
Записан
|
|
|
|
Ochkarik
|
|
« Ответ #25 : 12-02-2009 19:37 » |
|
удачи! спасибо за ссылку)
|
|
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
|