6/14/2009

06-15-09横邹线金山-东山穿越

难得周末有兴致跑趟山路,SP8经受考验。

6/11/2009

blackberry 9530 写号

准备好了UIM卡对应的三码:
ESN:XXXXXXXX
IMSI:XXXXXXXXXX(MIN)
A-KEY:XXXXXXXXXXXXXXXX
准备好了9530设备对应的 ESN和MEID:
ESN:80YYYYYY
MEID:A000000DYYYYYY

UIM卡插在三星CDMA手机N299,MENU-6-* 输入00000 可以看到ESN和NAM 1 PHONE NUMBER(IMSI)\HOME SID
开机,输入*759#813580,就可以进入测试模式,手机屏幕显示一个TEST
NONE的界面[图5],这时候就可以输入测试指令了,例如"24",就可以看到界面出现"Send
ESN"字样,这个时候慢慢按"*"键,就可以看到ESN了;按4次*号键之后,你会发现24后面出现了一个"."号,表示这个指令结束了;如果你需要自己结束一条指令,开始下一条指令,也可以直接按"#"键;另外一个指令是"22",按完之后也是用*翻页,就能看到MSIN了。

DM始终保持运行,需要USB数据线的驱动。

使用QPST和QXDM
这两个软件都需要安装。
安装好了之后需要先打开QPST Configration:
点击"Add New Port",添加你所要试用的COM端口。
然后打开PXDM,并从菜单"View"中选择"New"-"Common",再选择"Command Output"和"Memory Viewer"两个窗口视图:
写号的方法只用到上述这两个视图:
在Memory Viewer中的"Address"输入框输入内存地址,下面的窗口中就会显示内存数据,如果你对内存进行了修改,需要点击旁边的"Write"按钮,使写入生效。
在主窗口下方的"Command"输入框中输入命令并回车,在Command Output窗口就能看到命令执行结果。

将IMSI和A-KEY写入手机

在拨号界面,输入##000000,然后拨号,就出来手编界面,直接在IMSI_S那里写就行了(写10位阿拉伯数字的MIN:XXXXXXXXXX)。
写好IMSI之后,应该就可以拨打10000号了,试试看!如果拨打其他电话,会提示没有开通此功能之类的。
如果你现在希望将A-KEY写入手机,建议用软件实现,cdma workshop

将ESN写入手机
1、9530除了ESN之外,还有个MEID的东西,并且看起来好像9530是MEID控制硬件识别的;
2、MEID和ESN有一定的对应关系(知道MEID可以推算出ESN,但反之不行);
3、9530中有一个SCM(可以翻译成状态类别码/状态类别标识、标记):
SCM (Station Class Mask)
If the Value is 0×2A then Phone is ESN Based
If the Value is 0×3A then Phone is MEID Based

扫描可读内存
将9530连接到电脑,打开DM,再打看CDMA
Workshop,选择COM端口(例如COM9),点"Connect",如果连接成功,可以点击一下"Read",看看读取9530信息是否正常,如果正常,则将CDMA
Workshop切换到Memory一页进行内存扫描:
选择开始地址、结束地址以及步长,我选择的扫描步长是256字节,所以扫描速度很慢(一般用1024-4096),第一次扫描,从0000:0000开始,扫到3E24:1900时被我手工停掉了(没时间),扫描结果如下:
Scanning memory for readable areas:
Unreadable area from: 0000:0000
Readable area from: 01DF:2B00
Unreadable area from: 0268:5300
Readable area from: 17AE:B100
Unreadable area from: 17B2:6700
Readable area from: 17B2:8A00
Unreadable area from: 17FC:CB00
Process is stopped at: 3E24:1900
[特别注意]
上述扫描结果,我们需要从中挑出成对的"Readable"、"Unreadable",例如第一对是:
Readable area from: 01DF:2B00
Unreadable area from: 0268:5300
表明从01DF:2B00到0268:5300这一段内存地址可读。
这是一个不严谨的说法,但是不影响我们的操作。如果要严谨地来说,应该是:
a) 从01DF:2B00开始的内存可读;
b) 也有可能在01DF:2B00之前某个地址的内存就已经可读,但不会提前到超过01DF:2A00(因为0×01DF2B00-0×100=0×01DF2A00,步长256就是0×100);
c) 我们所选择的这一段内存,也有可能中间会出现不可读的部分,因为我们是按照步长256字节进行跳跃式搜索的,不是一个字节一个字节地搜索的,可能不可读的部分被我们刚好跳过了,当然这种可能性很小,因为256字节在内存分配中是很小的数值了;
d) 直到0268:5300这个地址,内存开始不可读;
e) 也有可能在0268:5300这个地址之前,内存就已经不可读了,但不会提前到超过0268:5200(因为0×02685300-0×100=0×02685200,步长256就是0×100)。

经过上述过程,我通过扫描得到的可读内存区间段如下:
[重要数据]
共三段(没有扫完,只扫了0000:0000到6724:F900的部分,因为我觉得后面的内存肯定没啥用)

第一段可读内存:
起始地址:01DF2B00
结束地址:02685300
总字节数:8988672 bytes(10进制)

第二段可读内存:
起始地址:17AEB100
结束地址:17B26700
总字节数:243200 bytes(10进制)
实际导出时在17B266E0处结束
实际字节数:243168 bytes(10进制)

第三段可读内存:
起始地址:17B28A00
结束地址:17FCCB00
总字节数:4866304 bytes(10进制)

导出可读内存,存为.bin文件
大家可以根据各自情况选择CDMA Workshop、UniCDMA、CDMA Universal工具中的一个,将上述可读内存全部导出。
在内存镜像文件中搜索ESN、MEID
有了这3个.bin文件,我们就可以找ESN和MEID了;
[操作步骤]
打开UltraEdit,并依次用16进制编辑方式打开.bin文件,并在该文件中搜索16进制的内容(9530手机自身的MEID和ESN),注意,搜索的内容需要"按字节反序",例如:
MEID是A0 00 00 0D F1 E2 D3
ESN是80 1A 2B 3C
则我们需要搜索的实际上分别是:
D3 E2 F1 0D 00 00 A0
3C 2B 1A 80
友情提醒:其实你可以搜索两、三个字节,即可。
如下图所示,我们在第一个.bin文件中,在0086ebdf-0086ebe6这个位置搜索到了第一个MEID:

重要数据]
先说MEID,共3处:
起始地址:01DF2B00
偏移地址:0086ebdf
绝对地址:026616DF

起始地址:17B28A00
偏移地址:0011dbb8
绝对地址:17C465B8

起始地址:17B28A00
偏移地址:0029fe10
绝对地址:17DC8810

接着说ESN,ESN比较不确定,我找到10余处,有些地址会永远都是ESN码,有些地址却有时候会变化。不多说,列在这里:
[重要数据]
17FCB20D(该地址有时候是ESN,有时候是00000000;最近这次更夸张,在我修该成功的这一次,居然变成过MEID……)
02663F1C
02663F33(这两个地址离得好近啊,哈哈)
17AEB8A4(有时候不是ESN,在最后修改成功的这次,它居然变成过另外一个ESN码)
17B0FCDC
17B1C244
17B9F0B8
17C4613C
17C46214
17C4C8A0
17C5AC2C

0x026587F9
0x02663FE5
0x02663FFC

正式开战
本部分包括如下操作:
1、把SCM改成0x2A(不确定是否必须);——用QXDM,通过命令直接修改
2、用QXDM Memory Viewer改内存中的MEID,共3处,全部改为0;
3、用QXDM Memory Viewer改内存中的ESN,共10处左右

第一步,把9530内存中所有的MEID和ESN清0
得到上述重要数据(地址)之后,开始忙活,祭出法宝QXDM:
(要打开DM,并确认自己的9530连接电脑的端口是COM几,我的是COM9,然后用QPST Configuration配置一下端口,确认连接正常)
1、打开QXDM之后,先打开两个窗口,一个Memory Viewer(F4),一个Command Output,并确认已经连接成功;

2、在QXDM主窗口的左下角,有个Command输入框,在这里输入命令,依次输入:

RequestNVItemRead meid(敲回车)

RequestNVItemRead esn(敲回车)

RequestNVItemRead scm(敲回车)

这样在Command Output窗口就可以看到返回的执行结果,如下:

RequestNVItemRead esn

DIAG TX item:

esn = 0×00000000

DIAG RX item:

esn = 0×80YYYYYY

RequestNVItemRead meid

DIAG TX item:

meid = 0×0000000000000000

DIAG RX item:

meid = 0×00A000000DYYYYYY

RequestNVItemRead scm

DIAG TX item:

scm = 0×00

DIAG RX item:

scm = 0×3A

不错,工作正常。

3、先把scm改一下:

执行命令:

RequestNVItemWrite scm 0×2A

然后确认一下是否修改好了:

5、因为我在直接折腾ESN的时候,遭受过太多挫折,所以现在决定先灭掉MEID,具体方式如下:

在QXDM的Memory Viewer中,找到如下3个地址

绝对地址:026616DF

绝对地址:17C465B8

绝对地址:17DC8810

把它们统统改成0000000000000000并点击"Write";

然后再通过Command去Read一下,确认是否修改完成。

6、接着也别耽误了,用同样的方法找到所有的ESN,全部改为00000000

7、用Command确认一下:

嗯,很完美。

到目前,我们做了3件事情:

l SCM被改成了0×2A

l MEID被清为了0

l ESN被清为了0

[B-2]第二步,把9530内存中的ESN改为我们UIM卡上的ESN

8、现在试试看用Command去写ESN,写自己UIM卡上的ESN,发现没有报错:

9、继续通过Read的方式确认一下:

10、现在你可以用Write的方式把scm改回到0×3A。

然后,我们需要把机器重新启动一下。经过kaka推荐,我用的是冷启动,就是直接拔电池,然后启动。

等手机启动好了之后,可以进入手机菜单的Options-Status,确认一下状态:

你会看到两个重要变化:

l 原先这个界面的最下面是MEID,现在变成pESN了!

l 更重要的是,这里的ESN已经被改写成我们自己UIM的ESN啦!

但同时还会发现另外一个问题:

##000000进入手编界面,你看到的pESN是0

而Status里面看到的ESN是我UIM卡上的ESN(上文图),这两个不一致(目前使用中没有影响)。

一切正常,选择连接网络,就可以打电话了。

6/04/2009

NOKIA E66 刷机

前几天拿到朋友的E66是标准的欧版,可惜不能显示汉字,所以只好刷机。因为有 Wifi,所以不能刷国行的 ROM。现在Nokia 的更新软件可以在线刷机。于是先装上了最新版的 Nokia Software Updater,用它上网上看能不能更新。结果说 ROM 已经是最新,也可以在手机上输入*#0000#查询手机版本号,看来需要改手机的区域码了,估计用机子原始的区域代码,刷ROM,用最新的ROM也是没有中文的,需要修改机子的区域代码,网上找了几个香港和新加坡的代码,应该可以用,这次我用是0558509: RM-343 CTR APAC1 GREY STEEL新加坡的。修改地区代码需要一个叫做 NSS 的软件,需要数据线驱动,可以用"NICKPIG- KDE-2数据线驱动.rar"作为关键字在 google 可以上搜索到。修改好地区代码后,运行NSU自动升级最新ROM,一切ok了,很顺利。

文件名: NICKPIG - KDE-2数据线驱动.rar
下载地址: http://www.rayfile.com/files/4b74c699-512d-11de-81b8-0014221b798a/
文件名: NokiaSoftwareUpdaterSetup_zh_cn.exe
下载地址: http://www.rayfile.com/files/be27cc19-513b-11de-a4aa-0014221b798a/
文件名: NSS103814.rar
下载地址: http://www.rayfile.com/files/de6e4b66-513c-11de-afac-0019d11a795f/

NOKIA强制刷机软件

文件名: Phoenix2008Patched.rar
下载地址: http://www.rayfile.com/files/cc6232ee-518d-11de-b8df-0014221b798a/
PC上卸载凤凰2008的方法:把SYSTEM32目录下的DK2WIN32.DLL删除后在控制面板里就可以成功卸载凤凰2008了

最后留贴E66比较常用的命令

待机状态下输入*#0000# 可以查到本机系统软件版本
在待机状态下输入*#06# 可以查到本机的IMEI
在待机状态下输入*#7370# 软格机,删除一切数据回到出厂状态,默认的解锁密码是12345

在待机状态下输入*#7780# 恢复各种个性化设置(这个不是格机) 默认密码12345
在待机状态下输入*#92702689#可以查总的通话时间 注:国行无效
在待机状态下输入*#62209526# 查询WLAN MAC地址
在待机状态下输入*#2820# 查询蓝牙MAC地址
在待机状态下输入*#9990# 快速关闭蓝牙