2012-07-25 36 views
12

Tôi đang cố gắng phân tích phần mềm độc hại Android trên trình giả lập với Android 2.1. Tôi muốn phân tích các tập tin permissons và dấu vân tay sau khi exectution của ứng dụng đáng ngờ. Tôi biết, tôi có thể sử dụng vỏ adb để có được thông tin này, nhưng tôi nghĩ rằng tôi không thể tin tưởng rằng các nguồn thông tin sau khi thực hiện ví dụ. một rootkit. Tôi nghĩ rằng cách duy nhất để ngăn chặn rootkit ẩn là bằng cách gắn các hình ảnh trực tiếp hoặc? Tôi có những file sau:Gắn hình ảnh mô phỏng Android

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

Làm thế nào có thể được gắn kết các/trích trên Ubuntu (đọc truy cập là đủ)?

Với unyaffs tôi có thể trích xuất tệp system.img và userdata.img. simg2img trả về "ma thuật xấu" cho tất cả các tệp.

Cảm ơn Alex

Edit: userdata-qemu.img làm việc unyaffs2

Trả lời

15

Bạn đã trả lời câu hỏi của riêng bạn nhưng tôi sẽ mở rộng một chút. SDK Android đi kèm với hình ảnh hệ thống, ví dụ:

$ 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 

Mặc dù, không phải tất cả hình ảnh là của cùng một loại:

$ 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 

Kể từ sdcard.img không chứa phân vùng thêm, nó có thể được gắn trực tiếp mà không thông số bù đắp (như -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/ 

Các tệp hình ảnh khác được mô tả là VMS Alpha executable là trong thực tế yaffs2 tập tin. Theo như tôi biết họ không thể được gắn trực tiếp nhưng có thể được chiết xuất bằng hai tiện ích unyaffs hoặc unyaffs2.

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

hoặc

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

Lưu ý, có một tiện ích gọi là simg2img có thể được tìm thấy trong cây nguồn android dưới ./android_src/system/extras/ext4_utils/ được sử dụng trên các tập tin img ext4 nén. Tuy nhiên, nếu áp dụng sai cho yaffs2 hình ảnh, nó khiếu nại với Bad magic.

7

Nếu bất cứ ai kết thúc lên đây tìm kiếm thêm thông tin về việc sử dụng simg2img:

Đây là file mình cần phải gắn kết:

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

Và đây là cách tôi đã có thể gắn nó:

  1. điều kiện tiên quyết Install (Ubuntu/Debian):

    sudo apt-get install build-essential git zlib1g-dev 
    
  2. Tải về và biên dịch mã nguồn:

    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. giải nén tập tin ảnh thưa thớt vào một tập tin hình ảnh thô:

    ./simg2img /path/to/factoryfs.img /path/to/factoryfs.raw.img 
    
  4. Núi file ảnh thô. Trong Ubuntu, cách dễ nhất để thực hiện việc này là bằng cách nhấp chuột phải vào tệp trong ứng dụng Tệp → Mở bằngHình ảnh đĩa Mounter. Hoặc bằng cách sử dụng dòng lệnh:

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


này sẽ không làm việc với boot.img, mà là một trường hợp đặc biệt: How to extract boot.img?

1

tôi muốn giải nén hình ảnh ext4 KHÔNG thưa thớt trên Windows. simg2img được sử dụng với ext4 thưa thớt. Ext4 không thưa thớt theo định nghĩa, đó chỉ là một lựa chọn cho nó, nhưng mọi mô tả của quá trình này bắt đầu với giả định đó vì bất kỳ lý do gì. Dù sao, DiskTool đã làm điều này cho tôi với nỗ lực không, sau khi tôi lãng phí rất nhiều thời gian cố gắng tìm ra điều này. Nó cũng không cài đặt bất kỳ rác thải không liên quan nào, và nó hoạt động tốt trên Windows 10:

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

Các vấn đề liên quan