小米高通9008授权MiFlash刷机免认证思路

在这里插入图片描述
小米最新机型都对【9008】进行了加锁,即线刷只能fastboot线刷,无法使用【9008】线刷。以后的新机型肯定会继续对【9008】加锁的,这对玩机来说,是一个非常困难事儿了。必须破解之。。。。不然以后新机型都没得玩了。

经过我多日的研究,很大概率,不敢说100%,但是有99%的把握认为是小米对线刷包中的【prog_ufs_firehose_sdm855_ddr.elf】文件(是个二进制文件,9008线刷就是靠它)进行了加密。miflash进行【9008】线刷,其实本质就是调用高通的驱动。高通线刷工具叫【qpst】,百度都可以下载。

我先说说其大概的工作原理:电脑会把这个【prog_ufs_firehose_sdm855_ddr.elf】文件下载到手机,通过此文件来把线刷包中的所有文件按照各个xml的配置代码,依次写入手机中。小米对【9008】加密,其实就是把【prog_ufs_firehose_sdm855_ddr.elf】给加密了,导致miflash或者高通的qpst在读取这个【prog_ufs_firehose_sdm855_ddr.elf】文件时,强制报错。miflash强制报错后,就会弹出登陆框,让你登陆小米账号,如果此小米账号有【9008】权限的话,便重启线刷并走完。这就是整个刷【9008】的过程。

一般来说,【prog_ufs_firehose_sdm855_ddr.elf】只有一个签名(由高通提供),用来保护手机型号,因为不用型号的手机【prog_ufs_firehose_sdm855_ddr.elf】文件是不能通用的,签名就在这里发挥了作用,防止其它型号的手机刷入。而小米似乎就在这个【prog_ufs_firehose_sdm855_ddr.elf】里面多加了一个小米自家的签名,用来验证你的小米账号是否具有【9008】权限的。所以,破解方式有两种。

一、破解【prog_ufs_firehose_sdm855_ddr.elf】文件中的小米自家签名认证,删除掉那段签名认证的代码,这样线刷就不会报错(弹出没有【9008】权限)了。

二、直接对miflash下手,用com口抓包工具,对正处于【9008】线刷状态的miflash进行抓包,看看miflash到底对手机com发送了神马代码(这个代码就是把线刷包中的文件写入到手机),然后捕获此代码,将其稍加修改,使其能直接用高通qpst进行线刷,而无需用miflash来线刷,这样就算没有【9008】权限的小米账号,也能直接刷。因为高通qpst工具不需要任何登陆。

目前我试着改了【prog_ufs_firehose_sdm855_ddr.elf】中验证权限的代码,发现改了之后,需要重新用高通的签名来签名elf,因此,此法不通。所以,要想破解,就只能从miflash来入手了。

以下是我破解过程中总结出来的经验,我本人能力有限,分享出来,希望有能力更强的大佬,大家一起战斗。

用IDA_Pro_v7.0(百度下载)反编译【prog_ufs_firehose_sdm855_ddr.elf】文件,查看其源代码,或者直接用16进制工具(010Editor.exe)也可以查看其代码。你能在源代码中,找到这样的代码【only nop and sig】,这个就是小米自家的签名权限认证。破解它,就完事了。就是它,让我们在【9008】线刷时,弹出登录框。你用老版本的miflash没有任何用,它只是让你miflash强制报错中止线刷而已,所以高通qpst也是如此被强制报错中止。所以要用最新的miflash,最新的miflash在接收到这样的强制报错后,就会弹出登录框,登陆成功后链接服务器,判读是否具有【9008】权限,没有则提示你没有【9008】权限,然后就没有然后了。如果判断为有【9008】权限,miflash便会自动清除错误信息并开始线刷(它会从服务器就收一些数据包,用来给【prog_ufs_firehose_sdm855_ddr.elf】文件中的【only nop and sig】这个代码验证判断用)。然后我发现修改【prog_ufs_firehose_sdm855_ddr.elf】后,需要重新使用高通的签名对其签名,不然手机的cpu不认未签名的文件,也就无法下载。所以,似乎只能从miflash入手了。

从miflash入手,用记事本(其他编辑工具可能看不到)打开【XiaoMiFlash.exe】,有很多乱码,不管他直接搜索代码【f h _ l o a d e r . e x e】,这个文件其实是高通提供的,【9008】线刷就是它把线刷包中的文件写入到手机的。miflash也是调用的它来写入刷机包的。你能在记事本中找到类似于这样的代码【fh_loader.exe –port=.\COM20 –sendxml=partition.xml,patch4.xml,rawprogram4.xml –search_path=D:\Users\R\Desktop\test –noprompt –showpercentagecomplete –memoryname=UFS】看不懂?链接:【 查看附录1 】我就懒得一个一个解释参数的含义了。【f h _ l o a d e r . e x e】文件就是通过这样的命令将线刷包中的文件,一个一个的写入到手机磁盘的。所以,对其正处于【9008】线刷状态的miflash用com抓包工具,进行抓包,看看miflash到底发送了神马样的指令。如果成功将指令截取出来了,那么以后的【9008】强刷都无需这坑爹的miflash了,直接高通qpst线刷之,或者直接用cmd命令,依次执行这些命令,就可以完成【9008】线刷,那么,小米所谓的【9008加密,售后账号才能刷写,这就完全成为了摆设】。

以上就是我的个人经验,分享出来,希望有更多的大佬一起研究,我个人实在能力有限。。。。

【9008】线刷走向:通过【QSaharaServer.exe】文件将【prog_ufs_firehose_sdm855_ddr.elf】文件下载到手机,再通过【fh_loader.exe】文件,执行刷写命令,把线刷包中的所有文件依次一个一个的写入手机磁盘中。

小米【9008】加密走向:使用miflash或者高通qpst开始线刷,调用【QSaharaServer.exe】文件将【prog_ufs_firehose_sdm855_ddr.elf】文件下载到手机,再调用【fh_loader.exe】文件,执行刷写命令,执行到小米自家的签名验证代码处,强制【return eoor】,迫使线刷工具(miflash或者高通qpst)报错中止线刷,高通qpst就没有然后了,最新版本的(MiFlash2018-5-28-0)miflash接收到这个强制报错信息,调用mi目录下的【account_auth.exe】进行登陆小米账号,链接服务器判断张否权限问题,无权限就没然后了,有权限,就从服务器下载相关数据包到本地,再次以接收的数据包去执行【fh_loader.exe】文件,小米自家的签名认证就通了,接下来就是开始正常刷入手机磁盘了。。。。

引导下载地址:

链接:https://pan.baidu.com/s/1ue8t5Cka2Ulur9aGE98uMQ 提取码:4vxj

备用:https://www.lanzoux.com/b0ee2a5wd

密码:6t35

【查看附录1】关于如何开发类似QFIL下载工具

1.下载qpst工具,在QFIL文件夹下找到fh_loader.exe和QSaharaServer.exe文件

2.使用QSaharaServer.exe 下载firehorse代{过}{滤}理,如下:

QSaharaServer.exe –p .\COM5 -s 13:C:\images\prog_emmc_firehose_8909.mbn

com5是diag端口号

C:\images\prog_emmc_firehose_8909.mbn是firehose代{过}{滤}理路径

3.开始下载升级

fh_loader.exe –port=.\COM5 –erase=0 –sendxml=rawprogram_unsparse.xml –

search_path=C:\8909images –noprompt –showpercentagecomplete –

memoryname=eMMC –reset

–erase=0代表全擦升级,也代表物理分区0擦除。例如erase=x。

–sendxml代表要用的xml文件,如果是两个xml,可以这样使用:–sendxml=rawprogram_nand_p2K_b128K.xml,patch_p2K_b128K.xml。

–search_path下载版本路径。

–noprompt 取消用户与fh_loader交互。

–showpercentagecomplete 指示下载百分率

–memoryname内存类型。

–reset 下载完成后自动重启。

以上是主要下载的可选参数,也可以不选择,例如,不全擦升级,可以如下操作fh_loader.exe –port=.\COM5 –sendxml=rawprogram_unsparse.xml –

search_path=C:\8909images –noprompt –showpercentagecomplete –

memoryname=eMMC –reset。

总结:使用QFIL下载,实质就是下载firehorse代{过}{滤}理后,通过代{过}{滤}理下载即可完成,以上只是简单说明,由于版权的说明,就补贴高通文档了,如果大家开发中遇到任何问题,欢迎大家留言。

特别感谢@Rannki@xueyu人生

  • 22
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
### 回答1: 小米5x 9008刷机包,是指用于小米5x手机进行刷机操作的固件包。刷机是指将手机的操作系统进行更换、升级或修复的过程,以获取更好的性能或解决手机问题。而9008则表示了小米手机的一种刷机模式。刷机包是提供给用户下载和安装的固件文件,通过特定的刷机工具将其烧录到手机内部,实现对手机系统的更新或修复。 小米5x 9008刷机包的使用需要用户在刷机前了解自己手机的具体型号和硬件信息,并选择相应的刷机包版本。然后,用户需要下载刷机包并解压缩文件。接下来,用户需要进入小米5x的9008刷机模式,在关机状态下按住手机上的特定组合按键,再连接手机与电脑,进入9008刷机模式。在进入刷机模式后,用户需要运行刷机工具,将刷机包烧录到手机内部存储中。这一过程可能需要一些时间,请用户耐心等待直到刷机完成。完成后,用户可以重新启动手机并进行系统设置,完成刷机过程。 刷机有风险,请用户在刷机前进行备份重要数据,并确保选择正版、可靠的刷机包和工具。刷机过程若出现错误或不当操作可能导致手机无法正常启动或丧失保修资格。此外,请用户明确自己的需求,选择适合自己的刷机包版本,并且遵循相关法律法规与手机厂商的规定。 ### 回答2: 小米5x 9008刷机包是用于将小米5x手机恢复到9008模式下刷入新固件的工具。刷机包通常是由开发者制作的,包含了完整的固件文件和刷机工具。 9008模式是一种用于修复小米手机的特殊模式,可以通过连接手机到电脑上并使用刷机工具刷入新的固件,以修复手机出现的各种问题,如无法开机、无法进入系统等。刷机包通常是由小米官方或者第三方团队制作的,用于提供手机系统的更新、修复和定制。 使用刷机包刷入新固件可以让小米5x获得更好的系统性能和稳定性。同时,刷机包也可以提供更多的个性化定制选项,如刷入第三方ROM、安装自定义主题等。 但是需要注意的是,刷机有一定的风险。不正确的刷机操作可能导致手机变砖,甚至无法修复。因此,在刷机之前,建议先备份手机中的重要数据,并确保使用的刷机包来自官方或可信赖的来源。 总之,小米5x 9008刷机包是一种用于恢复手机系统和提供个性化定制选项的工具,使用时需谨慎操作,并确保刷机包的来源可信。 ### 回答3: 小米5x 9008刷机包是用于小米5x手机进入9008模式进行刷机操作的固件包。所谓9008模式,是指手机进入了Qualcomm HS-USB QDLoader 9008模式,可以通过该模式进行刷机、修复手机系统等操作。 刷机包是一种特殊的固件包,可以用于刷写手机的系统、修复软件问题或者安装第三方ROM。由于小米5x手机进入9008模式后无法通过正常的方式来刷新系统,因此需要使用特定的刷机包来进行操作。 刷机包的安装方法如下:首先,将手机进入9008模式(通常需要按住特定的组合键),然后连接手机与电脑,将刷机包拷贝到电脑上,接着使用刷机软件(如MiFlash)将刷机包安装到手机上。 刷机包一般包含了手机的完整系统镜像和一些特定的刷机工具。通过刷机包,可以更新手机的系统版本、修复系统问题、刷入第三方ROM等。不过需要注意的是,刷机操作存在一定风险,如果不正确操作可能会导致手机无法正常启动或者数据丢失,因此在刷机前请务必备份重要数据,并确保刷机包的来源可靠。 总之,小米5x 9008刷机包是一种在9008模式下用于刷写手机系统、修复问题的固件包。刷机前请备份重要数据,并注意选择安全可靠的刷机包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值