本人09年购买PALM PRE 改本机 成功清零,教程见本网站,不再重复。4 u. U4 B+ Q( o, R2 [
2010年公司手机换卡,imsi,esn等全变了,需要重新写ESN,清MEID。& P2 d! {( l) ?2 D9 J: K
这次清零耗时3个月,反复尝试各种版本ROM(1.0.3 一致到1.4),用网友提供的地址清零MEID和ESN,均不成功。
0 J5 m4 b" p! v; L3 h* \主要表现为- _" d7 u% x+ r0 g3 U
(1)有的ROM ,MEID即使全部提供地址均清0,但RequestNVItemRead meid 仍为原值。
: U0 z) Z3 W* L9 c; Z' H(2)有的ROM,MEID个别地址始终无法清零。一旦执行RequestNVItemRead meid,即恢复原值。+ p3 v7 |- g$ {8 k1 I: C8 A
(3)提供的MEID地址中,有些存放的不是本机的MEID,有的是全0.
; H/ W) l6 h, d) b t(4)ESN能够成功清0.
M& o% T- ^, H; ?+ L. T* U: b因此0 M# z5 E, m' }' b" P2 R$ h
在1.0.3版本下,采用UNICDMA3.1.4 进行全地址扫描,步长1024。结果地址段如下。4 ?# E) |- x/ ?- Y4 B$ Q4 @7 y
23:04:24 : READABLE area at 0x00000000
3 K- ]$ R0 g+ j! F5 g0 N8 I% [23:04:27 : Unreadable area at 0x00001000
" P+ ~5 u% @4 O; V. [! v. N- r0:49:56 : READABLE area at 0x001FB400
& [" X7 L6 h, _/ E5 d1 h. e$ b0:49:59 : Unreadable area at 0x001FE000
+ Z6 q1 M9 g/ y( @0:50:21 : READABLE area at 0x00200000
' @- u: [- h5 f/ W9 U# C1 H0:50:24 : Unreadable area at 0x00201000% u3 B! S# P5 I$ l0 U+ u
0:50:33 : READABLE area at 0x00202000 2 i: W2 ?6 H9 {
0:50:59 : Unreadable area at 0x0093C000 8 O9 Y: m8 q& A0 k. q: i
0:51:08 : READABLE area at 0x0093D000
n$ l- h6 C& n3 R, n/ S' D9 {% @2 R0:51:42 : Unreadable area at 0x012DE000
5 p5 h2 E) m* p- B/ K" }% L$ O1 C6:26:11 : User break at address 0x01923400
' F' o" x9 l6 F' C
4 q4 F$ T9 i- l, m; m& A
/ m2 \: _! n2 v5 n& c其中两个关键地址段中存放了有效的ESN和MEID信息,分别是
4 e4 M. C2 r i+ |! v6 t* l; C5 q 0x00202000 开始 结束0x93Bff0 长度0x739FF0
% b" g* e$ y% ~# X, N 0x0093D000 开始 结束0x012DDff0 长度9A0FF0( v, O3 | f) J) q1 R" l* n
. ?2 J+ ^& Q" A/ y
将两段内存导出用ULTRA EDIT 查询 MEID 和ESN 获得所在行首的地址如下
& _6 G: ^4 W+ J& L8 @4 W- E4 L Q8 }6 j! ~/ e4 |( P. l8 J# p
iMEID O! c: D3 Q9 O# t8 k5 C
起始 0x202000
8 b' x1 E$ D) p" [) y* ^" k行偏移量 0x37f30 0x37fe0 2 0x38010 0x38020 0x383f0 0x38400 0 U4 Q6 D% E2 x2 I
行绝对地址 0x239F30 0x239FE0 0x23A010 0x23A020 0x23A3F0 0x23A400
+ C: x# k# b) H# ~
2 r( ~6 u! m8 w, t$ l. d起始 0x0093D000: e* B2 ~8 Z( l( i5 o" v
行偏移量 0x11f340 0x1687b0 0x5ebb20 0x5f0890 0x6f0c30
( r8 i2 f8 J& d9 G0 _7 t- k4 l行绝对地址 0xA5C340 0xAA57B0 0xF28B20 0xF2D890 0x102DC30
* @8 E( ~4 W; c: ~; B2 @1 Pesn
7 `9 H9 a5 T% @4 `3 f: U) J5 `起始 0x202000
/ x/ N v0 T! x偏移0x38340
$ g, z: k6 k0 j4 `绝对地址 0X23A3403 @$ c; Z5 w' Y) T
2 Z" C5 N8 A. x1 F- x9 O
行起始 0x0093D000
8 V" ?- L5 _. A行偏移量 0x11EEC0 0x11F350 0x125610 0x1362C0 0x149180 0x1700F0 0x75E2A08 m* x$ V0 {* ~) j
行绝对地址 0xA5BEC0 0xA5C350 0xA62610 0xA732C0 0xA86180 0xAAD0F0 0x109B2A0
2 _/ w2 F' g7 Q6 a. X7 R4 B3 O( `# X2 @, z5 t' i, q/ D
( d0 _# ]. Z8 `, A
上述行地址有的在网友给出的地址表中,有的不在。
! f1 V: X9 j' Q+ K& a5 q对上述地址清零后,使用RequestNVItemRead meid 仍然显示本机MEID,证明无效。/ k6 O# d, |: e8 O& U
-------------------------------------------------------------------------------------------------------------
. Y' u0 N6 l5 v8 G1 z, P这也是我在本次MEID清零中,百思不得其解的地方。扫描内存,清零全部目标地址后,仍然失败。
4 `$ I6 ], _5 o2 g) [7 _/ @我怀疑,在清零的过程中,系统把MEID或者ESN写在另一个或几个新地址上,而这个写操作是登入QXDM professional之后执行的。
% c4 I8 H5 Z0 ^& i% L" }在导出内存的时候,新地址上的值还不是ESN或者MEID。按此考虑,操作如下
3 _3 h7 ?. R. L" f6 j/ _( M0 Z(1)连接QXDM professional,meid_cd 设置为1,对所有第一遍内存扫出的MEID和ESN目标清零,然后MEID_cd设置为0.
/ V x y D, a8 q6 j$ e$ ?这时候 RequestNVItemRead meid 仍然是本机值,ESN已经为0.
! X$ b4 e4 R4 h1 q! p6 m(2)退出QXDM professional,关闭屏幕右下角蓝色地球的图标,释放com口。手机不要重启,不要动。- @* I! w. [, c! X" a' q# [
(3)用UNIcdma重新导出两个关键地址段内容文本,用ultraedit再次扫描MEID 和ESN。: x9 ]8 U, `% P
结果为:第一遍扫描中的MEID和ESN的地址均为0了,但MEID出现在了第一遍扫描结果以外的地址上,如下5 ~; k6 ^- `$ p/ x4 f% i# a- F4 W7 @
MEID 2 X0 x, g4 L, B! Q( ~
起始 0x0093D000
- D2 L1 t& W D* o+ z行偏移 0x8e2620 {+ t! C* B, ]& B( C8 ^7 J# l2 h
行绝对地址 0x121F620; y; H) G4 \5 Q+ O: P
(4)关闭UNIcdma, 重新登入QXDM professional,修改meid_cd=1, 清零行0x121F620上的MEID,修改meid_cd=0.
9 Z) {% n$ z/ `% Y1 e; v执行RequestNVItemRead meid 确认meid已经清0.7 c! v; d9 f# S% s/ i# h* {& q# [
7 T2 U* c; q0 T( L
剩下工作就是写入ESN等数据,在此不再重复。$ Q, s7 o" k4 q- ?' L0 B7 e" {" V* i
说明:(1)我给出的偏移地址和绝对地址是行地址,MEID就在这行上,但未必是本行第一个字节开始。9 L. U/ t$ T+ _, G$ @
(2)整个操作过程中,手机始终与PC保持mpt diag连接。不要重启。
! s W/ M6 M, u' \3 i希望本文对大家有所帮助。
; n1 ?' C9 j. [- I# J- l8 A0 r
- T' M& C' l; l[ Edited by oni on 2010-6-1 11:19 ] |