> ВМ и реальное железо - вещи разные.
Тем не менее, сложно найти что-то выигрывающее по (точность эмуляции)*(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 для вывода отладочной информации и всяких вещей типа отладки по последовательному порту, да ещё и требует специального адаптера.
> Информации немного. эта статья, другие статьи
Спасибо, на первый взгляд выглядит очень интересно.
> Стоит ли разрабатывать защиту от обнаружения отладчика? Я над этим думал и пришел к выводу, что реализация полноценной защиты весьма утяжелит проект. Анализ всех атак на предмет работы под отладкой требует огромное количество процессорного времени.
На многопроцессорной системе, да ещё и когда есть обмен с сетью, то строго говоря, полностью отладчик спрятать невозможно.
Да и поскольку речь об отладчике, а не о средстве анализа защищённых программ, то тем более заморачиваться именно защитой смысла нет. Однако ж, над тем чтобы система под отладчиком работала корректно и, по-возможности, так же как без отладчика - однозначно работать надо, ибо иначе какой смысл в таком отладчике.