以下内容未经本人同意,禁止转载。
本来这篇教程应该发往SE区,但有鉴于UFS_SEMC_Tools需要UFS的维修设备,而且一般人根本用不到这个程序,所以经过再三考虑,发在此区。
UFS4 SEMC Tools是目前除了Cursier外,比较好的一个选择,它的前身是Sonics,可以对Sony Ericsson手机(F500、D500、D700、S700、V800、V802SE、Z800、Z1010等),基于Song Ericsson平台的LG 3G 手机(8110、8120、8120C、8130、8138等)以及飞利浦手机(330、350、530、535、620、630、820、822、825、826等)进行软件维护。
UFS4 SEMC Tools是有一个配套的仪器,但同时它还支持UFS的仪器,还有就是通过11针尾插的COM口刷机线进行刷机,可是通过COM口刷机线进行刷机的话,速度是慢得惊人,但你可以使用UFS COM口重定向软件将UFS连接后的设备模拟到COM口,那么速度就快很多了,UFS4 SEMC Tools目前拥有手机的ROM是比较齐全,它还可以备份手机的ROM,这样就可以为你提供多一套专门刷索爱手机的设备,下面将对该软件做一个全面的介绍。
UFS4 SEMC Tools可以完成以下工作:
解锁
刷机
更改语言
修复
升级
取消营运商对手机的某些功能定制
以及其它一些功能
更多的新功能以及手机品牌将会陆续增加。
1 Sony Ericsson 篇
1.1 界面功能详解
A. Main Firmware File(主程序文件):选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的主程序文件。
B. File System Image File(语言包文件):选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的语言包文件。
C. Firmware Upgrade Pack File(升级包文件):选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的升级包。
D. Gdfs or Script File(GDFS或脚本文件):选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的GDFS文件,或者选择你按照既定的指令创建的脚本文件。
E. Connect Sonics / Disconnect(连接设备 / 断开连接):连接或者断开连接刷机设备。
F. Flash Files(写字库):in combination with different files it is to used to flash your phone with latest firmware, do a language change or decustomizing.
G. Read GDFS(读取 GDFS):将手机中的GDFS区域读出并进行备份。
H. Recover phone(恢复手机):
I. Customize(写入脚本):自定义手机的内置文件。例如更改预设的短信提示铃声、开机铃声或图片。
J. Stop operation(取消操作):可以终止已经开始的操作,例如刷机、解锁,以及其它操作。注意:只有在确实有需要的时候才使用,因为终止已经开始的操作,可能会导致手机报废。
K. Unlock/Repair(解锁/修复): in combination with different files it is used to unlock your phone, repair your phone and so on.
L. Write GDFS(写入 GDFS):用于修复GDFS区域遭到损坏的手机。
M. Read Data(读取数据):读出手机存放固件和GDFS区域中的数据并进行备份,但要注意一点,用作备份的手机要全新未开封的,也就是说该手机从出厂到你手上未开过机,那么如何分辨呢?在你备份资料完成之后,开启手机,如果屏幕显示一个漏斗或者是显示『Please Wait』的字样,那么该手机就是没有开过机的了,这样备份出来的Flash才能够用于写入其它的手机。
N. Exit(退出):退出程序。
O. Phone Type(手机型号):通过该下拉列表,可以选择你所要对哪个型号的手机进行软件维护。
P. Start Addr(起始地址):
Q. Length(长度):
R. Device(设备):
S. Speed(速度):一般来讲波特率的默认值为921600 bps。(除了个别手机,如V800、Z1010和LG 3G,程序会将波特率自动设置为465800 bps,所以你不需要手动去选择速度的,程序会为你自动选择最佳的速度)。
T. Scan Port(扫描端口):程序会扫描支持的设备或者端口是否已经连接手机,如果已经连接,则自动选择。
U. Phone Info(手机信息):
V. Clear Names(清除文件名):
W. K700 freezed(K700定屏):
X. Customize Fs(定制文件系统):
Y. Repair with GDFS(用GDFS修复手机):
Z. Change Certificate(改变证书):
AA. Current Certificate(证书列表):
BB. 信息窗口:显示对手机操作结果及程序相应操作的信息。
1.2 如何选择刷机文件
你可以前往UFS4 SEMC Tools的售后支持站点(www.sonicsbox.com/support.asp)下载所需要的文件。
A. Main Firmware File(*.bin 或者 *. bin.snx)
B. File System Image File(*.bin 或者 *. bin.snx)
C. Firmware Upgrade Pack File(*.bin 或者 *. bin.snx)
D. Gdfs or Script File(*.bin)
1.3 各种操作详解
注意:
请在执行任何操作前,确认你使用UFS4 SEMC Tools的原版,以及外置3v电池有足够的电量。
请记住所有操作都必须关闭手机电源,并且已经取出手机内的SIM卡。
1.3.1 对手机进行『解锁/修复』
关闭手机的电源,接上刷机线,选择好对应的手机型号,然后按下 『Unlock/Repair』 或 『解锁/修复』 按钮,如无其它问题,操作会很快完成。
完成后取下手机,这时所有锁都会被解除,话机锁会被重设为『0000』,这时重新放入SIM卡和电池,开机检查是否已经对手机解锁成功。
具体信息如下:
注意:
在执行操作的过程的时候,如果一直出现提示『手机开机...』的提示,点击『取消操作』按钮,请取下手机,并且卸下电池,重新装好,再连接上刷机线,再进行操作,如下图所示:
有时候当你的手机死掉的话,在进行解锁和修复操作时你需要写入一份正确的GDFS文件。具体操作如下:
1) 在『Gdfs or Script file』栏里选择一份正确的GDFS文件
2) 然后勾上『Repair with GDFS』,如图:
3) 最后按下 『Unlock/Repair』 或 『解锁/修复』 按钮即可。
1.3.2 升级手机资料
通常你只需要写入主程序(约 15Mb 大小),和语言包(约 5Mb 大小)。
1) 在『Main firmware file』或『主程序文件』区域内,选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的主程序文件。
例如:k500c_r2aa_china.bin.snx
2) 在『File system image』或『语言包文件』区域内,选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的语言文件。
例如:k500c_r2aa_china.fs.bin.snx
注意:主程序与语言包的版本要匹配。
3) 按下『Flash Files』或『写字库』按钮将会进行刷机操作。这时你需要仔细留意信息窗口的每一个提示。(例如:开启手机电源或者重新插上电池等信息)。
4) 完成后,取下手机。重新插上电池和SIM卡,然后开机。如果手机被锁定,那么你需要在刷机后使用『Unlock/Repair』 或 『解锁/修复』功能对手机进行修复操作。
1.3.3 写入GDFS
1) 首先按下『Write GDFS』或『写入 GDFS』按钮,然后会出现一个『GDFS FILE LOADING』的对话框,在输入框里,选择你事先通过『Read GDFS』或『读取 GDFS』备份好的GDFS文件或者从UFS4 SEMC Tools的支持站点下载的GDFS文件。
2) 这时你需要仔细留意信息窗口的每一个提示。(例如:开启手机电源或者重新插上电池等信息)。
3) 完成后,取下手机。重新插上电池和SIM卡,然后开机。
1.3.4 定制服务
1) 在『Gdfs or Script file』或『杂项文件』区域里,选择你自制的脚本文件,然后按下『Customize』或『写入脚本』按钮。(至于如何编写定制脚本文件,请参阅『脚本定制篇』)。
2) 这时你需要仔细留意信息窗口的每一个提示。(例如:开启手机电源或者重新插上电池等信息)。
3) 完成后,取下手机。重新插上电池和SIM卡,然后开机。
1.3.5 读取数据
1) 如果你需要读取手机内的资料,请参照以下提示的地址及长度。不同型号的手机的起始地址都有所不同:
此处不进行详细列表,具体信息自己寻找。
2) 点击『Read Data』或『读取数据』按钮。
3) 完成后,在UFS4 SEMC Tools所在的目录内会生成一个名为:『data_起始地址.bin』。文件名称含有起始地址。
1.3.6 读取 GDFS
1) 首先按下『Read GDFS』或『读取 GDFS』按钮,然后会出现一个GDFS文件保存对话框,在输入框内,输入你想要保存的文件名称。
2) 这时你需要仔细留意信息窗口的每一个提示。(例如:开启手机电源或者重新插上电池等信息)。
3) 备份完GDFS文件后,取下手机即可。
1.3.7 修复手机
1) 如果你的手机无法正常启动,那么修复手机的功能或许对你有所帮助,只需要点击『Recover Phone』或『恢复手机』按钮,那么其它事情就不需要你去操心了,程序会自动完成一切所需要做的事情。
2) 请仔细留意信息窗口提示用户所需要做的动作。(例如:开启手机的电源,或者是重新插入电池等)。
3) 在完成后,取下手机。重新插入SIM卡和电池,然后按下电源开关,开启手机。
1.4 脚本定制
脚本定制是让你可以自行删除或替换手机固件区域中的文件,从而达到个性化的需求,而目前这个功能确被很多人忽略了,下面就这个功能进行详述。
1.5 常见问题解答
问题 1、手机不开机,屏幕没有任何显示(首先要排除不是硬件故障)。
解决办法:
按照正常方法联机、写入资料尝试解决,如果情况依旧,就需要对手机的EEPROM进行擦除操作,步骤如下:
1、仅在『File system image』或『语言包文件』那里选择『xxx_CIDxx_EROM_SSW.bin.snx』文件,然后写入。
2、写入完整的主程序及语言包的资料,留意刷新过程中有没有其他出错,如果显示写入时的信息一切正常,应该就可以开机了。
问题 2、开机屏幕闪了一下,继而黑屏关机,或者出现索爱标记后关机,又或者不停闪屏。)。
解决办法:
最常见的不开机情况,直接刷入软件,在写入新语言包时,如果在最后做数据处理提示GDFS拒绝引导信息,那么,多数都是GDFS区域遭到破坏而引起的,按一下清除文件名,在『杂项文件』选择栏里选择『xxx_GDFS.bin』,将『用GDFS修复手机』选项勾上,再按『Unlock/Repair』 或 『解锁/修复』按钮就可以了。
问题 3、刷机后第一次开机在『Please Wait』一开始就停在那里不动了。
解决办法:
在『问题2』里面的解决办法简单提到过,出现这种情况一般都是GDFS区域问题,一般使用『用GDFS文件修复手机』这功能即可解决,如果仍然出现其他问题,再写一次语言包资料。
问题 4、刷机后第一次开机在『Please Wait』跑到一半就停在那里不动了。
解决办法:
参考『问题1』里面的解决办法对手机进行修复操作。
问题 5、过完『Please Wait』后提示以下信息,中文为『配置失败,请与供应商联系』』,英文为『Configuration error. Please contact your network operator or service center』,或者是不插SIM卡开机正常,装SIM卡开机定屏。
解决办法:
再写一次语言包资料,如果试了很多次都是这样,那么有可能是资料本身有问题,尝试一下更换其它资料试一下。
问题 6、对话机进行解锁操作后,话机插入SIM卡可以开机,但无法找到网络。
解决办法:
应该是话机的GDFS区域遭到破解,写入GDFS文件,再进行解锁操作应该可以解决。
问题 7、写完资料后,手机开机,出现不停的闪屏。
解决办法:
不要加载主程序资料,只加载语言包资料,然后写入即可。
2 LG 篇
2.1 界面功能详解
2.2 各种操作详解
2.3 常见问题解答
3 Sharp 篇
3.1 界面功能详解
3.2 各种操作详解
3.3 常见问题解答
4 刷空板篇
4.1 界面功能详解
4.2 各种操作详解
附带知识
下面的内容本来是外国一位仁兄对SE firmware文件头的剖析,原文为英文,我稍作翻译给大家了解一下,因为原文中某些地方比较难翻译,所以翻译中的某些修辞不对,请多包涵。
我对索爱手机的固件资料进行了反编译,下面简单的描述一下:
文件头至少有 0x380 个字节。如果是多区块的资料,那么每个区块都有一个简短的区块头,描述该区块写入的起始地址和字节数。
文件头主要包涵以下信息
偏移量:
0x0000-0003: 0xBABE
0x0010-0010: CID 值(例如:29 或 36)
0x02E8-02EB: 资料中的区块数目(#blocks) (低位在后)
0x02EC-02EF: 首个区块的长度(低位在后)
0x0300-037F: 128 个字节的动态哈希数据
0x0380-......: 每个区块附加的一个检验字节位(hash),so there are #blocks bytes
0x0380+(#blocks) 首个起始区块
每个区块的头部长度为8个字节:
0x0000-0003: 资料的起始地址(例如:0x44000000)(低位在后)
0x0004-0007: 资料的字节数(低位在后)
本来这篇教程应该发往SE区,但有鉴于UFS_SEMC_Tools需要UFS的维修设备,而且一般人根本用不到这个程序,所以经过再三考虑,发在此区。
UFS4 SEMC Tools是目前除了Cursier外,比较好的一个选择,它的前身是Sonics,可以对Sony Ericsson手机(F500、D500、D700、S700、V800、V802SE、Z800、Z1010等),基于Song Ericsson平台的LG 3G 手机(8110、8120、8120C、8130、8138等)以及飞利浦手机(330、350、530、535、620、630、820、822、825、826等)进行软件维护。
UFS4 SEMC Tools是有一个配套的仪器,但同时它还支持UFS的仪器,还有就是通过11针尾插的COM口刷机线进行刷机,可是通过COM口刷机线进行刷机的话,速度是慢得惊人,但你可以使用UFS COM口重定向软件将UFS连接后的设备模拟到COM口,那么速度就快很多了,UFS4 SEMC Tools目前拥有手机的ROM是比较齐全,它还可以备份手机的ROM,这样就可以为你提供多一套专门刷索爱手机的设备,下面将对该软件做一个全面的介绍。
UFS4 SEMC Tools可以完成以下工作:
解锁
刷机
更改语言
修复
升级
取消营运商对手机的某些功能定制
以及其它一些功能
更多的新功能以及手机品牌将会陆续增加。
1 Sony Ericsson 篇
1.1 界面功能详解
A. Main Firmware File(主程序文件):选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的主程序文件。
B. File System Image File(语言包文件):选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的语言包文件。
C. Firmware Upgrade Pack File(升级包文件):选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的升级包。
D. Gdfs or Script File(GDFS或脚本文件):选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的GDFS文件,或者选择你按照既定的指令创建的脚本文件。
E. Connect Sonics / Disconnect(连接设备 / 断开连接):连接或者断开连接刷机设备。
F. Flash Files(写字库):in combination with different files it is to used to flash your phone with latest firmware, do a language change or decustomizing.
G. Read GDFS(读取 GDFS):将手机中的GDFS区域读出并进行备份。
H. Recover phone(恢复手机):
I. Customize(写入脚本):自定义手机的内置文件。例如更改预设的短信提示铃声、开机铃声或图片。
J. Stop operation(取消操作):可以终止已经开始的操作,例如刷机、解锁,以及其它操作。注意:只有在确实有需要的时候才使用,因为终止已经开始的操作,可能会导致手机报废。
K. Unlock/Repair(解锁/修复): in combination with different files it is used to unlock your phone, repair your phone and so on.
L. Write GDFS(写入 GDFS):用于修复GDFS区域遭到损坏的手机。
M. Read Data(读取数据):读出手机存放固件和GDFS区域中的数据并进行备份,但要注意一点,用作备份的手机要全新未开封的,也就是说该手机从出厂到你手上未开过机,那么如何分辨呢?在你备份资料完成之后,开启手机,如果屏幕显示一个漏斗或者是显示『Please Wait』的字样,那么该手机就是没有开过机的了,这样备份出来的Flash才能够用于写入其它的手机。
N. Exit(退出):退出程序。
O. Phone Type(手机型号):通过该下拉列表,可以选择你所要对哪个型号的手机进行软件维护。
P. Start Addr(起始地址):
Q. Length(长度):
R. Device(设备):
S. Speed(速度):一般来讲波特率的默认值为921600 bps。(除了个别手机,如V800、Z1010和LG 3G,程序会将波特率自动设置为465800 bps,所以你不需要手动去选择速度的,程序会为你自动选择最佳的速度)。
T. Scan Port(扫描端口):程序会扫描支持的设备或者端口是否已经连接手机,如果已经连接,则自动选择。
U. Phone Info(手机信息):
V. Clear Names(清除文件名):
W. K700 freezed(K700定屏):
X. Customize Fs(定制文件系统):
Y. Repair with GDFS(用GDFS修复手机):
Z. Change Certificate(改变证书):
AA. Current Certificate(证书列表):
BB. 信息窗口:显示对手机操作结果及程序相应操作的信息。
1.2 如何选择刷机文件
你可以前往UFS4 SEMC Tools的售后支持站点(www.sonicsbox.com/support.asp)下载所需要的文件。
A. Main Firmware File(*.bin 或者 *. bin.snx)
B. File System Image File(*.bin 或者 *. bin.snx)
C. Firmware Upgrade Pack File(*.bin 或者 *. bin.snx)
D. Gdfs or Script File(*.bin)
1.3 各种操作详解
注意:
请在执行任何操作前,确认你使用UFS4 SEMC Tools的原版,以及外置3v电池有足够的电量。
请记住所有操作都必须关闭手机电源,并且已经取出手机内的SIM卡。
1.3.1 对手机进行『解锁/修复』
关闭手机的电源,接上刷机线,选择好对应的手机型号,然后按下 『Unlock/Repair』 或 『解锁/修复』 按钮,如无其它问题,操作会很快完成。
完成后取下手机,这时所有锁都会被解除,话机锁会被重设为『0000』,这时重新放入SIM卡和电池,开机检查是否已经对手机解锁成功。
具体信息如下:
注意:
在执行操作的过程的时候,如果一直出现提示『手机开机...』的提示,点击『取消操作』按钮,请取下手机,并且卸下电池,重新装好,再连接上刷机线,再进行操作,如下图所示:
有时候当你的手机死掉的话,在进行解锁和修复操作时你需要写入一份正确的GDFS文件。具体操作如下:
1) 在『Gdfs or Script file』栏里选择一份正确的GDFS文件
2) 然后勾上『Repair with GDFS』,如图:
3) 最后按下 『Unlock/Repair』 或 『解锁/修复』 按钮即可。
1.3.2 升级手机资料
通常你只需要写入主程序(约 15Mb 大小),和语言包(约 5Mb 大小)。
1) 在『Main firmware file』或『主程序文件』区域内,选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的主程序文件。
例如:k500c_r2aa_china.bin.snx
2) 在『File system image』或『语言包文件』区域内,选择从UFS4 SEMC Tools售后支持站点里下载到对应手机型号的语言文件。
例如:k500c_r2aa_china.fs.bin.snx
注意:主程序与语言包的版本要匹配。
3) 按下『Flash Files』或『写字库』按钮将会进行刷机操作。这时你需要仔细留意信息窗口的每一个提示。(例如:开启手机电源或者重新插上电池等信息)。
4) 完成后,取下手机。重新插上电池和SIM卡,然后开机。如果手机被锁定,那么你需要在刷机后使用『Unlock/Repair』 或 『解锁/修复』功能对手机进行修复操作。
1.3.3 写入GDFS
1) 首先按下『Write GDFS』或『写入 GDFS』按钮,然后会出现一个『GDFS FILE LOADING』的对话框,在输入框里,选择你事先通过『Read GDFS』或『读取 GDFS』备份好的GDFS文件或者从UFS4 SEMC Tools的支持站点下载的GDFS文件。
2) 这时你需要仔细留意信息窗口的每一个提示。(例如:开启手机电源或者重新插上电池等信息)。
3) 完成后,取下手机。重新插上电池和SIM卡,然后开机。
1.3.4 定制服务
1) 在『Gdfs or Script file』或『杂项文件』区域里,选择你自制的脚本文件,然后按下『Customize』或『写入脚本』按钮。(至于如何编写定制脚本文件,请参阅『脚本定制篇』)。
2) 这时你需要仔细留意信息窗口的每一个提示。(例如:开启手机电源或者重新插上电池等信息)。
3) 完成后,取下手机。重新插上电池和SIM卡,然后开机。
1.3.5 读取数据
1) 如果你需要读取手机内的资料,请参照以下提示的地址及长度。不同型号的手机的起始地址都有所不同:
此处不进行详细列表,具体信息自己寻找。
2) 点击『Read Data』或『读取数据』按钮。
3) 完成后,在UFS4 SEMC Tools所在的目录内会生成一个名为:『data_起始地址.bin』。文件名称含有起始地址。
1.3.6 读取 GDFS
1) 首先按下『Read GDFS』或『读取 GDFS』按钮,然后会出现一个GDFS文件保存对话框,在输入框内,输入你想要保存的文件名称。
2) 这时你需要仔细留意信息窗口的每一个提示。(例如:开启手机电源或者重新插上电池等信息)。
3) 备份完GDFS文件后,取下手机即可。
1.3.7 修复手机
1) 如果你的手机无法正常启动,那么修复手机的功能或许对你有所帮助,只需要点击『Recover Phone』或『恢复手机』按钮,那么其它事情就不需要你去操心了,程序会自动完成一切所需要做的事情。
2) 请仔细留意信息窗口提示用户所需要做的动作。(例如:开启手机的电源,或者是重新插入电池等)。
3) 在完成后,取下手机。重新插入SIM卡和电池,然后按下电源开关,开启手机。
1.4 脚本定制
脚本定制是让你可以自行删除或替换手机固件区域中的文件,从而达到个性化的需求,而目前这个功能确被很多人忽略了,下面就这个功能进行详述。
1.5 常见问题解答
问题 1、手机不开机,屏幕没有任何显示(首先要排除不是硬件故障)。
解决办法:
按照正常方法联机、写入资料尝试解决,如果情况依旧,就需要对手机的EEPROM进行擦除操作,步骤如下:
1、仅在『File system image』或『语言包文件』那里选择『xxx_CIDxx_EROM_SSW.bin.snx』文件,然后写入。
2、写入完整的主程序及语言包的资料,留意刷新过程中有没有其他出错,如果显示写入时的信息一切正常,应该就可以开机了。
问题 2、开机屏幕闪了一下,继而黑屏关机,或者出现索爱标记后关机,又或者不停闪屏。)。
解决办法:
最常见的不开机情况,直接刷入软件,在写入新语言包时,如果在最后做数据处理提示GDFS拒绝引导信息,那么,多数都是GDFS区域遭到破坏而引起的,按一下清除文件名,在『杂项文件』选择栏里选择『xxx_GDFS.bin』,将『用GDFS修复手机』选项勾上,再按『Unlock/Repair』 或 『解锁/修复』按钮就可以了。
问题 3、刷机后第一次开机在『Please Wait』一开始就停在那里不动了。
解决办法:
在『问题2』里面的解决办法简单提到过,出现这种情况一般都是GDFS区域问题,一般使用『用GDFS文件修复手机』这功能即可解决,如果仍然出现其他问题,再写一次语言包资料。
问题 4、刷机后第一次开机在『Please Wait』跑到一半就停在那里不动了。
解决办法:
参考『问题1』里面的解决办法对手机进行修复操作。
问题 5、过完『Please Wait』后提示以下信息,中文为『配置失败,请与供应商联系』』,英文为『Configuration error. Please contact your network operator or service center』,或者是不插SIM卡开机正常,装SIM卡开机定屏。
解决办法:
再写一次语言包资料,如果试了很多次都是这样,那么有可能是资料本身有问题,尝试一下更换其它资料试一下。
问题 6、对话机进行解锁操作后,话机插入SIM卡可以开机,但无法找到网络。
解决办法:
应该是话机的GDFS区域遭到破解,写入GDFS文件,再进行解锁操作应该可以解决。
问题 7、写完资料后,手机开机,出现不停的闪屏。
解决办法:
不要加载主程序资料,只加载语言包资料,然后写入即可。
2 LG 篇
2.1 界面功能详解
2.2 各种操作详解
2.3 常见问题解答
3 Sharp 篇
3.1 界面功能详解
3.2 各种操作详解
3.3 常见问题解答
4 刷空板篇
4.1 界面功能详解
4.2 各种操作详解
附带知识
下面的内容本来是外国一位仁兄对SE firmware文件头的剖析,原文为英文,我稍作翻译给大家了解一下,因为原文中某些地方比较难翻译,所以翻译中的某些修辞不对,请多包涵。
我对索爱手机的固件资料进行了反编译,下面简单的描述一下:
文件头至少有 0x380 个字节。如果是多区块的资料,那么每个区块都有一个简短的区块头,描述该区块写入的起始地址和字节数。
文件头主要包涵以下信息
偏移量:
0x0000-0003: 0xBABE
0x0010-0010: CID 值(例如:29 或 36)
0x02E8-02EB: 资料中的区块数目(#blocks) (低位在后)
0x02EC-02EF: 首个区块的长度(低位在后)
0x0300-037F: 128 个字节的动态哈希数据
0x0380-......: 每个区块附加的一个检验字节位(hash),so there are #blocks bytes
0x0380+(#blocks) 首个起始区块
每个区块的头部长度为8个字节:
0x0000-0003: 资料的起始地址(例如:0x44000000)(低位在后)
0x0004-0007: 资料的字节数(低位在后)