Планшеты и одноплатные микрокомпьютеры используются хакерами для самых разных целей — от создания собственного интернет-телефона или радиостанции до установки скрытого видеонаблюдения и управления электронными замками. Тестировать нужные программы и мобильные приложения можно, не выходя из Windows и даже не имея тестового железа. Делать это помогают две вещи: эмуляция архитектур ARM и MIPS на процессоре x86-64 и запуск Android (Arch Linux, Raspbian…) в качестве гостевой операционки.

Эмуляторы и средства виртуализации существовали давно. Долгое время они были специфическими инструментами со сложной конфигурацией и работали очень медленно. Их современный период начался в 2006 году, когда французский программист Фабрис Беллар представил свой эмулятор QEMU (Quick EMUlator). В определенных условиях он работал очень быстро из-за использования динамической трансляции кода.

INFO


Ускорить работу гостевой ОС можно за счет процессора с поддержкой расширений виртуализации (Intel VT-x, AMD-V, SLAT) и установки дополнительных модулей ОЗУ.
 

Ставим эмулятор

Устанавливается он простой распаковкой ZIP-архива, а со страницы проекта можно скачать исходные коды или готовые бинарники для Linux, Windows, FreeBSD и OS X. QEMU умеет эмулировать процессоры Intel и AMD с архитектурами x86 и x86-64, а также PPC 440, PPC 970, S/390, ARM (Cortex A15, Arch64) и MIPS32. Полный список насчитывает 56 процессорных архитектур, включая исключительно редкие.

Поддержка 56 процессорных архитектур в QEMU
Поддержка 56 процессорных архитектур в QEMU

Из-за всеядности и легковесности этот эмулятор часто используют при отладке программ, предназначенных для разных микрокомпьютеров и гаджетов. К примеру, можно писать в Windows программы для Raspberry Pi и сразу же проверять их без копирования в память микрокомпьютера. В качестве конкретного примера возьмем эмуляцию ОС Raspbian. Мучений предстоит много, но все они будут однократными.

Нам понадобится ядро Linux, скомпилированное для архитектуры ARM, и последняя версия Raspbian. Поместим ядро Linux ARM в каталог QEMU и распакуем туда же Raspbian.zip. Приступим к конфигурации виртуального диска, чтобы на нем появилось место для нашего кода.

Добавляем пару гигабайтов свободного места к образу диска:

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

В Google Play снова нашли малварь, объединявшую устройства в рекламный ботнет

Специалисты Symantec обнаружили в приложениях из Google Play вредоноса Sockbot, который об…