我正在监视三星ODIN Flash流量而且我有一些疑问
我知道如何打开端口用于编写固件包和读取,分析分区
示例培训on the link
在本教程中,我们经常阅读Partition {pit},以刷新分区以发送1024个长度为0x66的数据包
然后发送“ 66 00 00 00 02”来写入固件文件的一部分(例如sboot,boot等)
问题是,“ 66 00 00 00 02”不同
例如,我用odin监控三星A5108固件
befor写sboot.bin软件包工具的一部分写Thins数据包
66 00 00 00 02 00 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
我们在0x66的子逗号中看到“ 1a 00 00 00 00”
我知道此值确定要在分区上写入哪个二进制文件
example,此数据包先写入a5108中的boot.img部分
66 00 00 00 02 00 00 00 00 00 2a 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
我认为“ 2a 01 00 00 00”值转换为使用坑分析
我分析了来自a5108装置的倾卸坑分区,并获得了以下数量
Information Memory Address 0x1C // decimal 28
Binary Type 0 (UNKNOWN)
Device Type 2 // hex 2 (MMC)
Identifier 80 // hex 50
Attribute 2 // hex 2 (STL)
Update Attribute 1 // hex 1 (FOTA)
Block Size
Block Count 8,192 // hex 2000
File Offset (Obsolete) 0
File Size (Obsolete 0
Partition Name BOOTLOADER
Flash FileName sboot.bin
FOTA FileName
boot.img分区
Information Memory Address 0x6D0 // decimal 1744
Binary Type 0 (UNKNOWN)
Device Type 2 (MMC)
Identifier 10 // hex A
Attribute 5 // hex 5 (READ | WRITE)
Update Attribute 1 // hex 1 (FOTA)
Block Size 124,928 // hex 1E800
Block Count 65,536 // hex 10000
File Offset (Obsolete) 0 // 0
File Size (Obsolete 0 // 0
Partition Name BOOT
Flash FileName boot.img
FOTA FileName
但是我找不到sboot的“ 1a 00 00 00 00”或boot.img的“ 2a 01 00 00 00”
我认为此数据包是根据坑计算的
但是我不知道如何
如何计算make 0x66数据包的分区? ,就像sboot或boot