2012-07-25 20 views
12

Estoy tratando de analizar el malware de Android en un emulador con Android 2.1. Quiero analizar los archivos permisos y huellas dactilares después de la ejecución de la aplicación sospechosa. Lo sé, puedo usar el shell adb para obtener esta información, pero creo que no puedo confiar en esa información después de la ejecución de, p. un rootkit Creo que la única forma de evitar que los rootkits se oculten es montando las imágenes directamente o? tengo los siguientes archivos:Montar imágenes del emulador de Android

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

¿Cómo puede el ser montados/extrajeron en Ubuntu (acceso de lectura es suficiente)?

Con unyaffs puedo extraer el archivo system.img y userdata.img. simg2img devuelve "mala magia" para todos los archivos.

Gracias Alex

Editar: userdata-qemu.img funciona unyaffs2

Respuesta

15

Usted ya ha contestado a su propia pregunta, pero Voy a ampliar un poco. el SDK de Android viene con imágenes del sistema, por ejemplo:

$ 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 

Sin embargo, no todas las imágenes son del mismo tipo:

$ 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 

Desde sdcard.img no contiene particiones adicionales, que se pueden montar directamente sin un parámetro de desplazamiento (como -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/ 

Los otros archivos de imagen que se describen como VMS Alpha executable son de hecho yaffs2 archivos. Por lo que sé, no se pueden montar directamente, pero se pueden extraer utilizando las dos utilidades unyaffs o unyaffs2.

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

o

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

Nota, hay otra utilidad llamada simg2img que se puede encontrar en el árbol de fuentes androide bajo ./android_src/system/extras/ext4_utils/ que se utiliza en los archivos ext4 img comprimido. Sin embargo, si se aplica incorrectamente a las imágenes yaffs2, se queja con Bad magic.

7

Si alguien termina aquí en busca de más información sobre el uso de simg2img:

Este es el archivo que necesitaba para montar:

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

Y así es como yo era capaz de montar:

  1. instalar los requisitos previos (Ubuntu/Debian):

    sudo apt-get install build-essential git zlib1g-dev 
    
  2. Descargar y compilar fuente:

    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. Descomprimir el archivo de imagen dispersa en un archivo de imagen en bruto:

    ./simg2img /path/to/factoryfs.img /path/to/factoryfs.raw.img 
    
  4. montar el archivo de imagen en bruto. En Ubuntu, la manera más fácil de hacerlo es haciendo clic con el botón derecho en el archivo en la aplicación Archivos → Abrir conMounter de imágenes de disco. O el uso de la línea de comandos:

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


Esto no funcionará con boot.img, que es un caso especial: How to extract boot.img?

1

me querían para descomprimir una imagen ext4 no-dispersos archivo en Windows. simg2img es para usar con ext4 dispersa. Ext4 no es escaso por definición, es solo una opción para él, sin embargo, cada descripción de este proceso comienza con esa suposición por cualquier razón. De todos modos, DiskTool hizo esto por mí con cero esfuerzo, después de que perdí mucho tiempo tratando de resolver esto. No instala ninguna basura extraña tampoco, y funciona bien en Windows 10:

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

Cuestiones relacionadas