首页
社区
课程
招聘
[原创]中兴ZTE ZX279128S芯片固件解密
发表于: 2023-4-23 23:10 46189

[原创]中兴ZTE ZX279128S芯片固件解密

2023-4-23 23:10
46189
收藏
免费 11
支持
分享
最新回复 (88)
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
76
大佬怎么联系
2024-1-29 00:02
0
雪    币: 181
活跃值: (154)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
77
楼主您好,我有一个zx279127的固件,也是分析了一半,现在也分析不下去了,我不能重新打包CPIO,只要重新打包了,刷进去就无限重启。。。。请问需要从哪入手才能解决啊?
2024-7-16 18:39
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
78
本人有279128芯片产品sdk源代码,可以无偿提供,哪位大神需要分析可以联系我
2024-7-25 23:03
0
雪    币: 180
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
79

不错不错

最后于 2024-8-27 11:38 被ringz编辑 ,原因:
2024-8-26 17:00
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
80
我改完了CRC值,提示Verify error kernel1 ret 12,这个又是啥呀,我改了header_crc32和data_crc32
2024-12-11 01:35
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
81
mb_buiexhfs 本人有279128芯片产品sdk源代码,可以无偿提供,哪位大神需要分析可以联系我
请问如何联系 我的邮箱chihaya-anon@outlook.com。我手里有279128开发板和带调试口的光猫。
2025-3-3 11:00
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
82
XYUU 通过比对,已经找到了修改zImage中gzip的全部偏移,维独还剩一个偏移量没有找到:seg000:400080C8 loc_400080C8    &nb ...
3. 代码逻辑分析
LDR R5, =0x2D290:把立即数 0x2D290 加载到 R5 寄存器。
ADR R1, loc_4000824C:把 loc_4000824C 这个地址加载到 R1 寄存器。
SUB R1, R6, R1:用 R6 寄存器的值减去 R1 寄存器的值,结果存于 R1 寄存器。
SUBS R1, R5, R1:用 R5 寄存器的值减去 R1 寄存器的值,结果存于 R1 寄存器,同时更新标志位。
ADDHI R9, R9, R1:若 CPSR 寄存器的 C 标志位为 1(即无符号数比较时 R5 > R1),就把 R9 寄存器的值加上 R1 寄存器的值,结果存于 R9 寄存器。
R5 偏移量的作用
R5 寄存器里的 0x2D290 这个偏移量或许是用来计算特定内存地址或者进行边界检查的。在 zImage 文件格式里,偏移量常常用于定位文件中的不同数据段,像压缩数据、解压缩代码、头部信息等。
推测用途
结合你提到的从 Image 到 zImage 的快速转换,0x2D290 这个偏移量可能和 zImage 文件里压缩数据的起始位置、解压缩缓冲区的大小或者其他关键信息的位置有关。你可以通过调试或者查阅 zImage 文件格式的文档来进一步明确这个偏移量的具体用途。
调试建议
日志输出:在代码里添加日志输出语句,把关键寄存器的值(例如 R5、R6、R9 等)打印出来,这样能观察它们在程序执行时的变化。
断点调试:使用调试器在 LDR R5, =0x2D290 指令处设置断点,逐步执行后续代码,查看寄存器的值和标志位的变化。
2025-4-13 20:49
0
雪    币: 574
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
83
厉害了楼主,mark一下
2025-4-27 18:01
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
84
想请教一下,通过cat或者dd指令dump出来的mtd分区,是如何合成一个web页面可以升级的固件的?
2025-6-28 07:29
0
雪    币: 147
活跃值: (339)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
85
肥林 想请教一下,通过cat或者dd指令dump出来的mtd分区,是如何合成一个web页面可以升级的固件的?

这个我也不会(我都是直接写分区的,因为是双固件,写砖了就给分区头部擦除一个字节,校验不过就会自动切换到另一分区启动,所以我通常都是在两个分区都可用的情况下去测试,以次保证不用我拆闪存),但感觉不难,因为我对比过kernel分区与升级的固件之间的差异很小,需要一些耐心去分析一下,然后补全一些校验信息或其他信息即可。

最后于 2025-9-20 16:55 被XYUU编辑 ,原因: 补充信息
2025-9-20 16:42
0
雪    币: 224
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
86
XYUU 肥林 想请教一下,通过cat或者dd指令dump出来的mtd分区,是如何合成一个web页面可以升级的固件的? 这个我也不会(我都 ...
大神,想请您有偿帮解决一个问题,怎么联系呢?
2025-9-28 22:11
0
雪    币: 311
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
87
搞嵌入式逆向准备个qemu,加上alpine Linux挂载rootfs效率杠杠的。
2025-10-29 09:07
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
88
XYUU 肥林 想请教一下,通过cat或者dd指令dump出来的mtd分区,是如何合成一个web页面可以升级的固件的? 这个我也不会(我都 ...
我分析了一下刷写固件的程序fw_flashing,发现它校验固件完整性跟网页校验固件完整性是不一样的,web upgrade校验固件完整性的程序既不在httpd,也不是fw_flashing,不知道如何入手了
2025-11-2 19:50
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
89
mb_buiexhfs 本人有279128芯片产品sdk源代码,可以无偿提供,哪位大神需要分析可以联系我
My apologies, I do not know Chinese/Mandarin, I hope you will be able to translate this if needed.
I intended to send a private message, but it seems this is not possible (yet?).
mb_buiexhfs, I am looking around for SDKs related to the ZX27/ZX29 chips. It would be great if you could reach out. My e-mail address: julius.schwartzenberg@eclipso.eu
Devices with these chips are quite common, but source code does not seem to be available despite the GPL requirements. Many thanks in advance for any information you can provide!
2025-12-17 02:01
0
游客
登录 | 注册 方可回帖
返回