使用软件:慧荣量产工具(以SM3257ENBB量产工具为例)、反汇编工具C32Asm。
) u: p4 g/ E: w+ |& s' i' V' A' S
6 w5 A6 k3 x N6 I' M方法原理:量产工具读取U盘固件信息之后,会在文件夹下生成ISPChecksumRead.bin这个文件,它的16进制代码前面部分就是ISP,可以用16进制编辑工具截取出来。
9 A5 Y P2 ], p% y$ R: s5 q% L, n: Q$ n7 s6 o* b4 H8 L
方法演示:7 r" y8 V* n2 m; f) e
9 F3 \: x# {- Z [. H" T4 U1、打开量产工具文件夹,查看ISPChecksumRead.bin这个文件,修改日期是2016/3/12,这是旧文件,删除即可:2 _0 J8 X- V; v: O- V$ Y0 J+ U
+ \4 E; k1 m0 Z
% O1 z$ R- G! n) g/ |( Q% s
2、打开量产工具,点击“扫描USB”之后软件发现U盘,再点击下图红色方框位置的按钮,出现Dialog对话框,截图保存这些信息,以备量产出错之后恢复使用:
5 b9 r+ L* v5 r2 ~/ ]$ |- M2 Y
" F/ v6 y5 i S) f, v) K/ v$ F
$ w# B1 _. J( \
4 C% c& [8 |0 i* G+ m3、按照步骤2,打开Dialog对话框后,会自动在量产工具文件夹下生成新的ISPChecksumRead.bin文件(如下图,本教程写于2016/5/19,所以新的ISPChecksumRead.bin文件日期变成了2016/5/19)。
) L! |$ _9 o/ \, U" p1 E# E+ N9 ?' n, @+ q9 @: x
8 p: J4 l) U' ]0 h
4、先用16进制编辑工具C32Asm打开其他的固件文件,参考发现固件的前半部分都有一堆圆点加一行数字/字母,而尾部代码则是位于最后的一堆圆点加一行数字/字母,以此规律来查找新的ISPChecksumRead.bin文件的尾部代码:
0 Z/ }4 R4 S/ [5 e3 J; w7 r r% f- C* }7 c2 D5 w
1 E7 a2 P; v2 A) \, ~' f
5、顺次向下查找最后一堆圆点加一行数字/字母:
Z6 L# e* d: J
& ^! e7 i2 K9 J/ Q$ l' ]. z! ~* C) O& j) |* t- n0 G' l m+ `
6 j+ `7 i( M; v* y! i% E: O% D5 m' s
. b9 S, Z0 E3 n! j8 W, H6、前后对比发现下图m0822…这一行就是新固件最尾部的代码了:
j& S( N7 T: O# z: T2 ]: W/ I6 r, Q4 K! F7 t1 H. S2 U
5 m, m% i( p& p% r1 b9 r1 q7、把尾部代码之后的垃圾代码全部删除:1 l+ c! t W, h; x) m
/ B$ Z& L0 y3 i7 F; Q/ _, w( b: E4 I8 x. Z$ \5 Z
8、剩下的部分就是真正的ISP固件文件,保存,提取固件步骤结束:
% S# B* `+ M4 C% c! e
7 X i; O6 K; c+ A0 q7 h! _, k) c" x5 j7 F) W/ ]
小结:: B+ T, g: D1 j
d1 o: |7 Z9 a! n9 e本次演示得到的ISP和公开的ISP各方面属性都是一样的,量产也能成功……至于固件的命名可以参考其他固件,自己心里有数就行。这样就有了属于自己U盘的固件,以后就不怕量产失败不能恢复了。9 h0 h5 J; h! H0 d- t
- Z, l0 n/ _$ m" c) B4 L6 N |
|