提取所有mtk机型的线刷包

首先手机root且安装busybox和超级终端软件,这里不提供自己百度一大堆

一.制作scatter

示范

PRELOADER 0x0

{

}

MBR 0x600000

{

}

EBR1 0x680000

{

}

__NODL_PMT 0x700000

{

} __NODL_PRO_INFO 0xb00000

{

}

__NODL_NVRAM 0xe00000

{

}

__NODL_PROTECT_F 0x1300000

{

}

__NODL_PROTECT_S 0x1d00000

{

}

__NODL_SECCFG 0x2700000

{

}

UBOOT 0x2720000

{

}

BOOTIMG 0x2780000

{

}

RECOVERY 0x2d80000

{

}

SEC_RO 0x3780000

{

}

__NODL_MISC 0x3d80000

{

}

LOGO 0x3e00000

{

}

EBR2 0x4100000

{

}

__NODL_OPPO_CUSTOM 0x4180000

{

}

__NODL_EXPDB 0x4280000

{

}

ANDROID 0x4c80000

{

}

CACHE 0x3cd80000

{

}

USRDATA 0x44b80000

{

}

FAT 0x84b80000

{

}

可以直接从官方卡刷包提取或在超级终端输入

dd if=/proc/dumchar_info of=/mnt/sdcard/partition.txt bs=10000c count=1

然后在手机内存卡里找到partition.txt用编辑器打开,会发现所有分区的大小和地址都在这里,然后就自己算出分区表即可,提示:第一个分区的地址为0x0,那么第x个分区的地址就是前一个分区的地址加上该x分区的大小,示范如果要算出mbr的地址,查看下表perloader大小为0x600000,那么mbr的实际地址为0x0+0x600000=0x600000,ebr1的地址为0x600000+0x80000=0x680000,其他的自己算吧。

Part_Name        Size        StartAddr        Type        MapTo

preloader    0x0000000000600000   0x0000000000000000   2   /dev/misc-sd

mbr          0x0000000000080000   0x0000000000000000   2   /dev/block/mmcblk0

ebr1         0x0000000000080000   0x0000000000080000   2   /dev/block/mmcblk0p1

pmt          0x0000000000400000   0x0000000000100000   2   /dev/block/mmcblk0

pro_info     0x0000000000300000   0x0000000000500000   2   /dev/block/mmcblk0

nvram        0x0000000000500000   0x0000000000800000   2   /dev/block/mmcblk0

protect_f    0x0000000000a00000   0x0000000000d00000   2   /dev/block/mmcblk0p2

protect_s    0x0000000000a00000   0x0000000001700000   2   /dev/block/mmcblk0p3

seccfg       0x0000000000020000   0x0000000002100000   2   /dev/block/mmcblk0

uboot        0x0000000000060000   0x0000000002120000   2   /dev/block/mmcblk0

bootimg      0x0000000000600000   0x0000000002180000   2   /dev/block/mmcblk0

recovery     0x0000000000a00000   0x0000000002780000   2   /dev/block/mmcblk0

sec_ro       0x0000000000600000   0x0000000003180000   2   /dev/block/mmcblk0p4

misc         0x0000000000080000   0x0000000003780000   2   /dev/block/mmcblk0

logo         0x0000000000300000   0x0000000003800000   2   /dev/block/mmcblk0

ebr2         0x0000000000080000   0x0000000003b00000   2   /dev/block/mmcblk0

oppo_custom   0x0000000000100000   0x0000000003b80000   2   /dev/block/mmcblk0

expdb        0x0000000000a00000   0x0000000003c80000   2   /dev/block/mmcblk0

android      0x0000000038100000   0x0000000004680000   2   /dev/block/mmcblk0p5

cache        0x0000000007e00000   0x000000003c780000   2   /dev/block/mmcblk0p6

usrdata      0x0000000040000000   0x0000000044580000   2   /dev/block/mmcblk0p7

fat          0x00000000631a0000   0x0000000084580000   2   /dev/block/mmcblk0p8

bmtpool      0x0000000001500000   0x00000000ff9f00a8   2   /dev/block/mmcblk0

Part_Nameartition name you should open;

Size:size of partition

StartAddr:Start Address of partition;

Type:Type of partition(MTD=1,EMMC=2)

MapTo:actual device you operate

二,提取线刷资料

查看分区表_nodl_开头的不用提取

打开超级终端

输入su按回车

1.ebr1

实际大小为0.5k,由于各个机型不一样,所以提取约20k即可

dd if=/dev/ebr1 of=/mnt/sdcard/ebr1.bin bs=20000c count=1

2.ebr2

实际大小为0.5k,由于各个机型不一样,所以提取约20k即可

dd if=/dev/ebr2 of=/mnt/sdcard/ebr2.bin bs=20000c count=1

3.preloader

实际大小为约128k,所以提取128k即可

dd if=/dev/preloader of=/mnt/sdcard/OPPO/preloader.bin bs=512c count=256 skip=4

4.dsp_bl

dd if=/dev/dsp_bl of=/mnt/sdcard/dsp_bl.bin bs=512c count=64

5.sec_ro

实际大小约10k,由于各个机型不一样,所以提取约100k即可

dd if=/dev/sec_ro of=/mnt/sdcard/secro.bin bs=100000c count=1

6.mbr

实际大小为0.5k,由于各个机型不一样,所以提取约20k即可

dd if=/dev/mbr of=/mnt/sdcard/mbr.bin bs=20000c count=1

7.uboot

由于各个机型不一样,所以提取约1000k即可

dd if=/dev/uboot of=/mnt/sdcard/uboot.bin bs=1000000c count=1

8.boot

由于各个机型不一样,所以提取约5m即可

dd if=/dev/bootimg of=/mnt/sdcard/boot.img bs=5291456c count=1

9.logo

由于各个机型不一样,所以提取约2m即可

dd if=/dev/logo of=/mnt/sdcard/OPPO/logo.bin bs=200000c count=1

10.recovery

由于各个机型不一样,所以提取约7.5m即可

dd if=/dev/recovery of=/mnt/sdcard/recovery.img bs=7800000c count=1

其他例如system,cache等就不用提取了吧,因为比较大,谁会把整个手机的闪存格式化,提取上面的资料刷入手机后进去rec刷官方rom即可

还有这两个分区也备份一下以不时之用

pmt

dd if=/dev/pmt of=/mnt/sdcard/pmt.bin bs=2000000c count=1

nvram

dd if=/dev/nvram of=/mnt/sdcard/nvr

上一篇:c语言正则表达式


下一篇:mvc 之 @Html.DropDownList