使用软件:慧荣量产工具(以SM3257ENBB量产工具为例)、反汇编工具C32Asm。2 x9 F, J5 A& ]- M' o
7 V: r! w$ {1 v, K0 t: B方法原理:量产工具读取U盘固件信息之后,会在文件夹下生成ISPChecksumRead.bin这个文件,它的16进制代码前面部分就是ISP,可以用16进制编辑工具截取出来。* o6 }; M8 w* C( m) Y3 D
' o( i) c; D& Y6 `; z6 J. ~
方法演示:, ]7 X/ C- W& i$ _- d" `
7 g7 Q% O6 U, V% f0 k0 e& J% t, |
1、打开量产工具文件夹,查看ISPChecksumRead.bin这个文件,修改日期是2016/3/12,这是旧文件,删除即可:
' x9 D# ]; A9 G) |
& }* R2 z6 b0 o/ M9 v- W( H: @- v3 ~& R6 w a9 V( n8 U
2、打开量产工具,点击“扫描USB”之后软件发现U盘,再点击下图红色方框位置的按钮,出现Dialog对话框,截图保存这些信息,以备量产出错之后恢复使用:
) N B9 U7 R- W5 @) x2 I* K0 C5 e' @; ~, T9 D
/ n& u+ ~/ d: t& V$ z
/ Y5 N1 `8 ^: W1 e0 I" q$ b8 M- T& \6 D3、按照步骤2,打开Dialog对话框后,会自动在量产工具文件夹下生成新的ISPChecksumRead.bin文件(如下图,本教程写于2016/5/19,所以新的ISPChecksumRead.bin文件日期变成了2016/5/19)。
$ Y$ O$ H. [3 @# r" _+ j, i$ h2 u% A; J5 W, G( R( w
K' I8 d7 w$ v9 X' W# g* N
4、先用16进制编辑工具C32Asm打开其他的固件文件,参考发现固件的前半部分都有一堆圆点加一行数字/字母,而尾部代码则是位于最后的一堆圆点加一行数字/字母,以此规律来查找新的ISPChecksumRead.bin文件的尾部代码:
9 G# M# x" z1 Z9 g7 i& J( g0 H! i( s* G9 n
- Z' C! s- }6 W9 H
5、顺次向下查找最后一堆圆点加一行数字/字母:
. d% A; b7 N4 b! c* v3 o5 q4 ?; E" o- T$ t
1 H0 i2 x: P; m
4 h! D- Z+ K) o% G; e" @& m V2 ?2 J2 `9 f+ Z- n+ [* N( S
6、前后对比发现下图m0822…这一行就是新固件最尾部的代码了:
1 J6 n# r7 Y, }# u
: J, ^4 N( J1 [& t$ C+ N8 S2 z$ E( |3 `) Q/ V' P7 Y
7、把尾部代码之后的垃圾代码全部删除: T% N" l( x# B" b" l4 I+ o
+ i5 b) ^1 M1 H% S
& S, ?) i" V3 }, g3 q! n1 B: ?
8、剩下的部分就是真正的ISP固件文件,保存,提取固件步骤结束:
7 D2 E& n+ P$ ?$ s8 n+ b- g, {
' D1 L1 ~6 Z) e: F4 Q4 t9 v0 v( [+ G
小结:$ E5 b9 N/ w) H- M* j
1 V& [6 p& `7 h i# \& t4 {; \6 n本次演示得到的ISP和公开的ISP各方面属性都是一样的,量产也能成功……至于固件的命名可以参考其他固件,自己心里有数就行。这样就有了属于自己U盘的固件,以后就不怕量产失败不能恢复了。
$ s9 ]* J1 t/ I& I- i& y* ~) ~ \/ N' j2 j! A" a: m1 E
|
|