Подключить изображения эмулятора Android

Я пытаюсь проанализировать вредоносное ПО Android на эмуляторе с Android 2.1. Я хочу проанализировать разрешенные файлы и отпечатки пальцев после экспрессии подозрительного приложения. Я знаю, я могу использовать оболочку adb для получения этой информации, но я думаю, что не могу доверять этим информационным сообщениям после выполнения, например, руткита. Я думаю, что единственный способ предотвратить скрытие руткитов – это установить изображения напрямую или? У меня есть следующие файлы:

ramdisk.img snapshots.img userdata-qemu.img cache.img system.img userdata.img zImage 

Как можно монтировать / извлечь на Ubuntu (доступ для чтения достаточно)?

С unyaffs я могу извлечь файл system.img и userdata.img. Simg2img возвращает «плохую магию» для всех файлов.

Спасибо Алекс

Изменить: userdata-qemu.img работает unyaffs2

Solutions Collecting From Web of "Подключить изображения эмулятора Android"

Вы уже ответили на свой вопрос, но я немного расширюсь. Android sdk поставляется с системными изображениями, например:

 $ cd android-sdk-linux/system-images/android-15/armeabi-v7a/ $ ls *.img ramdisk.img system.img userdata.img $ cd ~/.android/avd/<img name>.avd/ $ ls *.img cache.img sdcard.img userdata.img userdata-qemu.img 

Хотя, не все изображения одного типа:

 $ file *.img cache.img: VMS Alpha executable sdcard.img: x86 boot sector, code offset 0x5a, OEM-ID "MSWIN4.1", sectors/cluster 4, Media descriptor 0xf8, sectors 2048000 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 3993, reserved3 0x800000, serial number 0x17de3f04, label: " SDCARD" userdata.img: VMS Alpha executable userdata-qemu.img: VMS Alpha executable 

Поскольку sdcard.img содержит дополнительных разделов, он может быть установлен непосредственно без параметра смещения (например, -o loop,offset=32256 ):

 $ fdisk -l sdcard.img You must set cylinders. You can do this from the extra functions menu. Disk sdcard.img: 0 MB, 0 bytes 255 heads, 63 sectors/track, 0 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System $ sudo mount -o loop sdcard.img /mnt/ 

Другие файлы изображений, которые описываются как VMS Alpha executable , фактически являются файлами yaffs2 . Насколько мне известно, они не могут быть установлены напрямую, но могут быть извлечены с использованием двух утилит unyaffs или unyaffs2 .

 $ mkdir extract $ cd extract $ unyaffs ../userdata.img 

или

 $ unyaffs2 --yaffs-ecclayout ../userdata.img . 

Обратите внимание: есть еще одна утилита simg2img которая может быть найдена в дереве ./android_src/system/extras/ext4_utils/ файлов Android под ./android_src/system/extras/ext4_utils/ который используется для сжатых файлов ext4 img. Однако, если неправильно применить к изображениям yaffs2 он жалуется на yaffs2 Bad magic .

Если кто-то simg2img здесь, ищет дополнительную информацию об использовании simg2img :

Это файл, который мне нужно установить:

 $ file factoryfs.img factoryfs.img: data $ unyaffs factoryfs.img Can't determine flash layout, perhaps not a yaffs2 image 

И вот как я смог его смонтировать:

  1. Установите предварительные условия (Ubuntu / Debian):

     sudo apt-get install build-essential git zlib1g-dev 
  2. Загрузите и скомпилируйте источник:

     git clone https://android.googlesource.com/platform/system/core cd core/libsparse gcc -o simg2img -Iinclude simg2img.c sparse_crc32.c backed_block.c output_file.c sparse.c sparse_err.c sparse_read.c -lz 
  3. Раскройте разреженный файл изображения в файл необработанного изображения:

     ./simg2img /path/to/factoryfs.img /path/to/factoryfs.raw.img 
  4. Установите файл необработанного изображения. В Ubuntu самый простой способ сделать это – щелкнуть правой кнопкой мыши файл в приложении «Файлы» → « Открыть с помощьюДисковый графический редактор» . Или используя командную строку:

     sudo mkdir /mnt/factoryfs sudo mount /path/to/factoryfs.raw.img /mnt/factoryfs 

Это не будет работать с boot.img, что является особым случаем: Как извлечь boot.img?

Я хотел распаковать файл образа ext4 для Windows NT. Simg2img предназначен для использования с разреженным ext4. Ext4 не является разреженным по определению, это просто вариант для него, но каждое описание этого процесса начинается с этого предположения по любой причине. Во всяком случае, DiskTool сделал это для меня с нулевым усилием, после того как я потратил много времени, пытаясь понять это. Он также не устанавливает никаких посторонних мусора, и он отлично работает в Windows 10:

http://sourceforge.net/projects/androidicsjbext/