OSDev

для всех
Текущее время: 29 мар 2024, 09:59

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Разработка отладчика
СообщениеДобавлено: 28 май 2012, 17:58 

Зарегистрирован: 28 май 2012, 09:31
Сообщения: 28
Требования к железу в любом случае снижают привлекательность продукта. А с другой стороны реализация отладки на той же машине существенно повышает требования к самому отладчику. Чего стоит одна только реализация ввода/вывода без влияния на отлаживаемы программы и ОС. Меня это приводит в трепет. Опять же SoftIce и Syser пошли по этому пути.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка отладчика
СообщениеДобавлено: 28 май 2012, 18:32 

Зарегистрирован: 26 мар 2012, 17:32
Сообщения: 209
На тему универсального отладчика -
(Bochs [+ gdb]) | ((QEMU || QEMU-KVM) + gdb)
вам во все поля. Разработки подобного bare-metal гипервизора велись, но как-то гибло оно получается. Хотя там три с половиной анонимуса было, так что если бы сообщество подтянулось, то можно бы.

> Реально же интеловские инженеры как-то свои творения отлаживают, правда
На тему интела можно почитать, в частности, http://download.intel.com/technology/it ... /art_3.pdf и, в целом, http://en.wikipedia.org/wiki/Post-silicon_validation

> COM сейчас, в общем-то, не вариант: на многих новых матерях его даже на штырях нет
Но на многих есть. Собственно, сам через него отлаживаюсь.
Хотя ethernet бы было круто. Но если писать отладчик, то надо немало кода написать чтобы скрыть от гостевой системы ту сетевуху, через которую общаемся с гипервизором.

> Можно отлаживать через отладочный интерфейс EHCI
что-что? Разве это не только для линуха верно и трёх с половиной встраиваемых железок (впрочем, наверное, это и подразумевалось под специальным адаптером)

> Официально с 486 (или пней? где-то в том районе) аппаратной отладки в интелях нет
так-так, а можно подробно про 486? Было бы интересно повтыкать на аппаратную отладку на моих железках, не знал что там такое может быть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка отладчика
СообщениеДобавлено: 28 май 2012, 18:39 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
softice мог грузиться с доса и отлаживать любую операционку или почти любую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка отладчика
СообщениеДобавлено: 28 май 2012, 18:45 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Nable писал(а):
На тему универсального отладчика -
(Bochs [+ gdb]) | ((QEMU || QEMU-KVM) + gdb)
вам во все поля. Разработки подобного bare-metal гипервизора велись, но как-то гибло оно получается. Хотя там три с половиной анонимуса было, так что если бы сообщество подтянулось, то можно бы.


ВМ и реальное железо - вещи разные. QEMU-KVM использует железное ядро, но эмулируемая им периферия все-таки отличается от реальной.

И да, убавьте сленг.

Nable писал(а):
Хотя ethernet бы было круто. Но если писать отладчик, то надо немало кода написать чтобы скрыть от гостевой системы ту сетевуху, через которую общаемся с гипервизором.


По-моему, скрыть как раз не проблема: гипервизор фильтрует весь ввод-вывод, что мешает ему скрыть устройство в конф. пространстве PCI и его порты?

Nable писал(а):
На тему интела можно почитать, в частности, http://download.intel.com/technology/it ... /art_3.pdf и, в целом, http://en.wikipedia.org/wiki/Post-silicon_validation


Да знаю я про post silicon validation. Но это - внутренняя кухня интела, и для обычного осеписателя интереса особого она не представляет. Мне интереснее, есть ли в серийных процессорах выведенный с кристалла отладочный интерфейс?

Nable писал(а):
что-что? Разве это не только для линуха верно и трёх с половиной встраиваемых железок (впрочем, наверное, это и подразумевалось под специальным адаптером)

EHCI Debug Port на вики coreboot. Встраиваемые железки тут не причем.

Nable писал(а):
так-так, а можно подробно про 486? Было бы интересно повтыкать на аппаратную отладку на моих железках, не знал что там такое может быть.


Информации немного. эта статья, другие статьи в том же разделе и упомянутая в них документация - почти всё, что есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка отладчика
СообщениеДобавлено: 28 май 2012, 18:59 

Зарегистрирован: 28 май 2012, 09:31
Сообщения: 28
pavia писал(а):
softice мог грузиться с доса и отлаживать любую операционку или почти любую.

По моему вы не совсем правы. SoftIce всегда работал под Windows, хотя и стартовал якобы раньше ОС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка отладчика
СообщениеДобавлено: 28 май 2012, 20:36 

Зарегистрирован: 28 май 2012, 09:31
Сообщения: 28
Стоит ли разрабатывать защиту от обнаружения отладчика? Я над этим думал и пришел к выводу, что реализация полноценной защиты весьма утяжелит проект. Анализ всех атак на предмет работы под отладкой требует огромное количество процессорного времени.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка отладчика
СообщениеДобавлено: 28 май 2012, 21:55 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Golan писал(а):
По моему вы не совсем правы. SoftIce всегда работал под Windows, хотя и стартовал якобы раньше ОС.

SoftIce существовал ещё в старые ДОСовские времена. Это очень старый проект.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка отладчика
СообщениеДобавлено: 29 май 2012, 22:32 

Зарегистрирован: 26 мар 2012, 17:32
Сообщения: 209
> ВМ и реальное железо - вещи разные.
Тем не менее, сложно найти что-то выигрывающее по (точность эмуляции)*(verbosity) у Bochs'а.
Ну разве что симуляторы типа AMD SimNow, но там ни о какой скорости говорить нельзя.
Когда находят какие-то несооветствия между реальным железом и VM - открывают доки, думают и фиксят.

А толку с реальной периферии в QEMU-KVM маловато, вот говорит процессор VMEXIT_VMX_INVALID_GUEST_STATE и всё, больше ничего не говорит толком, приходится убить две недели (это мне ещё сильно повезло что я через неделю вспомнил про Bochs, ибо до этого не пользовался им три года, впрочем, и до этого почти не юзал) на поиск того какие поля в VMCS (а их там ~сотни) оказались неправильные.

> И да, убавьте сленг.
сиране борды сделали из меня сиране фрика, мой русский язык этим смертельно поражён. Впрочем, иногда мемы добавляют русскому языку хоть какую-то ёмкость и лаконичность (которых после английского очень не хватает).
В общем, постараюсь.

> По-моему, скрыть как раз не проблема: гипервизор фильтрует весь ввод-вывод, что мешает ему скрыть устройство в конф. пространстве PCI и его порты?
Когда я это писал, меня понесло в воспоминания об объёме кода работы с виртуальным PCI деревом (где живут проброшенные устройства со всякими memory hook'ами, защищённые с помощью shadow paging спрятанные реальные устройства, виртуальные устройства, потом ещё код для обработки работы с соотв. IO портами (разбор куда гость обратился и что с этим делать) и т.д.). Брр, кажется что мало работы, но кода дофига в итоге получается, как бы его не рефакторил.

> EHCI Debug Port на вики coreboot
Что-то я читаю и особой радости не возникает. Как будто бы оно тупо заменяет UART для вывода отладочной информации и всяких вещей типа отладки по последовательному порту, да ещё и требует специального адаптера.

> Информации немного. эта статья, другие статьи
Спасибо, на первый взгляд выглядит очень интересно.

> Стоит ли разрабатывать защиту от обнаружения отладчика? Я над этим думал и пришел к выводу, что реализация полноценной защиты весьма утяжелит проект. Анализ всех атак на предмет работы под отладкой требует огромное количество процессорного времени.

На многопроцессорной системе, да ещё и когда есть обмен с сетью, то строго говоря, полностью отладчик спрятать невозможно.
Да и поскольку речь об отладчике, а не о средстве анализа защищённых программ, то тем более заморачиваться именно защитой смысла нет. Однако ж, над тем чтобы система под отладчиком работала корректно и, по-возможности, так же как без отладчика - однозначно работать надо, ибо иначе какой смысл в таком отладчике.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB