use*_*474 12 android mount image emulation
我试图在Android 2.1的模拟器上分析Android恶意软件.我想分析可疑应用程序之后的文件权限和指纹.我知道,我可以使用adb shell来获取这些信息,但我认为在执行rootkit之后我不能相信这些信息.我认为防止rootkit隐藏的唯一方法是直接挂载图像或?我有以下文件:
ramdisk.img snapshots.img userdata-qemu.img cache.img system.img userdata.img zImage
Run Code Online (Sandbox Code Playgroud)
如何在Ubuntu上安装/解压缩(读访问就足够了)?
使用unyaffs,我可以提取system.img和userdata.img文件.simg2img为所有文件返回"bad magic".
谢谢Alex
编辑:userdata-qemu.img适用于unyaffs2
use*_*432 15
你已经回答了自己的问题,但我会稍微扩展一下.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
Run Code Online (Sandbox Code Playgroud)
但是,并非所有图像都属于同一类型:
$ 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
Run Code Online (Sandbox Code Playgroud)
由于不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/
Run Code Online (Sandbox Code Playgroud)
其他描述的图像文件VMS Alpha executable实际上是yaffs2文件.据我所知,它们无法直接安装,但可以使用两个实用程序unyaffs或unyaffs2提取.
$ mkdir extract
$ cd extract
$ unyaffs ../userdata.img
Run Code Online (Sandbox Code Playgroud)
要么
$ unyaffs2 --yaffs-ecclayout ../userdata.img .
Run Code Online (Sandbox Code Playgroud)
注意,还有另一个实用程序调用simg2img,可以在android源代码树中找到,在该./android_src/system/extras/ext4_utils/文件下使用压缩的ext4 img文件.但是,如果错误地应用于yaffs2图像,它会抱怨Bad magic.
如果有人最终在这里寻找有关使用的更多信息simg2img:
这是我需要挂载的文件:
$ file factoryfs.img
factoryfs.img: data
$ unyaffs factoryfs.img
Can't determine flash layout, perhaps not a yaffs2 image
Run Code Online (Sandbox Code Playgroud)
这就是我能够装载它的方式:
安装必备软件(Ubuntu/Debian):
sudo apt-get install build-essential git zlib1g-dev
Run Code Online (Sandbox Code Playgroud)下载并编译源代码:
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
Run Code Online (Sandbox Code Playgroud)将稀疏图像文件解压缩为原始图像文件:
./simg2img /path/to/factoryfs.img /path/to/factoryfs.raw.img
Run Code Online (Sandbox Code Playgroud)挂载原始映像文件.在Ubuntu中,最简单的方法是右键单击Files app→ Open With → Disk Image Mounter中的文件.或者使用命令行:
sudo mkdir /mnt/factoryfs
sudo mount /path/to/factoryfs.raw.img /mnt/factoryfs
Run Code Online (Sandbox Code Playgroud)
这不适用于boot.img,这是一个特例:
如何解压boot.img?
| 归档时间: |
|
| 查看次数: |
19000 次 |
| 最近记录: |