The main purpose is to make a file that contains all data in android specific partition. This is really handy in case of dumping leak firmwares.
- Rooted device.
- Knowledge of how to use adb or Terminal Emulator.
The first step of making dump files out of device partitions is to locate its mounting points..!!
So in our tutorial, we will make it in 2 sections. Section 1 for how to get mounting points, and section 2 for how to get partition dumped..
Keep in mind that this is xda-university; so my target is to show beginners how to do that manually, without the aid of any tool, so they can get the concept behind it.. OK let's begin..!!
Getting mounting points
All these methods will be described using adb shell.
adb shell cat /proc/partitions
adb shell ls -al /dev/block/platform/dw_mmc/by-name
This command is not universal between devices, and you will need to gather its pieces (/dev/block/platform/dw_mmc/by-name).
- In your device, use any explorer that can get you to the device root (personally I use ES Explorer, by pressing on "/" on navigation bar).
- Go to "/dev/block/platform/" folder
- Here you will see some files and folders, we need to open folders and search for the folder called "by-name" inside one of them; in my situation it was "dw_mmc" folder which has the folder "by-name" inside it.
- At the end, my targeted piece info will be (/dev/block/platform/dw_mmc/by-name)
- Now open adb shell and put that command..
By pushing parted binary to /system/bin folder and run it (you can find it in attachment).
adb remount adb shell "su" "" "mount -o remount,rw /system" adb push parted /system/bin/parted adb shell chmod 0755 /system/bin/parted parted /dev/block/mmcblk0 print
Here, your mounting points will start with /dev/block/mmcblk0p* where (*) is the number shown in the table above for each partition.
The hidden partition mounting point will be mmcblk0p10
The radio partition mounting point will be mmcblk0p7
The system partition mounting point will be mmcblk0p9
The recovery partition mounting point will be mmcblk0p6
and so on
Don't forget to "quit" the parted action after grasping your device mounting points.
- You may need to run first:
adb shell cat /proc/partitions
- Also to be able to do adb push to /system partition for parted binary, you will need insecure boot.img used in your ROM or adbd insecure installed in your device (Check this thread for that app), or just push parted binary manually by any root explorer and then fix permissions to rwxr-xr-x (755).
Dumping ROM partition
adb shell su dd if=/yourMountingPoint of=/yourDestination/partitionType
adb shell su dd if=/dev/block/mmcblk0p9 of=/sdcard/system.img
If the partition is formatted as ext3/4 then the dumped partition will have .img as an extension.
Other partition dumps have different extensions; examples:
- zImage (without extension)
Read Partition Image
For Linux Users:
- Open terminal and type:
su - mkdir -p /mnt/disk mount -o loop yourImage.img /mnt/disk cd /mnt/disk ls -l
- Download LinuxReader from this site here.
- Open it -> Drives -> Mount Image -> Then choose your dumped image and hit Mount. A new driver will appear that contains all files inside the dumped image called "Linux native Volume 1". Just double click it to get inside the dumped image.
I hope you will find this tutorial beneficial,,,