2012-07-25 15 views
12

मैं एंड्रॉइड 2.1 के साथ एक एमुलेटर पर एंड्रॉइड मैलवेयर का विश्लेषण करने की कोशिश कर रहा हूं। मैं संदिग्ध ऐप के निष्पादन के बाद फाइल परमिट और फिंगरप्रिंट का विश्लेषण करना चाहता हूं। मुझे पता है, मैं इस जानकारी को प्राप्त करने के लिए एडीबी खोल का उपयोग कर सकता हूं, लेकिन मुझे लगता है कि मैं निष्पादन के बाद उस जानकारी को भरोसा नहीं कर सकता एक रूटकिट मुझे लगता है कि छिपाने से रूटकिट को रोकने का एकमात्र तरीका छवियों को सीधे बढ़ाना या है?माउंट एंड्रॉइड एमुलेटर छवियों

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

उत्तर

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 

हालांकि, नहीं सभी छवियों को एक ही प्रकार के हैं:

$ 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/ 

अन्य छवि फ़ाइलें जोरूप में वर्णित हैंवास्तव में yaffs2 फाइलें हैं। जहां तक ​​मुझे पता है कि उन्हें सीधे घुड़सवार नहीं किया जा सकता है लेकिन दो उपयोगिता unyaffs या unyaffs2 का उपयोग करके निकाला जा सकता है।

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

या

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

ध्यान दें, एक और उपयोगिता simg2img बुलाया ./android_src/system/extras/ext4_utils/ जो संकुचित ext4 img फाइलों पर प्रयोग किया जाता है के तहत एंड्रॉयड स्रोत पेड़ में पाया जा सकता है है। हालांकि, अगर yaffs2 छवियों पर गलत तरीके से लागू किया गया है तो यह Bad magic से शिकायत करता है।

7

किसी को यहाँ समाप्त होता है simg2img के उपयोग के बारे में अधिक जानकारी के लिए देख रहा है:

इस फ़ाइल में मैं माउंट करने के लिए की जरूरत है:

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

और यह मैं इसे कैसे माउंट करने में सक्षम किया गया है:

  1. स्थापित आवश्यक शर्तें (Ubuntu/डेबियन):

    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. Uncompress एक रॉ इमेज फाइल करने के लिए विरल छवि फ़ाइल:

    ./simg2img /path/to/factoryfs.img /path/to/factoryfs.raw.img 
    
  4. माउंट कच्चे छवि फ़ाइल। उबंटू में ऐसा करने का सबसे आसान तरीका फाइल ऐप → में फ़ाइल पर दायाँ क्लिक करकेडिस्क छवि माउंटर के साथ खोलें।

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


यह boot.img साथ काम नहीं करेंगे, जो एक विशेष मामला है: How to extract boot.img?

1

मैं एक गैर विरल ext4 छवि खोल करना चाहता था या कमांड लाइन का उपयोग कर विंडोज़ पर फाइल करें। simg2img sparse ext4 के साथ उपयोग के लिए है। Ext4 परिभाषा द्वारा स्पैस नहीं है, यह सिर्फ इसके लिए एक विकल्प है, फिर भी इस प्रक्रिया के हर विवरण किसी भी कारण से उस धारणा से शुरू होता है। वैसे भी, डिस्कटूल ने शून्य प्रयास के साथ यह मेरे लिए किया, जब मैंने इसे समझने की कोशिश में बहुत समय बर्बाद कर दिया। यह किसी भी बाहरी कचरे को स्थापित नहीं करता है, और यह विंडोज 10:

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

पर ठीक काम करता है
संबंधित मुद्दे