Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

articles:emu [2017/09/05 02:55] (текущий)
Строка 1: Строка 1:
 +====== emu ======
 +<​sub>​{{emu.odt|Original file}}</​sub>​
 +
 +====== сравнительный анализ эмуляторов ======
 +
 +крис касперски ака мыщъх, no-email
 +
 +**несколько лет назад основным оружием хакера был дизассемблер и отладчик. теперь же к ним добавляется еще и **//​**эмулятор**//​**,​ открывающий перед кодокопателями поистине безграничные возможности,​ ранее доступные только крупным компаниям,​ а теперь ставшие привычным атрибутом любого исследователя. что же это за эмуляторы такие и какие именно возможности они открывают?​**
 +
 +===== введение =====
 +
 +Всякая операционная система имеет свои особенности и поведение программы,​ запущенной под Windows 9x,​ может существенным образом отличаться от Windows NT. Зоопарк UNIX-подобных систем и генетически мутированных клонов лучше вообще не вспоминать. Хакеру,​ занимающемуся сетевой безопасностью,​ необходимо иметь по меньшей мере три системы:​ Windows NT,​ LINUX и Free BSD, ну и другие флагманы рынка не помешают. Многие уязвимости (и, в частности,​ ошибки переполнения) проявляются только на строго определенных версиях оси и отсутствуют на всех остальных. А раз так, написанием и отладкой эксплоита абы на чем не займешься… Но постоянно переставать свою рабочую ось – это не только чудовищная потеря времени (а время всегда работает простив нас), но еще и риск потери всех накопленных данных!
 +
 +К тому же, crash-тесты на переполнение,​ заканчивающиеся сбросом дампа ядра,​ – это хороший способ превратить файловую систему в мешанину. И хотя потерянные данные можно полностью или частично восстановить – вы должны уметь это делать,​ оставляя за своими плечами гигантский опыт борьбы с разрушениями. Сухая теория (равно как и NortonDiskDestroyer) только мешает. Вот и приходится заблаговременно подключать отдельный винчестер и зверски над ним издеваться,​ то погружая файловую систему в небытие,​ то возвращая ее к жизни.
 +
 +Эксперименты с вирусами и эксплоитами так же следует проводить на отдельной полностью изолированной от внешнего мира машине,​ поскольку система разграничения доступа,​ встроенная в Windows NT и UNIX-системы далеко не безупречна и малейшая небрежность,​ допущенная исследователем,​ зачастую оборачивается тотальным разрушением.
 +
 +Традиционно эти задачи решались путем приобретения нескольких компьютеров или на худой конец множества жестких дисков,​ попеременно подключаемых к одной машине. Но первое дорого (и к тому же все эти компьютеры надо где-то размещать! площади средне статической квартиры для них скорее всего окажется недостаточно),​ а второе – не эстетично и не удобно,​ к тому же жесткие диски довольно скептически относятся к перспективе кочевой жизни, покрываясь "​бэдами"​ при каждом ударе.
 +
 +Теперь же этот кошмар мало-помалу отходит в прошлое. Мощь современных процессоров позволяет эмулировать весь персональный компьютер целиком,​ позволяя выполнять на нем программы в реальном времени и с приемлемой скоростью. Эмуляторы плодятся как ежики после дождя – VMWare, Virtual PC,​ Bochs, DOS-Box… и каждый день появляются все новые и новые. Какой из них выбрать?​ Большинство публикаций,​ посвященных эмуляторам,​ ориентируются главным образом на геймеров и системных администраторов. Первым важна скорость и качественный звук, вторым – наличие механизмов взаимодействия между виртуальными машинами. Хакерам же на все это наплевать. Главное – чтобы работал Айс, ну и встроенный (build-in, internal, integrated) отладчик не помешает. К тому же, основное преимущество эмуляции над "​живым"​ процессором заключается отнюдь не в самой эмуляции как таковой. Но не будем забегать вперед…
 +
 +{{emu_Image_0.png?​553}}
 +
 +Рисунок 1 эмулятор как полигон для отработки навыков по восстановлению файловой системы
 +
 +===== MinimalSystemRequest =====
 +
 +Большинство эмуляторов предъявляют весьма утерянные требования к аппаратуре. Для комфортной работы с Windows 2000 и Free BSD 4.5 процессора Pentium-III 733 MHz будет вполне достаточно (в частности,​ VM Ware превращает его в Pentium III 336 MHz,​ а Virtual PC в Pentium III 187 MHz,​ короче говоря,​ QUAKE I хоть и на пределе,​ но все-таки тянет).
 +
 +{{emu_Image_1.png?​553}}
 +
 +Рисунок 2 диагностика виртуальной машины,​ созданной эмулятором VM Ware
 +
 +Требования к памяти намного более жестки. Как минимум необходимо иметь 128 Мбайт для основной операционной системы (обычно называемой "​хозяйкой"​ – от английского host) и по 128 – 256 Мбайт для каждой из одновременно запущенных виртуальных машин (или, иначе говоря,​ "​гостей"​ – от английского guest). Естественно,​ количество потребляемой памяти определяется типом эмулируемой операционной системы. Так, если это простушка MS-DOS то для нее и 4 Мбайт вполне хватит. На 256 Мбайтах уже можно сносно эмулировать Windows 2000/​XP/​2003,​ запущенной поверх w2k или аналогичной операционной системы.
 +
 +Объем физического жесткого диска в общем-то некритичен. Виртуальные машины создаются отнюдь не для накопления данных и за редкими исключениями не содержат ничего кроме операционной системы в типичном варианте поставки и джентльменского набора сопутствующих ей приложений,​ что в совокупности отнимает не более гигабайта дискового пространства. Причем,​ ни один из известных мне эмуляторов не требует непосредственного доступа к физическому жесткому диску. Вместо этого, образ виртуального винчестера размещается в обыкновенном файле, полностью подчиняющегося хозяйственной операционной системе. Собственно говоря,​ виртуальные диски бывают по меньшей мере двух типов – //​**фиксированные**//​ и //​**динамические**//​. При создании фиксированного диска, эмулятор сразу же "​растягивает"​ файл-образ на весь требуемый объем, даже если тот не содержит никакой полезной информации. Динамические диски, напротив,​ хранят в образе лишь реально задействованные виртуальные сектора,​ постепенно увеличивая объем образа по мере его заполнения актуальными данными. Заманчивая,​ перспектива,​ не правда ли? Вместо того, чтобы поровну дробить свой физический жесткий диск между виртуальными машинами,​ мы можем выделить каждой из них практически все свободное физическое пространство,​ а там… пусть они сами разбираются кому из них оно нужнее. Однако,​ не все так просто! Производительность динамических дисков намного ниже чем фиксированных,​ да к тому же они подвержены внутренней фрагментации (не путать с фрагментацией файла-образа и фрагментацией эмулируемой файловой системы!). И хотя некоторые из эмуляторов (в частности VM Ware) содержат встроенные дефрагментаторы,​ они все равно не решают проблемы. К тому же формат динамических дисков не стандартизован и образы различных эмуляторов категорически не совместимы друг с другом.
 +
 +Остальное оборудования может быть любым – на скорость эмуляции оно практически никак не влияет.
 +
 +===== >>>​ врезки выбирай эмулятор себе по руке! =====
 +
 +При выборе подходящего эмулятора,​ хакеры обычно руководствуются следующими критериями:​ защищенностью,​ расширяемостью,​ открытостью исходных текстов,​ качеством и скоростью эмуляции,​ наличием встроенного отладчика и гибкостью механизмов работы со snap-shot'​ами. Рассмотрим все эти пункты поподробнее.
 +
 +**Защищенность**. Запуская агрессивную программу на эмуляторе,​ очень сложно отделаться от мысли, что в любой момент она может вырваться из под его контроля,​ оставляя за собой длинный шлейф разрушений. Скажем прямо, эти опасения вполне обоснованы. Многие из эмуляторов (DOS-BOX, Virtual PC) содержат "​дыры",​ позволяющие эмулируемому коду напрямую обращаться к памяти самого эмулятора (например,​ вызывать от его имени и с его привилегиями произвольные API-функции хозяйской операционной системы). Однако,​ "​пробить"​ эмулятор может только специальным образом спроектированная программа,​ так что при всей теоретической обоснованности угрозы,​ вероятность ее практической реализации близка к нулю – эмуляторы не настолько популярны,​ чтобы агрессоры взялись на них всерьез.
 +
 +Сетевое взаимодействие – другое дело. Эмуляция виртуальной локальной сети сохраняет все уязвимости хозяйской операционной системы и сетевой червь может ее легко атаковать! Поэтому,​ хозяйская операционная система из виртуальной локальной сети должна быть в обязательном порядке исключена. Естественно,​ такое решение существенно затрудняет общение виртуальных машин с внешним миром, и поэтому им часто пренебрегают. Кстати сказать,​ персональные брандмауэры в большинстве своем не контролируют виртуальные сети и не защищают от вторжения.
 +
 +Некоторые эмуляторы позволяют взаимодействовать с виртуальными машинами через механизм общих папок, при этом папка хозяйской операционной системы видится как логический диск или сетевой ресурс. При всех преимуществах такого подхода он интуитивно-небезопасен и в среде хакеров не сыскал особенной популярности.
 +
 +**Расширяемость.** Профессионально-ориентированный эмулятор должен поддерживать возможность подключения внешних модулей,​ имитирующих нестандартное оборудование (например,​ HASP). Особенно это актуально для исследования защит типа Star Force 3,​ напрямую взаимодействующих с аппаратурой и привязывающихся к тем особенностям ее поведения,​ о которых штатные эмуляторы порой даже и не подозревают.
 +
 +Некоторые из эмуляторов расширяемы,​ некоторые нет. Но даже у самых расширяемых из них степень маневренности и глубина конфигурабельности довольно невелика и поверхностно документирована (если документирована вообще). Наверное это происходит от того, что фактор расширяемости реально требуется очень и очень немногим… Эмуляторы ведь пишут не для хакеров! А жаль!
 +
 +**Открытость исходных текстов.** Наличие исходных текстов частично компенсирует свинское качество документации и хреновую расширяемость эмулятора. Если подопытная программа отказывается выполняться под эмулятором,​ исходные тексты помогут разобраться в ситуации и устранить дефект. К тому же мы можем оснастить эмулятор всем необходимым нам инструментарием. Например,​ дампером памяти,​ или back tracer'​ом,​ позволяющим прокручивать выполнение программы в обратном порядке (между прочим,​ классная вещь для взлома,​ скажу я вам!). А возможность оперативного добавления недокументированных машинных команд или наборов инструкций новых процессоров?​
 +
 +К сожалению,​ коммерческие эмуляторы распространяются без исходных текстов,​ а Open Source эмуляторы все еще не вышли из юношеского возраста и для решения серьезных задач непригодны. Увы! "​Мир"​ – это синоним слова "​несовершенство"​!
 +
 +**Качество эмуляции.** Какой прок от эмулятора,​ если на нем нельзя запускать soft-ice? Можно, конечно,​ использовать и другие отладчики (например,​ Olly Debugger),​ но их возможности намного более ограничены,​ к тому же на некачественных эмуляторах некоторые из защищенных программ просто не идут!
 +
 +Для увеличения скорости эмуляции многие из разработчиков сознательно усекают набор эмулируемых команд,​ поддерживая только наиболее актуальные из них (в особенности это относится к привилегированным командам защищенного режима,​ командам математического сопроцессора,​ включая "​мультимедийные",​ и некоторым редкоземельным командам реального режима). Служебные регистры,​ флаги трассировки и другие подобные им возможности чаще всего остаются незадействованными. Тем не менее, такие эмуляторы пригодны не только для запуска игрушек! Их можно использовать как "​карантинную"​ зону для проверки свежераздобытых программ на вирусы или как подопытную мышь для экспериментов с тем же Disk Editor'​ом например.
 +
 +Коммерческие эмуляторы в большинстве своем используют механизмы динамической эмуляции,​ эмулируя только привилегированные команды,​ а все остальные выполняя на "​живом"​ процессоре – в сумеречной зоне изолированного адресного пространства,​ окруженной частоколом виртуальных портов,​ что не только существенно увеличивает производительность,​ но и автоматически добавляет поддержку всех новомодных мультимедийных команд (разумеется,​ при условии,​ что их поддерживает ваш физический процессор).
 +
 +Между тем, в обработке исключительных ситуаций (так же называемых "​экскепшенами"​),​ воздействиях команд на флаги, недопустимых способах адресации,​ эмуляторы (даже динамические!) зачастую ведут себя совсем не так, как настоящий процессор и защитный код может выяснить это! Впрочем,​ если защищенная программа не будет работать под эмулятором,​ это сильно возмутит легальных пользователей и ее создатель отправится в задницу.
 +
 +**Встроенный отладчик.** Защищенные программы всячески противостоят отладчикам,​ дизассемблерам,​ дамперам и прочему хакерскому оружию. Как правило,​ до нулевого кольца дело не доходит,​ хотя некоторые защиты (например,​ extremeprotector) работают и там. Существуют десятки,​ если не сотни, способов сорвать отладчику крышу, отправляя его в анал, и противостоять им достаточно трудно,​ особенно если вы только начали хакерствовать.
 +
 +Могущество эмулятора как раз и заключается в том, что он полностью контролирует выполняемый код и обычные антиотладочные приемы на нем не срабатывают. К тому же, аппаратные ограничения эмулируемого процессора на сам эмулятор не распространяются. В частности,​ количество "​аппаратных"​ точек останова не обязано равняться четырем,​ как на x86. При необходимости,​ эмулятор может поддерживать тысячу или даже миллион точек останова,​ причем условия их срабатывая могут быть сколь угодно извращенными (например,​ можно всплывать на каждой команде Jx, следующей за командой TEST EAX,​ EAX,​ соответствующей конструкции if (my_func())…).
 +
 +Естественно,​ для этого эмулятор должен быть оснащен интегрированным отладчиком. Любой другой отладчик,​ запущенный под эмулятором,​ например soft-ice, никаких дополнительных преимуществ не получает. Возможности имеющихся интегрированных отладчиков достаточно невелики и обеспечивают ничуть не лучшую функциональность,​ чем debug.com, а нередко существенно уступают ему, поэтому,​ к ним стоит прибегать лишь в крайних случаях,​ когда обыкновенные отладчики с защитой уже не справляются.
 +
 +===== обзор эмуляторов =====
 +
 +Из всех существующих эмуляторов наибольшей популярностью пользуются:​ **DOS****-****BOX**,​ **Bochs**, **Microsoft****Virtual****-****PC** и **VM Ware**,​ каждый из которых имеет свои особенности,​ свои сильные и слабые стороны и, конечно же, свой круг поклонников. Совершенно не претендуя на беспристрастное сравнение,​ автор рискнул высказать свою точку зрения,​ подчеркивая те характеристики эмуляторов,​ которые ему по душе и игнорируя все остальные. В конечном счете, любое описание субъективно…
 +
 +==== DOS-BOX ====
 +
 +Бесплатный эмулятор,​ распространяющийся в исходных текстах. Эмулирует единственную операционную систему – MS DOS 5.0,​ главным образом применяясь для запуска старых игр. Жесткие диски не эмулируются (эмуляция дискового ввода-вывода заканчивается на прерывании INT 21h) и soft-ice на нем не идет. Зато cup386 (распаковщик исполняемых файлов плюс отладчик) работает вполне исправно (см. рис. 3). Так же имеется неплохой интегрированный отладчик (правда,​ для этого эмулятор должен быть перекомпилирован с отладочными ключами).
 +
 +Возможность расширения конструктивно непредусмотрена,​ однако,​ доступность хорошо структурированных исходных текстов делает эту проблему неактуальной и вы в любой момент можете добавить к эмулятору любую фичу, которую только захотите (например,​ виртуальный жесткий диск).
 +
 +Поддерживаются три режима эмуляции – полная,​ частичная и динамическая. Полнота "​полной"​ эмуляции на самом деле довольно условна (soft-ice ведь не идет!), однако,​ для подавляющего большинства неизвращенных программ с лихвой хватает и частичной. Оба этих режима достаточно надежны и вырваться за пределы эмулятора нереально,​ правда производительность виртуальной машины оставляет желать лучшего – Pentium III 733 MHz опускается до 13.17 MHz, замедляясь более чем в 50 раз. Модуль динамической эмуляции (выполняющий код на "​живом"​ процессоре) все еще находится в стадии разработки и текущая версия содержит много ошибок,​ некоторые из которых фатальны,​ поэтому,​ пользоваться им не рекомендуется (хотя его производительность вчетверо выше).
 +
 +Обмен данными с внешним миром происходит либо через прямой доступ к CD-ROM, либо через монтирование каталогов физического диска на виртуальные логические диски доступные из-под эмулятора через интерфейс INT 21h, что обеспечивает достаточно надежную защиту от вредоносных программ. Уничтожить смонтированную директорию они смогут,​ но вот все остальные – нет!
 +
 +DOS-BOX хорошо подходит для экспериментов с большинством MS-DOS-вирусов (исключая,​ пожалуй,​ лишь тех из них, что нуждаются в прерывании INT 13 или портах ввода/​вывода),​ а так же взлома программ,​ работающих как в реальном,​ так и защищенном режимах.
 +
 +{{emu_Image_2.png?​553}}
 +
 +Рисунок 3 отладчик cup386, запущенный под управлением эмулятора DOS-Box (непосредственно из-под Windowscpu386 не запускается)
 +
 +==== Bochs ====
 +
 +Подлинно хакерский эмулятор,​ ориентированный на профессионалов. Простые смертные находят его через чур запутанным и непроходимо сложным. Здесь все настраивается через текстовые конфигурационные файлы – от количества процессоров (кстати говоря,​ Bochs единственный из всех известных мне эмуляторов,​ позволяющий эмулировать более одного процессора!),​ до геометрии виртуального диска.
 +
 +Это некоммерческий продукт с открытыми исходными текстами и впечатляющим качеством эмуляции. Контроллеры гибких и жестких IDE-дисков эмулируются на уровне портов ввода/​вывода,​ обеспечивая совместимость практически со всеми низкоуровневыми программами. Полностью эмулируется защищенный режим процессора. Во всяком случае soft-ice запускается вполне успешно (правда,​ работает несколько нестабильно,​ периодически завешивая виртуальную клавиатуру). Имеется достаточно приличный интегрированный отладчик с неограниченным количеством виртуальных точек останова и функций обратной трассировки.
 +
 +К сожалению,​ невысокая скорость эмуляции не позволяет запускать никакие графические системы. Судите сами – эффективная тактовая частота моего Pentium III 733MHZ падает до 1.49 MHZ. Это же сколько часов Windows 2000 будет загружаться?​!
 +
 +Работа с дисковыми образами реализована через то место, куда Макар телят не гонял. Поддерживаются только фиксированные диски, а сами образы создаются внешними средствами от независимых разработчиков. К счастью,​ имеется возможность прямого доступа к CD-ROM приводу,​ но вот к физическим гибким дискам прямого доступа нет и потому чтобы вынести пару файлов из виртуальной машины приходится надрывать задницу. Возможность работы со snap-shoot'​ами так же отсутствуют (под shap-shoot'​ом Bochs понимает отнюдь не состояние виртуальной машины,​ а копию ее экрана,​ который нам на фига).
 +
 +Эмулятор хорошо подходит для исследования вирусов и отладки извращенных программ,​ работающий в MS-DOS или терминальном режиме LINIX/​Free BSD,​ а так же экспериментов с различными файловыми системами.
 +
 +{{emu_Image_3.png?​553}}
 +
 +Рисунок 4 отладчик soft-ice, запущенный в MS-DOS сессии под управлением эмулятора Bochs, запущенного из-под Windows
 +
 +==== Microsoft Virtual PC ====
 +
 +Неплохой коммерческий эмулятор,​ распространяющийся без исходных текстов,​ но зато обеспечивающий приличную скорость эмуляции,​ превращающую Pentium III 733 MHz в Pentium III 187 MHz (динамический режим эмуляции обеспечивает поддержку всех машинных команд физического процессора).
 +
 +Полностью эмулируется AMI BIOS (с возможностью конфигурирования через Setup – см. рис. 5),​ чипсет Intel 440BX, звуковая карта типа CreativeLabsSoundBlaster 16 ISA, сетевой адаптер DEC 21140A 10/100 и видео-карта S3 Trio 32/64 PCI с 8 Mбайтами памяти на бору. В общем, довольно внушительная конфигурация,​ позволяющая запускать современные операционные системы семейства Windows NT и Free BSD с "​иксами"​.
 +
 +Имеется возможность прямого доступа к гибким и оптическим дискам. Жесткие диски эмулируются на уровне двухканального контроллера IDE (см. документацию на чипсет 440BX), размещаясь на винчестере в виде динамического или фиксированного файла-образа. При желании можно взаимодействовать с хозяйской операционной системой и остальными виртуальными машинами через разделяемые папки или виртуальную локальную сеть. Оба этих метода с хакерской точки зрения небезопасны и потому при исследовании агрессивных программ к ним лучше не прибегать.
 +
 +
 +
 +{{emu_Image_4.png?​553}}
 +
 +Рисунок 5 MicrosoftVirtualPC эмулирует весь компьютер целиком,​ включая BIOS Setup
 +
 +К сожалению,​ при попытке запуска Soft-Ice, эмулятор аварийно завершает работу виртуальной машины,​ выдавая следующее сообщение (см. рис. 6). Встроенный отладчик отсутствует,​ как отсутствует и возможность сохранения состояния виртуальной машин с последующим возращением к ним. Все это существенно ограничивает область применения данного эмулятора. Будь он бесплатным продуктом,​ его было бы можно смело рекомендовать для экспериментов с файловыми системами на предмет обретения навыков по разрушению/​восстановлению данных,​ но это явно не стоит тех денег, которые за него просят. Бесплатно можно утянуть только демонстрационную версию,​ работающую на протяжении 45 дней,​ после чего требующую регистрации (впрочем,​ в нашей стране,​ где "​регистрация"​ синоним слову "​щас-мы-найдем-крэк"​ на этот счет можно не волноваться).
 +
 +{{emu_Image_5.png?​377}}
 +
 +Рисунок 6 реакция Microsoft Virtual PC на попытку запуска soft-ice
 +
 +==== VM Ware ====
 +
 +Еще один коммерческий эмулятор,​ но в отличии от конкурентов действительно стоящий своих денег (особенно в свете того, что покупать его ни один здравомыслящий соотечественник все равно не собирается). Скажем сразу – это единственный эмулятор,​ стабильно поддерживающий soft-ice и умеющий работать со snap-shoot'​ами.
 +
 +Скорость эмуляции – выше всяких похвал. Pentium III 733 MHz превращается в Pentium III 336 MHz (т. е. замедляется менее чем в два раза). Полностью эмулируется Phoenix BIOS 4.0, чипсет типа Intel 440BX и LSILogicRLSI53C10xxUltra160 SCSII/O контроллер,​ поддерживающий виртуальные SCSI-диски,​ размещающиеся в динамическом или фиксированном файле-образе. При желании можно работать и с IDE-дисками,​ но они несколько менее производительны.
 +
 +Тщательно спроектированная виртуальная сеть позволяет экспериментировать с сетевыми червями,​ не опасаясь,​ что они поразят основной компьютер. Так же имеется возможность прямого доступа к гибким/​лазерным дискам и разделяемые папки с достойной защитой.
 +
 +Короче говоря,​ VM Ware представляет собой многоцелевой эмулятор,​ пригодный для любых экспериментов,​ за исключением игр. Во всяком случае добиться нормальной поддержки звука из-под MS-DOS, мне так и не удалось,​ в то время как у остальных эмуляторов с этим не было никаких проблем.
 +
 +===== >>>>​ врезка как настроить soft-ice =====
 +
 +При попытке использования soft-ice под Windows 2000,​ запущенной из-под VMWare начинаются сплошные лапти – soft-ice работает только из text-mode режима,​ развернутого на весь экран (заходим в FAR, жмем <​ALT>​-<​ENTER>,​ затем <​CTRL>​-<​D>​),​ а во всех остальных режимах наглухо завешивает систему. Еханный бабай! Кстати,​ под Windows 98 он чувствует себя вполне нормально,​ но переход на Windows 98 – не вариант.
 +
 +Это известный глюк айса, признанный NuMega и устраненный лишь в Driver Studio версии 3.1 (в официальной формулировке это именуется "​поддержкой VMWARE). Подробности можно найти в документации (см. \Compuware\DriverStudio\Books\Using SoftICE.pdf,​ приложение E – "​SoftIce and VMware"​). При этом в конфигурационный файл виртуальной машины (имя_виртуальной_машины.vmx) необходимо добавить строку svga.maxFullscreenRefreshTick = "​2"​ и  vmmouse.present = "​FALSE"​. Мышь работать не будет, да она в soft-ice не сильно кому и нужна.
 +
 +{{emu_Image_6.png?​553}}
 +
 +Рисунок 7 отладчик soft-ice, запущенный под Windows 2000,​ под управлением эмулятора VM Ware, запущенном под Windows 2000. нет, это не рекурсия,​ это просто эмулятор такой хороший
 +
 +===== сводная таблица характеристик эмуляторов =====
 +
 +| |**DOS-BOX**|**Bochs**|**Microsoft Virtual PC**|**VM Ware**|
 +|бесплатность|да|да|нет|нет|
 +|исходные тексты|да|да|нет|нет|
 +|кол-во эмулируемых процессоров|1|1,​ 2, 4, 8|1|1|
 +| эффективная тактовая частота на Pentium III 733|13,​17 MHz|1,​49 MHz|189 MHz|336 MHz|
 +|расширяемость|нет|частично|нет|частично|
 +|поддержка динамической эмуляции процессора|частично|нет|да|да|
 +|виртуальные жесткие диски|нет|IDE,​ фиксированные образы|IDE,​ динамические и фиксированные образы|IDE/​SCSI,​ динамические и фиксированные образы|
 +| поддержка soft-ice|нет|частично|нет|да|
 +|встроенный отладчик|да,​ но требуется перекомпиляция|да|нет|нет|
 +| работа со shap-shoot'​ами|нет|нет|нет|да|
 +
 +Таблица 1 основные характеристики наиболее популярных эмуляторов (неблагоприятные свойства выделены серым цветом)
 +
 +===== заключение =====
 +
 +При всех достоинствах VM Ware он не отменяет остальных эмуляторов,​ особенно тех из них, что содержат интегрированные отладчики,​ распространяются в исходных текстах и позволяют неограниченно расширять свой функционал. Поэтому ни победителей,​ ни проигравших в этом сравнении нет. Побеждает только дружба!
 +
 +===== >>>>​ выноски =====
 +
 +  - soft-ice, запущенный под эмулятором,​ не замораживает основную систему,​ не затыкая WinAmp, не разрывая соединения с Интернетом,​ не замораживая часы системного времени и оставляя MSDN доступным!
 +  - для виртуальной машины с лазерного диска необходимо войти в виртуальный BIOS Setup (в частности в VM Ware это делается нажатием клавиши F2 во время начальной заставки) и в меню boot вытянуть CD-ROM наверх;​
 +  - один и тот же дисковый образ может быть подключен к нескольким виртуальным машинам,​ что может быть использовано для передачи файлов между ними или совместного использования приложений;​
 +  - все описываемые эмуляторы могут быть найдены в Осле по их имени;
 +  -