赞
踩
一、使用Hitool打包固件
接上一篇,尝试使用HITOOL打包固件
参考ZNDS HItool备份固件:【玩机必看】海思机顶盒备份线刷包 制作分区表xml文件_ZNDS刷机/救砖_ZNDS
HITOOL下载:https://cloud.189.cn/web/share?code=rU3aEzji2quq(访问码:lid3)
首先用HITOOL 打包未修改(仅使用工具解包),看看前后固件是否有大的变化,来验证HITOOL打包是否靠谱。
我先加载了部分文件验证下,也方便做对比分析
查看fastboot文件大小是999424字节对应16进制就是F4000,很可能打包头部信息记录了分区的文件大小,文件地址、烧录地址,这样才能将固件中国取出对应分区文件并写到EMMC对应地址上。
继续看看下个文件是否也有此信息,可以看到bootargs同样符合
0614补充信息
左侧红框为分区起始地址,右侧红框为分区结束地址,下一行为分区的文件大小和在固件中的位置。最右侧一列的02代表该分区存储类型,02代表EMMC,01代表nand.最后一个data分区比较特殊,没有文件大小和位置,即使添加的有文件也不会生成,工具会自动补一个分区结束地址。但是仍然会将这个分区文件放到固件的最后,仍然按照和其他分区一样的规则放置(4字节分区大小字节分区数据校验和+分区固件数据,只是在header部分不再放置分区文件大小和固件中位置。我对比过打包后和原始固件最后1M数据,数据可以对得上)
说明:这些信息可以通过hitool D:\HiTool\logs\hiloader\HiLoader_rolling.log中信息得到印证
我们验证下0F419C这个地址偏移8个字节是不是第二个分区(bootargs)的文件内容
可以看到这个地址就是bootargs,第二个分区并没有紧接着第一个分区存放,这也解释了为什么上篇博客读取固件前2M,后面部分是recovery文件,而不是bootargs
到此基本证明HItool打包固件是可靠的,开始打个完整包验证下
二、正式开始打包完整固件
注意misc前面的开始地址需要手动调整下,看bootargs misc前有两个分区,但是解包没这两个文件的。可能因为这两个分区文件不需要烧录
补充说明前面为什么要偏移8个字节才是分区文件内容:
偏移8个字节的含义,前4个字节是这个分区文件大小比如第一个fastboot分区大小是0F4000
后四个字节是这个分区固件校验和(6C6FCE59),所以实际分区内容需要安照这个地址偏移8个字节。打包的时候这8个字节是自动填充的
第二个分区bootargs分区文件大小100000,校验和是BD9D6CD1
对比重新打包后header信息
打包得到新的固件,对比下头部信息,发现略微差异,这个差异是system的,看起来是新打包的将system分割了(可能是工具判断文件大小自己调整的)
system烧录起始地址0E500000,大小为2F645F2C,分割后第一部分1E000000,第二部分起始地址
2C500000 == 0E500000 + 1E000000
第二部分大小11645F2C,加上第一部分的1E00000 刚好等于2F645F2C
文件在固件中存放地址035E9B93加上第一部分大小也刚好是215E9B93再偏移8个字节就是
215E9B9B
看起来分割后,也是连续的,应该没什么问题。
可以看到因为打包工具将system分割为2部分,上面也说了地址是连续的,应该没问题。再深入研究下。system之前分区文件的起始地址都比原始文件偏移0x20字节,这是因为header多了两行,也就是记录system第二段的存放地址和大小。system之后分区偏移了0x28字节,这是因为新增一个system数据段,也需要8个字节存放大小和校验和。这一切都能完美对应,打包绝对没问题,开整。
0614补充信息:查看hitool 文档说明,USB协议单文件限制480M,故system超过480M会被分割为两段。可能官方包是linux工具打包生成,没有此限制,理论上分割不影响机器升级
补充Header信息解释
1代表魔幻数,是固定的,2代表headerCRC,3代表header结束地址,即Header长度,4代表打包后固件长度
5代表固件中分区个数,6代表第一个分区烧录文件大小 。分析整个header数据并没有对应的芯片平台信息。
- 精简APP列表:
- rm -rf com.egame.tv/
- rm -rf com.qiyi.tv.changhongappstore/
- rm -rf huan.tv.strongtv/
- rm -rf UpdateLocalSystem/
- rm -rf UpgradeSystemUI/
- rm -rf UserLoginManager/
- rm -rf com.tencent.qqmusictv/
- rm -rf com.changhong.chhongbaofortv/
- rm -rf CHAppUpgrade/
- rm -rf com.changhong.ipptv
- rm -rf com.changhong.chchoujiangfortv
- rm -rf Lexue_CHIQ
55D3P(ZLH74GiR2G) 基于官方upgrade_ZLH74GiR2G_V1.00099.bin开启usbdebug删除部分系统APK,重新打包固件下载地址:
官方救砖包:
链接: https://pan.baidu.com/s/10xtnlkgzzjieIOJlp2fSxw?pwd=w2dh 提取码: w2dh 复制这段内容后打开百度网盘手机App,操作更方便哦
修改固件只修改boot和是system,即使无法开机也可以用官方救砖包刷回来!
但一定要确认好自己的机芯,机芯不一致会导致变砖!!!
因为分析是反反复复总结得来,不是一气呵成的,文章排版有些乱,还请见谅,有疑问欢迎留言交流
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。