国内机型大都使用高通和MTK芯片。展讯芯片使用的较少。相对来说高通和mtk机型解锁以及读取分区工具较多。展讯的几乎没有。目前有大佬开发出了一款展讯芯片解锁 与读写分区工具.开源的tools
官方分享说明:
是一款专为 Windows 计算机设计的免费、用户友好的工具,可让您刷新固件、解锁 FRP 以及擦除展讯设备上的分区。
展讯闪存解锁工具特点:
闪存固件支持 PAC 固件以及直接 SPD 模式闪存。
支持操作方法: 读取GPT,擦除分区,然后下载Flash。
解锁使用方法: 首先读取GPT,然后选择删除分区(例如擦除FRP分区以解锁FRP)。然后,对分区使用 PAC 固件地址格式。
连接: 诊断通道、串行端口、libusb Win32、加载的 FDL
Mahar 的展讯闪存备份工具 3.0 版是一款免费的开源工具,可以备份、恢复和擦除展讯设备的闪存。它可以与各种展讯设备配合使用,例如SC9820E。
写入、读取或擦除闪存
支持多种展讯设备
用户界面友好
开源且免费
已知错误:
它正在开发中,可能无法像其他技术一样快速地分析数据。
串口速度慢。
LibUSBDotNet MonoUSBApi 无法分离/激活内核驱动程序,这可能导致 USB IO 缓慢且不稳定。
改进建议:
创建者 Mahar Mahr 建议用户研究修复 LibUSBDotNet MonoUSBApi,以确保它可以分离并使内核驱动程序加速。
Unisoc 闪存/解锁直接协议 SPD 模式工具
功能
读取 GPT
擦除分区
格式地址
闪光
联系
诊断通道
串行端口
libusb-win32
FDL 已加载
展讯 Adobe Flash Lock 工具指南:
安装并下载展讯(SPD)闪存解锁工具。
确保使用 USB 线将展讯设备连接到您的 PC。
从展讯(SPD)闪存解锁工具开始。
通过从下拉菜单中选择适当的连接方法来选择最佳的连接方法。
选择“ 读取 GPT ”按钮。
读取 GPT 后,选择您想要刷新或擦除的分区。
如果要擦除整个分区,则需要单击“ 擦除分区”按钮。
如果您要刷新分区,请按“下载闪存”“ 下载闪存”按钮,然后选择要刷新的固件文件。
点击“ 确定”按钮启动该过程。
该过程完成后,应锁定设备、使用最新固件刷新或删除分区。
原版界面展示
目前有大神汉化了此款软件 以此方便国人使用
汉化界面如下
安装后目录会根据pac固件读写分区
<?xml version="1.0"?>
-<doc>
-<assembly>
<name> UniFlash </name>
</assembly>
-<members>
-<member name="T:UniFlash.My.Resources.Resources">
<summary>A strongly-typed resource class, for looking up localized strings, etc. </summary>
</member>
-<member name="P:UniFlash.My.Resources.Resources.ResourceManager">
<summary>Returns the cached ResourceManager instance used by this class. </summary>
</member>
-<member name="P:UniFlash.My.Resources.Resources.Culture">
<summary>Overrides the current thread's CurrentUICulture property for allresource lookups using this strongly typed resource class. </summary>
</member>
</members>
</doc>
部分源代码如下
<?xml version="1.0" encoding="utf-8"?><span>
<doc><assembly><name>System.Buffers</name></assembly><members><member name="T:System.Buffers.ArrayPool`1"><summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary><typeparam name="T">The type of the objects that are in the resource pool.</typeparam></member><member name="M:System.Buffers.ArrayPool`1.#ctor"><summary>Initializes a new instance of the <see cref="ArrayPool{T}"></see> class.</summary></member><member name="M:System.Buffers.ArrayPool`1.Create"><summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class.</summary><returns>A new instance of the <see cref="ArrayPool{T}"></see> class.</returns></member><member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)"><summary>Creates a new instance of the <see cref="ArrayPool{T}"></see> class using the specifed configuration.</summary><param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param><param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param><returns>A new instance of the <see cref="ArrayPool{T}"></see> class with the specified configuration.</returns></member><member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"><summary>Retrieves a buffer that is at least the requested length.</summary><param name="minimumLength">The minimum length of the array.</param><returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns></member><member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"><summary>Returns an array to the pool that was previously obtained using the <see cref="Rent"></see> method on the same <see cref="ArrayPool{T}"></see> instance.</summary><param name="array">A buffer to return to the pool that was previously obtained using the <see cref="Rent"></see> method.</param><param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="bufferLength">bufferLength</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="Return"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="Rent"></see> method will not see the content of the previous caller. If <paramref name="bufferLength">bufferLength</paramref> is set to false or if the pool will release the buffer, the array's contents are left unchanged.</param></member><member name="P:System.Buffers.ArrayPool`1.Shared"><summary>Gets a shared <see cref="ArrayPool{T}"></see> instance.</summary><returns>A shared <see cref="ArrayPool{T}"></see> instance.</returns></member></members>
</doc></span>
工具fdl1-sign与fdl2-sign文件工具自带,在工具安装目录里可以找到.
由于手头没有展讯芯片的机型。无法做具体测试。但根据分享说明。可以支持展讯芯片机型的读写分区和檫除分区。解锁FRP等操作。