android - 挂载 Android 模拟器镜像

标签 android image emulation mount

我正在尝试在装有 Android 2.1 的模拟器上分析 Android 恶意软件。我想在执行可疑应用程序后分析文件权限和指纹。我知道,我可以使用 adb shell 来获取此信息,但我认为在执行例如一个rootkit。

我认为防止 Rootkit 隐藏的唯一方法是直接挂载图像,或者? 我有以下文件:

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

如何在 Ubuntu 上安装/提取它们(读取权限就足够了)?

使用 unyaffs 我可以提取 system.imguserdata.img 文件。 simg2img 为所有文件返回“坏魔法”。

谢谢亚历克斯

编辑:userdata-qemu.img unyaffs2

最佳答案

您已经回答了您自己的问题,但我会展开一点。 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 可执行文件 的图像文件实际上是 yaffs2文件。据我所知,它们不能直接挂载,但可以使用两个实用程序 unyaffs 提取。或 unyaffs2 .

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

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

请注意,还有另一个名为 simg2img 的实用程序,可以在 ./android_src/system/extras/ext4_utils/ 下的 android 源代码树中找到,它用于压缩的 ext4 img 文件。但是,如果错误地应用于 yaffs2 图像,它会提示 Bad magic

关于android - 挂载 Android 模拟器镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11648748/

相关文章:

android - 整个屏幕的 onClickListener

android - 我们可以在 Android 中调整按钮的边框吗?

c# - 当它在asp.net中没有图像时如何使图像框不可见

android - 如何在模拟器中测试 Android 锁屏小部件?

android - Android 10 上的 Mifare 卡模拟?

java - 使用 Java 的 Google 数据存储模拟器(不使用 GAE)

android-layout - 图像渲染不佳(触摸屏幕后)

android - 仅使用表单数据进行改造 2

android - GCP API com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException

algorithm - JPEG 是否使用行优先压缩算法?