Сейчас на форуме: bartolomeo, artyavmu (+8 невидимых)

 eXeL@B —› Софт, инструменты —› Эмулятор EMU v1.xx
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 15 марта 2009 18:36
· Личное сообщение · #1

Эмулятор EMU v1.xx

---------------------------------------------------------------------- ----------

Оглавление:

Назначение
Описание эмулятора
Рекомендуемая область применения
Требования
Ограничения

---------------------------------------------------------------------- ----------

Назначение
Эмулятор EMU версии 1.01 - мощное инструментальное средство, позволяющее детально исследовать разнообразное программное обеспечение, функционирующее на аппаратной платформе Intel x86. С точки зрения пользователя эмулятор выглядит как классический отладчик программ, включающий традиционный набор возможностей для программ этого класса:

пошаговый и непрерывный режим выполнения исследуемой программы;
возможность остановки выполнения программы в заданных контрольных точках;
просмотр значений регистров центрального процессора;
просмотр содержимого оперативной памяти и стека.
Использование режима эмуляции позволило реализовать ряд принципиально новых возможностей, которые отсутствуют в обыкновенных отладчиках:

возможность исследования программ, выполняющихся до полной загрузки операционной системы (элементы BIOS, компоненты ОС);
просмотр параметров текущего состояния аппаратных устройств ПЭВМ (например, содержимого памяти CMOS, значений регистров и внутренних буферов контроллеров);
загрузка в режиме эмуляции различных операционных систем, под управлением которых выполняются исследуемые программы.

---------------------------------------------------------------------- ----------

Описание программы
Эмулятор EMU по своей сути является виртуальной машиной, аналогичной реальной аппаратной платформе Intel x86. Исследуемая программа функционирует совершенно так же, как и на обыкновенном компьютере и ничего "не подозревает" о том, что она работает в режиме эмуляции. Достигается это за счет достаточно полного моделирования процессора, то есть реализации набора его команд, а так же моделирования того, над чем эти команды оперируют: регистров процессора, адресного пространства процессора (в которое попадают ОЗУ компьютера, ПЗУ системной платы и внешних устройств, ОЗУ внешних устройств, например, видеопамять, и т.д), а так же пространства портов ввода/вывода процессора, обеспечивающего процессору доступ к регистрам внешних устройств.

Естественно, что кроме всего вышеперечисленного для нормального функционирования программам нужны внешние устройства, такие как контроллер прерываний, таймер, жесткие и гибкие диски, клавиатура, видеоплата и т.д. Минимально необходимые для работы любых программ, а так же наиболее распространенные устройства представлены в эмуляторе EMU в виде соотвествующих программных моделей.

Эмулятор включает в себя программные модели следующих основных частей ПЭВМ:

центральный процессор (Intel Pentium);
чипсет Intel i815EP в составе:
мост Host-Hub Interface, обеспечивающий доступ к оперативной памяти компьютера (размер моделируемой оперативной памяти ограничивается возможностями аппаратной платформы, осуществляющей эмуляцию);
мост PCI-to-AGP Bridge (в полной мере не реализован);
Hub Interface to PCI Bridge ();
мост PCI-to-LPC, обеспечивающий доступ к устройствам на LPC шине (аналог Super I/O или ISA шины);
контроллер прямого доступа к памяти 8237 (DMA controller);
таймер 8254 (PIT);
контроллер прерываний 8259 (PIC);
часы реального времени (RTC) + энергонезависимая память КМОП (CMOS, до 128 байт, образ CMOS считывается из внешнего файла при начале эмуляции);
контроллер FWH, обеспечивающий доступ к ПЗУ системной платы, содержащему BIOS (образ BIOS считывается из файла);
контроллер расширенного управления питанием (ACPI);
контроллер IDE (один "Primary" канал, поддерживается только режим "Programmed I/O") с возможностью подключенния к нему моделей жестких дисков (ATA-4, образы дисков хранятся в виде внешних файлов) или модели привода CD-ROM (ATAPI-4, для моделирования используется реальный привод эмулирующего компьютера);
контроллер шины LPC Super I/O типа Winbond W83627HF, содержащий следующие контроллеры:
контроллер клавиатуры PS/2 8042 (с поддержкой мыши, для моделирования используется клавиатура и мышь эмулирующего компьютера);
контроллер накопителя на гибких магнитных дисках 82077/ 765, (FDD, образы дискет хранятся во внешних файлах);
контроллер последовательного порта (не реализован в полной мере);
контроллер параллельного порта (не реализован в полной мере);
монитор состояния процессора и системной платы (Hardware Monitor);
видеоадаптер VGA (с собственной BIOS в виде файла-образа);
монитор (представлен в виде отдельного окна программы).
На моделируемом компьютере выполняются все фазы работы обычного компьютера - "включение питания", загрузка операционной системы, запуск программ и др. Именно за счет данной "виртуализации" и обеспечивается замкнутость программной среды исследуемых программ , что позволяет существенно расширить класс решаемых задач. Под замкнутостью программной среды исследуемых программ понимается следующее: какие бы "вредоносные" действия не попыталась исполнить исследуемая программа, результат этих действий скажется только на функционировании других программ, работающих в режиме эмуляции, но не на работе эмулирующей платформы. Таким образом эксперт, проводящий исследование, всегда находится "снаружи" данной среды и при любых обстоятельствах имеет возможность сохранять контроль над исследуемой программой.

Эмулятор EMU функционирует под управлением операционных систем Windows 9x/NT/2000. Это обычная прикладная программа, не накладывающая каких-либо существенных (специальных) ограничений на операционную систему и аппаратные возможности эмулирующего компьютера. У программы имеется развитый графический интерфейс для наиболее удобного исследования эмулируемых программ.

Как и традиционные отладчики, эмулятор позволяет выполнять исследуемую программу в непрерывном и в пошаговом режимах. Допускается использование контрольных точек для приостановки работы программы. Количество контрольных точек очень велико (65536) и разнообразно (например, остановка программы при чтении данных из регистра внешнего устройства, при переходе центрального процессора в защищенный режим, при возникновении в процессоре исключения и др.), что позволяет осуществлять гораздо более полный контроль за ходом выполнения исследуемых программ. Возможности отладки, предоставляемые самим центральным процессором, так же моделируются, что позволяет использовать в режиме эмуляции и традиционные отладчики. Содержимое регистров центрального процессора, ячеек оперативной памяти, регистров внешних устройств выводится в отдельных окнах. В процессе работы программы нажатие клавиш на клавиатуре компьютера воспринимается как нажатие клавиш эмулируемого компьютера. Для отображения содержимого видеопамяти адаптера VGA так же используется отдельное окно эмулятора.

Типичный вид эмулятора во время работы представлен на рисунке 1.

Рис.1: Типичный вид эмулятора strelets.ru./images/emu/2-bios.jpg" target="_blank">-->увеличить<--

Эмулятор имеет встроенный дизассемблер, позволяющий динамически дизассемблировать любые участки оперативной памяти. Пользователь также может применять для трассировки листинги, полученные с помощью дизассемблеров других фирм.


---------------------------------------------------------------------- ----------

Рекомендуемая область применения
Эмулятор является программой с широкой областью применения. С его помощью можно решать следующие задачи:

Исследование особенностей функционирования элементов различных операционных систем, работающих на платформе Intel x86 (например, Windows NT).
Исследование работы прикладных программ в условиях отсутствия исходных текстов с целью выявления алгоритма функционирования.
Отладка программ, выполняющихся до полной загрузки операционной системы и, следовательно, без использования стандартных отладчиков (компоненты ОС).
Интерактивная отладка программного обеспечения BIOS и пользовательских ПЗУ в условиях интенсивного взаимодействия с аппаратурой компьютера.
Исследование программ, которые содержат зашифрованные (упакованные) участки или имеют средства защиты от отладки.
Исследование систем реального времени в пошаговом (!) режиме.
Антивирусные исследования.
Отладка программного обеспечения, взаимодействующего с аппаратными устройствами, которые реально отсутствуют на инструментальном компьютере, но представлены в эмуляторе своей программной моделью.
Выполнение работ по сертификации и аттестации программно-аппаратного обеспечения.

---------------------------------------------------------------------- ----------

Требования
Программа работает на ПЭВМ (платформа Intel x86). Установка эмулятора требует следующих ресурсов:

ОС - Windows 9x/NT/2000;
свободное место на диске:
программное обеспечение - 1 MБ;
образы жестких дисков - в зависимости от их размера (например, 50 MБ);
другие файлы - 4 MБ.
Для приемлемого быстродействия работы эмулятора рекомендуется конфигурация не ниже Pentium-II 233 МГц, 64 MБ.


---------------------------------------------------------------------- ----------

Ограничения
Эмулируемый компьютер по сравнению с реальными компьютерами имеет следующие ограничения:

количество устройств IDE - не более 2 (у реальных - до 4);
размер жесткого диска - не более 8 гигабайт, режим доступа - только Programmed I/O;
образ BIOS, загружаемой в эмулятор, должен быть совместим с BIOS для материнской платы с чипсетом Intel i815EP и чипом SuperI/O Winbond W83627HF.
При работе программного обеспечения в режиме эмуляции наблюдается естественное снижение быстродействия по сравнению с быстродействием инструментального компьютера. Так, например, на компьютере с процессором Pentium II ~400 МГц скорость эмуляции составляет около 1.000.000 команд в секунду, что вполне приемлемо для нормальной работы

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 114.1 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 15 марта 2009 18:39
· Личное сообщение · #2

Все-таки доделал

-----
minimaL_patсh на руборде





Ранг: 213.0 (наставник), 4thx
Активность: 0.220
Статус: Участник
Тот ещё Lamer

Создано: 15 марта 2009 19:06
· Личное сообщение · #3

новости на офсайте вообще-то годичной давности...

-----
Do Not Get Mad Get Money! ;)





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 15 марта 2009 19:11
· Личное сообщение · #4

С исходниками полно эмуляторов расспространяется, тот же ReacOS

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 39.6 (посетитель), 3thx
Активность: 0.030
Статус: Участник

Создано: 15 марта 2009 19:14 · Поправил: d0wn
· Личное сообщение · #5

Copyright © 2002-2007
Про страусов было интересно.

Это навроде ВМ с отладкой?




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 15 марта 2009 20:22
· Личное сообщение · #6

что вы гадаете , прочитайте да поймете. Это Эмулирующий отладчик , бош это совсем другая история. Главное не годичность а инструмент.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 49.3 (посетитель), 43thx
Активность: 0.060
Статус: Участник

Создано: 15 марта 2009 20:24
· Личное сообщение · #7

Оно работает! А не демо версия имеется?



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 15 марта 2009 21:10 · Поправил: cppasm
· Личное сообщение · #8

mak пишет:
Это Эмулирующий отладчик , бош это совсем другая история.

В чём Bochs это другое?
В Bochs есть консольный отладчик, позволяющий отлаживать любой код выполняющийся внутри эмулятора.
Есть графические оболочки для него. Лично я особой разницы не заметил...




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 15 марта 2009 22:06
· Личное сообщение · #9

cppasm кто то писал на форуме что средства отладки боша слабые Я так тоже считаю. Поэтому я сказал не другое а другая история.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 15 марта 2009 22:25
· Личное сообщение · #10

Ясно.
Вообще у Bochs основная проблема это не слабые средства отладки (они как раз не слабые).
Основная проблема - отсутствие нормального GUI.
Элементарно не видно команды вокруг той на которой стоиш, чтобы посмотреть надо команду вводить.
И так со всем.



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 16 марта 2009 14:34
· Личное сообщение · #11

mak
А чем не нравится IDA Pro 5.4 ?

-----
My love is very cool girl.





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 16 марта 2009 20:50
· Личное сообщение · #12

Тем, что не все работают на аверов/аналитиков, где её можно бесплатно подрезать и под шумок тискать самому.


 eXeL@B —› Софт, инструменты —› Эмулятор EMU v1.xx
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати