小米高通9008授权MiFlash刷机免认证思路
⼩⽶⾼通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进制⼯具
()也可以查看其代码。你能在源代码中,到这样的代码【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⼊⼿,⽤记事本(其他编辑⼯具可能看不到)打开【】,有很多乱码,不管他直接搜索代码【f h _ l o  a d e r . e x e】,这个⽂件其实是⾼通提供的,【9008】线刷就是它把线刷包中的⽂件写⼊到⼿机的。miflash也是调⽤的它来写⼊刷机包的。你能在记事本中到类似于这样的代码【    –port=\.\COM20 –l    –
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】线刷⾛向:通过【】⽂件将【prog_ufs_firehose_sdm855_ddr.elf】⽂件下载到⼿机,再通过
【】⽂件,执⾏刷写命令,把线刷包中的所有⽂件依次⼀个⼀个的写⼊⼿机磁盘中。
⼩⽶【9008】加密⾛向:使⽤miflash或者⾼通qpst开始线刷,调⽤【】⽂件将
【prog_ufs_firehose_sdm855_ddr.elf】⽂件下载到⼿机,再调⽤【】⽂件,执⾏刷写命令,执⾏到⼩⽶⾃家的签名验证代码处,强制【return  eoor】,迫使线刷⼯具(miflash或者⾼通qpst)
报错中⽌线刷,⾼通qpst就没有然后了,最新版本的(MiFlash2018-5-28-0)miflash接收到这个强制报错信息,调⽤mi⽬录下的【】进⾏登陆⼩⽶账号,链接服务器判断张否权限问题,⽆权限就没然后了,有权限,就从服务器下载相关数据包到本地,再次以接收的数据包去执⾏【】⽂件,⼩⽶⾃家的签名认证就通了,接下来就是开始正常刷⼊⼿机磁盘了。。。。
引导下载地址:
密码:6t35
【查看附录1】关于如何开发类似QFIL下载⼯具
世界各国面积排名1.下载qpst⼯具,在QFIL⽂件夹下到和⽂件
2.使⽤  下载firehorse代{过}{滤}理,如下:
< –p \.\COM5 -s 13:C:\images\prog_emmc_firehose_8909.mbn
com5是diag端⼝号
C:\images\prog_emmc_firehose_8909.mbn是firehose代{过}{滤}理路径
3.开始下载升级
新学期国旗下演讲稿 –port=\.\COM5 –erase=0 –sendxml=l –
内涵的名字search_path=C:\8909images –noprompt –showpercentagecomplete –
怎么学唱歌memoryname=eMMC –reset
–erase=0代表全擦升级,也代表物理分区0擦除。例如erase=x。
–sendxml代表要⽤的xml⽂件,如果是两个xml,可以这样使⽤:–
sendxml=rawprogram_nand_l,patch_l。
–search_path下载版本路径。
–noprompt 取消⽤户与fh_loader交互。
–showpercentagecomplete 指⽰下载百分率
–memoryname内存类型。
–reset 下载完成后⾃动重启。
以上是主要下载的可选参数,也可以不选择,例如,不全擦升级,可以如下操作 –port=\.\COM5  –
sendxml=l –
search_path=C:\8909images –noprompt –showpercentagecomplete –
memoryname=eMMC –reset。
总结:使⽤QFIL下载,实质就是下载firehorse代{过}{滤}理后,通过代{过}{滤}理下载即可完成,以上只是简单说明,由于版权的说明,就补贴⾼通⽂档了,如果⼤家开发中遇到任何问题,欢迎⼤家留⾔。
原⽂转⾃酷安
特别感谢@Rannki@xueyu⼈⽣

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。