MTK手机官方ROM提取教程

这篇教程详细介绍了如何为搭载联发科(MTK)芯片的安卓手机进行备份,包括获取Root权限、创建scatter文件、使用SPFlashTool工具进行读取(READBACK)以及备份ROM。警告刷机会导致失去保修,操作前需谨慎,并确保手机电量充足。教程涉及关键步骤,如检查芯片类型、安装驱动、使用MTKDroidTools和SPFlashTool等工具,以及如何提取和备份特定分区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

市场上越来越多能满足各类普通终端用户需求的安卓手机了,制造商们发布新设备的频率越来紧凑!就在这近期的短短数月,我们已经看到非常多的八核手机投入抢购行列,与此同时,我们也见证了中低端便携设备走向没落。但是,制造商总是尝试引导用户远离对设备的拥有完整的使用权限以确保设备拥有更长的寿命。

可是,只有当用户自己获得了对手机的完整控制权才能真正发掘安卓设备的强大能力,而不是制造商。所以,很多的开发者和黑客开发了能够**并让用户获得完成权限脚本和工具,例如非常常见的Root!一旦用户拥有了全部的权限,他就可以对手机为所欲为了,但是这也往往容易损坏设备。所以我们需要为手机制作一个备份以防日后手机遇到问题无法启动或发生其他故障时能有备用的恢复方案。当然目前国内绝大部分品牌的官网或产品论坛都能较轻易找到官方固件。

联发科 (Mediatek) 芯片较具有性价比,选择MTK可以节减预算,MTK也是非常大众化了。一旦我们有第三方recovery,备份手机将会变得很简单,但如果设备还没有root 也没有第三方recovery,那么备份ROM就不可以那么直接了。然而,下面这个详细的教程将会告诉你备份你的联发科 (MTK) 手机将会是如此的简单。

警告!!

刷机有可能导致你失去保修并且是带有风险的,操作前请自行斟酌,我不会承担责任哦!

在你按照下面的教程开始前,请确保你手机仍有适当的电量,至少50% 是比较有保障的。

步骤一:检查芯片

为了保证这个方法有效,需要确保你的设备是适用联发科 (MTK) 芯片的。通常所有的联发科机子都是以MTXXXX 来标识的,其中XXXX 是这颗芯片的型号。

步骤二:备份你的设备

在折腾之前请备份好重要的数据,因为你有可能会丢失你的软件和软件数据(软件设置、游戏存档等等),某些设备也要注意备份内置存储上的文件。

步骤三:安装最新的驱动程序

你需要在你的windows 电脑上正确地安装了对应的驱动程序以保证顺利地备份你手机的固件。

你可以选择设备制造商提供的驱动程序或者根据下面链接提供的MTK驱动程序。

联发科(MTK)手机刷机工具SP_Flash_Tool 最新版本下载及众版本大全,附驱动安装和刷机教程

步骤四:安装说明

  1. 下载

    下载下面提供的文件

    SP FLASH TOOL | SP_Flash_Tool_v5.1452.00.000.rar

    驱动程序 | MTKUsbAll_0.9.2.rar

    MtkDroidTools v2.5.3.zip (3158 次下载) ( 提取码: avp4 )

  2. 备份(提取)ROM

    重要提示:放置在内置SD卡上的重要文件一定要备份到安全的地方去哦

    • 第一步:准备

      1. 解压SP Flash Tool (SP_Flash_Tool_v5.1452.00.000.rar) 到你的电脑,得到的文件应该像下面的截图所示:
      2. 双击MTK Droid Tool 文件,在你电脑上的MtkDroidTools_v253.exe 是个自解压程序,运行它会自动解压,解压后得到的文件如下:

      3. 确保驱动程序已经安装到你的电脑,Adb 也要正常工作。没有安装正确的驱动程序就无法继续下去了。

    • 第二步:创建SCATTER 文件

      1. 下一步是得到你手机上包含了各block 的地址的Scatter 文件,SP Flash Tool 刷机时必须。
      2. 创建Scatter 文件,进入到MTK Droid Tools 文件夹并双击运行MTKdroidTools.exe. 它会打开一个窗口,如下面截图所示:

      3. 准备你的手机:
        * 开启USB调试: 打开手机的设置 >> 选择开发者选项 >> 勾上“USB调试” 复选框。
      4. 通过USB数据线连接你的手机到电脑,如果你的手机上弹出一个对话框询问你允许USB调试,请确保选中“总是允许这台计算机”的复选框并点击确定。
      5. 现在工具应该识别了你的手机并显示了你手机的详细信息,像下图所示:

      6. 现在点击工具下方的Blocks Map 按钮,将会弹出一个显示了手机上个分区地址的详细信息的窗口.

      7. 现在点击 Create scatter file 按钮在你的电脑上创建scatter 文本文件。它会自动命名为类似MTxxxx_Android_scatter_emmc.txt,xxxx 是芯片型号。

    • 第三步:适用SP FLASH TOOL 回读 (READ BACK)

      1. 进入SP Flash Tool 文件夹并双击运行flash_tool.exe ,它将会打开如下图所示的窗口:

      2. 现在在工具右侧的scatter-loading 按钮载入之前创建的scatter 文件,这将会显示分区表格,如图:

      3. 点击Readback 标签并点击 Add 按钮,在出现的行上双击鼠标。你可以自定义文件名,以ROM_xxxxxx 开头(或者就让它保持默认的 Rom_0即可)。牢记这个ROM_ 文件的保存路径。

      4. 现在它会要求填写rom 的大小。选择Hex 并根据你的scatter 文件中的数值来填写。开始地址默认是0x0000000000000000,不要改变它,修改结束地址为你手机上cache 分区的地址就可以了。

      5. 点击Read Back 按钮并将已经关机的手机连接到电脑。在一些手机上,你可能需要按音量键或者照相机键以进入正确的模式,一般是不用按任何键的。
      6. 一旦完成,你将会看到一个提示Download OK 表示任务完成的绿色圆圈。

       

    • 第四步:为SP FLASH TOOL 准备可刷写的ROM 文件

      1. 打开MTK Droid Tool 并点击root, backup, recovery 标签(手机开机并连接到电脑)。
      2. 点击To process file ROM_ from FlashTool 按钮来选择之前回读保存的ROM_* 文件。

      3. 如果所有都成功了,这工具会要求从类似的设备上选择CWM,点击OK
      4. 选择的CWM 将会被检查是否兼容当前设备,如果ok,它会自动创建CWM recovery 。
      5. 你可以在MTK Droid Tools 文件夹中的backup 文件夹找到你手机的完整的固件。

      -----------------------------------【提示!!经过 本贴作者实践,发现MtkDroidTools应该只适用于MT65XX 系列 ,反正我是失败了~~~~~; 其他的正常】

---------------------第二篇教程 ------------------------------

首先手机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

上述第二篇转自:提取所有mtk机型的线刷包 - listenerri - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值