本人09年购买PALM PRE 改本机 成功清零,教程见本网站,不再重复。
2 ^. @& g# ]) Y m2010年公司手机换卡,imsi,esn等全变了,需要重新写ESN,清MEID。 x; |) ~ }! d1 \+ k. _4 P/ w
这次清零耗时3个月,反复尝试各种版本ROM(1.0.3 一致到1.4),用网友提供的地址清零MEID和ESN,均不成功。
& ?* R2 M* j3 k/ c主要表现为
2 v: x" e4 a, m1 u(1)有的ROM ,MEID即使全部提供地址均清0,但RequestNVItemRead meid 仍为原值。
3 W+ L" m) D1 Y* x/ e( N* h" P% f/ n(2)有的ROM,MEID个别地址始终无法清零。一旦执行RequestNVItemRead meid,即恢复原值。) S- c2 \* H4 G+ a
(3)提供的MEID地址中,有些存放的不是本机的MEID,有的是全0.
! r( m) q" B4 e(4)ESN能够成功清0." l: c/ F9 x p# I, |7 }/ T
因此
" A( \* ~$ n8 Z P, P 在1.0.3版本下,采用UNICDMA3.1.4 进行全地址扫描,步长1024。结果地址段如下。
8 R1 a6 ^: e5 n& C! H- v. O# F23:04:24 : READABLE area at 0x00000000
% Y6 S" T: k* S3 O2 }23:04:27 : Unreadable area at 0x00001000* n2 o( N6 ]5 O8 @
0:49:56 : READABLE area at 0x001FB400
% A( J) {, | r$ P- T4 @0:49:59 : Unreadable area at 0x001FE000
$ s# G5 `1 z N: v- l: {: w0:50:21 : READABLE area at 0x00200000
q: _% u5 I: ^6 m+ U- |% A8 E3 ]0:50:24 : Unreadable area at 0x00201000! W/ w2 W) D3 B: ]* `0 k
0:50:33 : READABLE area at 0x00202000
' t5 m$ x6 e- C7 }7 N0:50:59 : Unreadable area at 0x0093C000
8 y7 C, `* K, O& c! o: b! ?0:51:08 : READABLE area at 0x0093D000 - ?- ~6 u J3 L/ Q
0:51:42 : Unreadable area at 0x012DE000
$ n& w }& K, U9 w/ k; p/ c6:26:11 : User break at address 0x01923400" X. [$ E' k3 L- R8 S/ r! K
! |2 \7 N9 f0 v0 W
' | L3 ]: C9 u' u9 M其中两个关键地址段中存放了有效的ESN和MEID信息,分别是1 r( E3 R/ L2 ]1 [, _# c/ F
0x00202000 开始 结束0x93Bff0 长度0x739FF09 S+ b/ e* p# x
0x0093D000 开始 结束0x012DDff0 长度9A0FF0
) D8 {$ z* }6 Z& u) G* ^+ `$ `) Y: h+ ]7 @7 t
将两段内存导出用ULTRA EDIT 查询 MEID 和ESN 获得所在行首的地址如下9 p2 ~ F0 }+ W) u3 {- Y: l3 b
9 F. M. D3 H; I4 Q' j! P
iMEID / C$ S* ~4 K2 y" Z% U% u& v
起始 0x202000* o V( ~+ y0 _4 i2 o" p" |! h& b0 B
行偏移量 0x37f30 0x37fe0 2 0x38010 0x38020 0x383f0 0x38400
2 C2 e* t5 ^( p3 {行绝对地址 0x239F30 0x239FE0 0x23A010 0x23A020 0x23A3F0 0x23A400
* _3 H7 Y* X3 u& I5 z2 P$ n c
- {* i* n/ b2 E( y起始 0x0093D000! S& C. u/ ^4 m* J {2 _# Z2 K
行偏移量 0x11f340 0x1687b0 0x5ebb20 0x5f0890 0x6f0c30
# X5 H1 U1 N# f. l行绝对地址 0xA5C340 0xAA57B0 0xF28B20 0xF2D890 0x102DC30# U7 ]3 f! a1 N" ~3 x; k
esn7 s) F: I5 c+ r* w5 a
起始 0x202000
: z- n) `) U/ U偏移0x383407 b) F, C' f4 P3 L g) |
绝对地址 0X23A340( S5 Z: K1 ?! q& Q# D6 B7 Q- W' \
& o! m- N! P9 r% B6 ?1 w行起始 0x0093D000. @8 w+ Z( x. H% {3 P
行偏移量 0x11EEC0 0x11F350 0x125610 0x1362C0 0x149180 0x1700F0 0x75E2A06 w0 ^+ f* P" c3 N; c" i: ]/ i
行绝对地址 0xA5BEC0 0xA5C350 0xA62610 0xA732C0 0xA86180 0xAAD0F0 0x109B2A0
0 U3 N1 V5 U+ P5 [4 A
4 l3 ~- y/ R' e# N1 E, W. Q! C$ L5 j6 Z1 l1 [
上述行地址有的在网友给出的地址表中,有的不在。 F- m5 a' d& D3 q1 `1 X6 j
对上述地址清零后,使用RequestNVItemRead meid 仍然显示本机MEID,证明无效。& \9 y, L# E$ T/ j8 M
-------------------------------------------------------------------------------------------------------------
1 r1 t; k0 i5 @$ e这也是我在本次MEID清零中,百思不得其解的地方。扫描内存,清零全部目标地址后,仍然失败。% p# _" V5 ?- `2 u3 S2 z
我怀疑,在清零的过程中,系统把MEID或者ESN写在另一个或几个新地址上,而这个写操作是登入QXDM professional之后执行的。0 k/ G# A: ?2 O. K8 y
在导出内存的时候,新地址上的值还不是ESN或者MEID。按此考虑,操作如下: X! Q" H; v/ a! _
(1)连接QXDM professional,meid_cd 设置为1,对所有第一遍内存扫出的MEID和ESN目标清零,然后MEID_cd设置为0./ X7 p1 }8 y! C$ c2 S
这时候 RequestNVItemRead meid 仍然是本机值,ESN已经为0.
1 m3 f C6 i7 b7 ~" R(2)退出QXDM professional,关闭屏幕右下角蓝色地球的图标,释放com口。手机不要重启,不要动。
C! u$ Q1 m/ l8 h6 `1 i(3)用UNIcdma重新导出两个关键地址段内容文本,用ultraedit再次扫描MEID 和ESN。
( s0 o9 \" K$ q* \* P* F7 p结果为:第一遍扫描中的MEID和ESN的地址均为0了,但MEID出现在了第一遍扫描结果以外的地址上,如下
* u) d. R9 ]+ x! eMEID / k* f n* g3 U' }$ K
起始 0x0093D000
0 Z; u. W, F3 U3 k4 b# P) i行偏移 0x8e2620
! F; i3 [" f' M. N1 j1 j- l行绝对地址 0x121F620: k3 n9 O0 u& M0 I
(4)关闭UNIcdma, 重新登入QXDM professional,修改meid_cd=1, 清零行0x121F620上的MEID,修改meid_cd=0., G% e- h' x2 a
执行RequestNVItemRead meid 确认meid已经清0.
$ x2 m$ r) N8 K8 d4 u) T: `, M( a4 X' Y- _3 R5 H5 Y
剩下工作就是写入ESN等数据,在此不再重复。
! I% V, m1 L4 d说明:(1)我给出的偏移地址和绝对地址是行地址,MEID就在这行上,但未必是本行第一个字节开始。
8 A9 ^% q5 l% ^+ _' s! j# ]; n0 v$ _(2)整个操作过程中,手机始终与PC保持mpt diag连接。不要重启。) C1 z1 S0 J. h
希望本文对大家有所帮助。
0 A" d6 U. h, f: v0 ^ I
+ T0 g! p. f3 D9 W$ s[ Edited by oni on 2010-6-1 11:19 ] |