本人09年购买PALM PRE 改本机 成功清零,教程见本网站,不再重复。
# @; f' Q/ q7 g! }# R, g% ^3 f2010年公司手机换卡,imsi,esn等全变了,需要重新写ESN,清MEID。
" ^# K9 U* r# J) g$ r& m& B这次清零耗时3个月,反复尝试各种版本ROM(1.0.3 一致到1.4),用网友提供的地址清零MEID和ESN,均不成功。 z4 X% f5 r( |/ Z1 ?. J
主要表现为+ F4 w! J8 G% H8 u) ^, ]( o3 g
(1)有的ROM ,MEID即使全部提供地址均清0,但RequestNVItemRead meid 仍为原值。0 s6 @ h7 ?8 J$ [% v
(2)有的ROM,MEID个别地址始终无法清零。一旦执行RequestNVItemRead meid,即恢复原值。) o' e; ]) \' V2 C: I
(3)提供的MEID地址中,有些存放的不是本机的MEID,有的是全0.9 @" w* J) x" z, Y7 |5 x. P6 p
(4)ESN能够成功清0.- ^' y* R2 Y+ ]9 J6 {" M
因此
4 y% Y' J( F9 p6 ^8 X K 在1.0.3版本下,采用UNICDMA3.1.4 进行全地址扫描,步长1024。结果地址段如下。$ U" t. L. b( @/ n& y5 ~: O/ S
23:04:24 : READABLE area at 0x00000000 C1 p- N8 u$ P; t: U! h9 v
23:04:27 : Unreadable area at 0x00001000
- o% q+ a( ] @4 \) e1 W( W0:49:56 : READABLE area at 0x001FB400
, p3 ^1 d6 _+ \/ r9 o1 Y0:49:59 : Unreadable area at 0x001FE000 - ~' K" g3 v( i/ `+ c
0:50:21 : READABLE area at 0x00200000 ; _* [$ q5 D1 a9 f; N* P8 N/ _
0:50:24 : Unreadable area at 0x00201000
$ W/ i$ E' X+ e2 |( ~4 E" i0:50:33 : READABLE area at 0x00202000
! Q6 `( ?3 N9 D( g: [, H9 [0:50:59 : Unreadable area at 0x0093C000 + ^( s1 Z* ?$ d, @% a9 S$ g
0:51:08 : READABLE area at 0x0093D000
. W( M7 d; K) H' A2 ^4 X8 f, V+ n0:51:42 : Unreadable area at 0x012DE000
: d- X3 _: t# V% s3 H" p6:26:11 : User break at address 0x01923400
7 u# j# B7 D# A
9 A0 l* j/ s3 m/ ~1 K0 M/ U
1 E( N/ Y- u1 Q: Q% t b, m其中两个关键地址段中存放了有效的ESN和MEID信息,分别是7 @* C9 W, l+ V& ~! b# \
0x00202000 开始 结束0x93Bff0 长度0x739FF0: h6 [9 h; f1 [/ b2 ?8 s
0x0093D000 开始 结束0x012DDff0 长度9A0FF0 a" _) D2 _9 l( R/ [8 `* I
( f W: Q. r$ l/ v# _. u9 ?将两段内存导出用ULTRA EDIT 查询 MEID 和ESN 获得所在行首的地址如下1 y! {8 F: p" u" ^2 ?
) u" y: ^. q4 y O+ e
iMEID ( ^: C8 }* `# y
起始 0x202000
* {4 z* V; A. ]* ^3 L行偏移量 0x37f30 0x37fe0 2 0x38010 0x38020 0x383f0 0x38400 3 Y- S9 v0 ]3 f. s' S* I6 W% W
行绝对地址 0x239F30 0x239FE0 0x23A010 0x23A020 0x23A3F0 0x23A4001 C3 m1 j; J5 B# u
- J7 a8 h0 z8 `& X5 l+ A! k! g
起始 0x0093D000
9 w% q( s. r4 w& a& A5 D行偏移量 0x11f340 0x1687b0 0x5ebb20 0x5f0890 0x6f0c30
* m v) E4 p: W1 u/ B9 t' B行绝对地址 0xA5C340 0xAA57B0 0xF28B20 0xF2D890 0x102DC306 U) u/ L9 c9 [0 n' x' ]2 I S+ Z1 `
esn$ S* T5 j! _$ S' b6 c+ P3 [
起始 0x202000: G/ I' m" }, R: o2 `
偏移0x38340
/ E* e* Z2 z+ a% K5 f8 O" i% f" Y绝对地址 0X23A340- K) x' ^9 @% g/ `' g; t
, i9 s& a w' f. g" ? q- V4 a
行起始 0x0093D0006 p' w# R' c7 V7 ~9 G' M
行偏移量 0x11EEC0 0x11F350 0x125610 0x1362C0 0x149180 0x1700F0 0x75E2A0/ }& C `8 _ Y0 w
行绝对地址 0xA5BEC0 0xA5C350 0xA62610 0xA732C0 0xA86180 0xAAD0F0 0x109B2A0& l2 c& ^* g) }& }
% v: W4 Y% X* k' ]+ s+ t* ]
# |% y3 F4 Z( M: y7 @" w$ R
上述行地址有的在网友给出的地址表中,有的不在。) h& M7 o/ i0 E( `* n
对上述地址清零后,使用RequestNVItemRead meid 仍然显示本机MEID,证明无效。
+ ?- l. w0 O m" e+ v, w5 M-------------------------------------------------------------------------------------------------------------' y7 e4 W4 l; I" c4 m6 U( @
这也是我在本次MEID清零中,百思不得其解的地方。扫描内存,清零全部目标地址后,仍然失败。
, X# ]6 `7 O: a( W- V/ h我怀疑,在清零的过程中,系统把MEID或者ESN写在另一个或几个新地址上,而这个写操作是登入QXDM professional之后执行的。
8 [; k- I i- u! G( t e在导出内存的时候,新地址上的值还不是ESN或者MEID。按此考虑,操作如下$ J6 C2 V2 V) v
(1)连接QXDM professional,meid_cd 设置为1,对所有第一遍内存扫出的MEID和ESN目标清零,然后MEID_cd设置为0.
- d0 L5 p2 b' W: t0 ]4 w) S7 Q这时候 RequestNVItemRead meid 仍然是本机值,ESN已经为0.7 S- R0 `4 I6 Q5 k! ^, M' x7 E
(2)退出QXDM professional,关闭屏幕右下角蓝色地球的图标,释放com口。手机不要重启,不要动。
6 h& Y# ?' w" o" g" k7 k(3)用UNIcdma重新导出两个关键地址段内容文本,用ultraedit再次扫描MEID 和ESN。% u, V5 c4 y- C
结果为:第一遍扫描中的MEID和ESN的地址均为0了,但MEID出现在了第一遍扫描结果以外的地址上,如下
( W* B; ]% R& M, i! W4 Q1 o- G' a0 WMEID : X( L" Z, [9 E
起始 0x0093D000
% q" R" B* f; N7 b3 N8 D行偏移 0x8e2620& T- a% I a6 @9 ?) _4 H
行绝对地址 0x121F620
s2 w8 E1 n6 j, l7 _# u(4)关闭UNIcdma, 重新登入QXDM professional,修改meid_cd=1, 清零行0x121F620上的MEID,修改meid_cd=0.
4 r% F6 n4 G: U% `2 _9 ]# E, x4 G+ R执行RequestNVItemRead meid 确认meid已经清0.
- G9 I$ v, E+ s7 ~4 w3 g8 l- a
8 P" O6 j6 z$ \0 q a剩下工作就是写入ESN等数据,在此不再重复。, C P0 w; X1 o
说明:(1)我给出的偏移地址和绝对地址是行地址,MEID就在这行上,但未必是本行第一个字节开始。
: N3 p A3 t: I5 u7 \(2)整个操作过程中,手机始终与PC保持mpt diag连接。不要重启。
+ B2 t! R: k& W, w5 h# }希望本文对大家有所帮助。
# h6 H, g6 a! i! W0 c( W* V! n( C0 Z! S" O. p( _
[ Edited by oni on 2010-6-1 11:19 ] |