使用软件:慧荣量产工具(以SM3257ENBB量产工具为例)、反汇编工具C32Asm。
+ g P7 X N/ E' I$ F9 Q+ M" x" r/ |3 J' c( x2 ]- f- Q
方法原理:量产工具读取U盘固件信息之后,会在文件夹下生成ISPChecksumRead.bin这个文件,它的16进制代码前面部分就是ISP,可以用16进制编辑工具截取出来。
! ?! l' h6 }0 a7 G
; x* Z6 P& x' ]: e S" r/ N方法演示:6 M: |) ?* |2 i) c8 F- T
8 B( _4 O' z6 s9 h# ^$ i# r1、打开量产工具文件夹,查看ISPChecksumRead.bin这个文件,修改日期是2016/3/12,这是旧文件,删除即可:
3 U; d# d9 F; B$ L* Z9 j7 O! t' M1 g/ w. u1 X+ {+ x
' i7 d$ E, K1 Z2、打开量产工具,点击“扫描USB”之后软件发现U盘,再点击下图红色方框位置的按钮,出现Dialog对话框,截图保存这些信息,以备量产出错之后恢复使用:
6 {. w8 A1 i9 w7 m" ?3 \9 u: j9 D# n$ \' o5 o
8 P- v! m2 D2 |- R$ r- q& ` H' V* k' B7 D
3、按照步骤2,打开Dialog对话框后,会自动在量产工具文件夹下生成新的ISPChecksumRead.bin文件(如下图,本教程写于2016/5/19,所以新的ISPChecksumRead.bin文件日期变成了2016/5/19)。/ P: V8 k. I6 ]4 |; W
, ]( y% p5 s+ z
9 U9 b! b ]1 w7 q) J: t! ]4、先用16进制编辑工具C32Asm打开其他的固件文件,参考发现固件的前半部分都有一堆圆点加一行数字/字母,而尾部代码则是位于最后的一堆圆点加一行数字/字母,以此规律来查找新的ISPChecksumRead.bin文件的尾部代码:* A0 G) C4 M; L% v( F: [5 y
% a2 K0 s' a4 Q N
t2 ^3 r% M1 a1 M9 U7 d5、顺次向下查找最后一堆圆点加一行数字/字母:$ K/ C0 s8 k! ~6 r9 I5 F
5 u& Q9 X4 v) ^1 K. f# I: H
. f$ N/ L: Q3 C8 G' d5 [3 J" @; f0 B% x$ ?
6 |6 X7 p- T- x/ A' h( a! Q" a, N9 g6、前后对比发现下图m0822…这一行就是新固件最尾部的代码了:4 F9 O5 C. o7 K! J. d5 F- i
% z$ h8 U* u; B9 c- j& C3 s: F8 X
: x/ i ]/ y8 j$ Z
7、把尾部代码之后的垃圾代码全部删除:" F" Z( b+ V5 I; _
7 g1 p4 H1 p( f! }! ?; z7 [0 i& T6 G4 H6 g3 o$ Z
8、剩下的部分就是真正的ISP固件文件,保存,提取固件步骤结束:: C. @8 @: l! u i6 E) A6 G
3 B; x% U8 F1 X2 Y8 N2 @2 W
3 m( m! Q3 Q" S( ?小结:) O! [- j+ b4 u$ X
0 @! `: m# `& _' f) }8 s本次演示得到的ISP和公开的ISP各方面属性都是一样的,量产也能成功……至于固件的命名可以参考其他固件,自己心里有数就行。这样就有了属于自己U盘的固件,以后就不怕量产失败不能恢复了。
* W! \6 O4 @7 ?& H. s8 R/ x
6 e6 C: Q9 B8 [. _) @1 O |
|