使用软件:慧荣量产工具(以SM3257ENBB量产工具为例)、反汇编工具C32Asm。' Z6 z$ E G7 _8 E) A5 z* \
7 D8 L. n7 ]# o' i/ Y* n0 E
方法原理:量产工具读取U盘固件信息之后,会在文件夹下生成ISPChecksumRead.bin这个文件,它的16进制代码前面部分就是ISP,可以用16进制编辑工具截取出来。
1 t( |- Y* q6 O" F/ e. Z7 {$ X# F- F9 b9 L; ?0 }
方法演示:* g1 H; W7 p, e. J/ ^' K; {
& k6 k0 J3 Y4 _* @4 G0 n0 E1 A
1、打开量产工具文件夹,查看ISPChecksumRead.bin这个文件,修改日期是2016/3/12,这是旧文件,删除即可:
) y- I# ^% g y! C" _
: a) m; o8 E ?9 z
8 N4 ~0 H3 I% b# R# h3 A2、打开量产工具,点击“扫描USB”之后软件发现U盘,再点击下图红色方框位置的按钮,出现Dialog对话框,截图保存这些信息,以备量产出错之后恢复使用:5 _! {6 t$ h9 f" Z8 N/ \. K
3 s& ~# B& }( I t, P- D, v# d$ a" @/ q' o8 b; p; g2 N
' z9 `4 `- Q6 n- O' T
3、按照步骤2,打开Dialog对话框后,会自动在量产工具文件夹下生成新的ISPChecksumRead.bin文件(如下图,本教程写于2016/5/19,所以新的ISPChecksumRead.bin文件日期变成了2016/5/19)。+ O, P7 @6 P( O5 @ C# C' E
, ]% [( `* s; W5 L* T. V' u
0 \& S2 }' P7 f7 _0 C8 Y4、先用16进制编辑工具C32Asm打开其他的固件文件,参考发现固件的前半部分都有一堆圆点加一行数字/字母,而尾部代码则是位于最后的一堆圆点加一行数字/字母,以此规律来查找新的ISPChecksumRead.bin文件的尾部代码:
" a, L. a7 [8 o& o/ ~ v1 K# U. z+ `* C0 r) S. B
1 j+ E7 U" B K4 ]) L7 ~
5、顺次向下查找最后一堆圆点加一行数字/字母:
3 E% Z6 s# I, _" j
3 j- V! Z/ ?5 `6 }3 \* V# m5 q9 O9 L2 Y
: m4 h6 v- [& Z* a2 v
7 H, ^, b9 |' |$ k6、前后对比发现下图m0822…这一行就是新固件最尾部的代码了:* Q/ ]& G, o. G3 @
0 O8 h0 S$ C) v
$ V- _* `2 J4 D+ X3 L3 }& _7、把尾部代码之后的垃圾代码全部删除:" n( b% q6 \2 v
& I; U# I8 @. Z
7 N. Q, ?: n0 ~$ c- d8、剩下的部分就是真正的ISP固件文件,保存,提取固件步骤结束:# ^& C0 L& G0 V4 i" I
' a# @9 z" W% ], w, }0 A+ B
, Y9 t6 @0 J$ Z5 {* U: e小结:
% j! |$ o( T0 q6 H6 n2 |; P9 J# R3 S' }9 |1 T+ \: W
本次演示得到的ISP和公开的ISP各方面属性都是一样的,量产也能成功……至于固件的命名可以参考其他固件,自己心里有数就行。这样就有了属于自己U盘的固件,以后就不怕量产失败不能恢复了。
+ W3 l# E7 r8 _9 P8 x2 [; s, `9 L7 m4 _' X/ |/ g
|
|