内容发布更新时间 : 2024/12/24 21:08:53星期一 下面是文章的全部内容请认真阅读。
BlackBerry 9530 CDMA烧号过程分享 一、 致谢
感谢kaka同志提供BB 9530供我随意折腾,10年来的hacking工作给了我们不断学习不断提高的机会;
感谢1007对于9530内存扫描问题的解答(ROM版本问题),并感谢1007对于我解决该问题思路的启发;
感谢Jacky和我的面对面沟通,让我更清晰地了解了很多技术问题。
在此本人把最近研究BlackBerry Storm 9530烧号的进展汇报一下,主要是手工写入ESN/MEID部分的技术攻关。
希望朋友们能够在此方法的基础上进行测试(注意不要弄坏你的BB,注意安全操作,宁愿多问,不要冒险),如果将来证明方法确实如我所认为的那样稳定可行,加之如果时间宽裕的话,也许会写个烧号程序供大家使用,因为这个过程还是有些繁琐的。 二、 背景
08年底,我开始使用189;不久后,kaka和另外一个兄弟各买了一台BlackBerry Storm 9530,于是他们决定也支持一下电信,考虑对9530进行CDMA烧号。
经过kaka在网上的大量查阅资料,并进行筛选,给了我工作的基础,依靠这些资料,我基本了解了CDMA烧号到底是啥意思。
随后的烧号尝试不断碰壁,首先是找人帮忙,可能由于该机器刚刚面市,国内外又没有多少人研究,所以在电信工作的朋友们尝试了很多种方法,都失败了(注:只考虑在手机上烧号,不考虑去电信后台更改配置)。
Kaka怒了,就去买了一个正版CDMA Workshop 3.3.5软件,结果发现这个软件也搞不定。 困难在哪里呢?就是ESN的问题——无法将手机号对应的UIM卡ESN写入手机设备。 在网上查阅了无数的国内外资料,没有找到搞定9530的ESN的方法。其间,kaka经常会打电话给我,说在某论坛又看到某人搞定了9530写号问题,经过总结,我告诉kaka,理论上这些人都没搞定ESN,肯定都是在电信开后门把机身ESN写到电信设备上了,因为在全球范围内还真没找到这个问题的解决方法??于是,在经历了数轮打击之后,kaka同志很郁闷,并愤而在博客上发了一篇文章《作风一定要严谨》(http://honeyhan.cn/200903/05_767.html),当然他说的“作风”其实是指对待技术的态度,通过此文表达了对于那些研究技术、阐述问题不严谨的朋友们的强烈不忿。
后来大家工作也忙,就休息了相当长一段时间(2月下旬至5月底),没有继续研究这个东西。 2台9530在睡觉,其间kaka还丢了一台8300,不爽啊。
5月底,kaka的战斗热情再次燃起。某日与kaka夫妇、swan博士吃完陕北菜后,kaka把9530又翻出来了,再次交给我,让我继续研究。
其实我偷懒了好几天,直到大约6.1之后才开始折腾,这中间kaka打电话问进展,我就说没进展(本来就没进展嘛)?? 三、 如何阅读本文
在写这篇文章的过程中,很多朋友在问相关的问题,如果要一一解答确实很累。其实要写一篇对大家真的有所帮助的文章还真难,因为不同的朋友技术基础不同,所需要的内容也不尽相同。有的朋友只需要操作步骤和截图,有的朋友会在过程中碰到问题,需要一些分析和解释说明,还有些朋友只关心关键几个节点的原理、手段或测试思路等,甚至有朋友会关心一些扩展或更深入的话题。
为了适应不同朋友对本文的不同要求,我把文章内容的不同针对性部分进行了标示: 操作步骤——表示这一部分是对操作步骤的记录和指导;
原理知识——表示这一部分是对技术原理的说明,属于知识方面的内容;
分析说明——表示这一部分是对问题的分析、推导、测试碰壁的记录,以及思路的梳理等内容;
重要数据——表示这一部分列出了重要的数据信息;
特别注意——表示容易出错、容易忽视、需要特别注意的问题。 请大家在阅读时各取所需,跳过自己不需要的部分。
注意:请大家先通读本文,具备整体印象,并了解我的实际操作和总结方法之间的差异,同时对所有可能碰到的问题有一个概念,然后再实际去操作。
另外,我是在大量的尝试中最终烧号成功的,过程中可能有些运气的成分,本文是我事后的整理,虽然我尽力将我的理解、我的操作描述得更加详细,但本文可能仍然不够准确或难免有所遗漏,实际情况也未必跟你的机器完全一样,通常你还会碰到一些问题,需要独立思考或与大家探讨来解决,特别是对于计算机基本知识和BB手机本身不太熟悉的朋友,你碰到的问题一定会很多,记得要坚持!
同时,也希望大家将碰到的问题或总结的经验都记录下来,以便我们不断完善这个方法。 四、 工作基础
[分析说明]
年初虽然没有搞定烧号问题,但至少知道已经尝试过的方法是不行的。经过实验并确认无法完成写号的方法和相关重要结论如下:
1、 IMSI、A-Key的写入,在9530上不是问题,不需要专门研究,网上有很多兄弟都给出了方法,建议用工具软件写入A-Key,工具软件或手编输入IMSI,在本文就不浪费篇幅做具体详细描述(当然大家如果有疑问也可以提出);
2、 用CDMA Workshop 3.3.5无法直接对9530进行ESN修改操作(该软件的各种方式均不适合9530);
3、 用UniCDMA2005、CDMA Universal无法直接对9530进行ESN修改操作;
4、 用扫描内存(找出可读内存段)、导出内存镜像文件(.bin)、搜索ESN位置并改写的方法,在机器重启后,ESN会自动复原。
五、 知识准备(CDMA烧号的基本概念)
根据网上查阅的资料和帖子,以及向各位热心朋友的请教解答,我们可以简单整理一下烧号所需要的知识点。
这里只列出本文所需的知识点,更多详细的知识请查看网上的其他整理帖,例如lingxw 兄弟的转帖《关于智能机中CDMA手机写号问题的汇总》(转载于 www.anranpda.com ),该帖URL请参见http://bbs.maxpda.com/thread-240701-1-1.html,或请大家去翻阅原文。 [原理知识] 假设:
我现在用的是中国电信189号码,三星CDMA手机(型号S259+)+UIM卡
现在希望用BB 9530的CDMA模式,9530是双模单待手机,是支持CDMA2000的3G手机,该机型GSM模式是机卡分离(需要插入SIM卡),CDMA模式是机卡一体(需要把号码写入到手机中);
所谓“烧号”,就是把号码写入到手机中,那么我们到底需要把哪些东西写到手机中呢? 其实,一共需要三个信息:
a) IMSI:国际移动用户识别码(唯一标识),IMSI = MCC + MNC + MSIN,其中MCC是指移动台国家代码(3 位,中国460),MNC是指移动网代码(2位,中国电信03),MSIN是指移动用户识别号码(10 位),例如上海电信的189号段常见MSIN是6010******、6181******等。
b) ESN(MEID):ESN是“电子序列号Electronic Serial Number”的缩写,是移动手机的身份识别符。ESN为32位,即8个十六进制数字标识,例如F5XXXXXX。
而Mobile Equipment IDentifier (MEID) 是全球唯一的56bit移动终端标识号。由于ESN号段是有限的资源,基本上耗尽,所以制定了56位的MEID号段,用来取代32位的ESN号段。MEID主要分配给CDMA制式的手机。 MEID的格式:
MEID由14个十六进制数字标识,第15位为校验位,不参与空中传输。 RR:范围A0-FF,由官方分配
XXXXXX:范围 000000-FFFFFF,由官方分配
ZZZZZZ:范围 000000-FFFFFF,厂商分配给每台终端的流水号 C/CD:0-F,校验码
例如我们手上的9530 MEID可能是:0xA000000D******
c) A-Key:Akey也叫鉴权码,16位16进制的一组数字,是存储在MS(标准名称叫做移动站,简单点理解就当它是整部手机好了)中进行鉴权和加密的密钥,是分配给MS的64bit数据,并且仅对MS和相关的归属位置寄存器/鉴权中心(HLR/AC)是可知的。
每个手机出厂时都有一个ESN号,MIN号是运营商分配的,用以区别用户,一个手机能够正常服务,在交换上写号时必须输入ESN。这个ESN号和MIN号是一一对应的,在鉴权时使用,对于机卡一体手机,需要写号时只需提供手机中的ESN号给交换人员,他们会分配一个MIN号给你,在手机中写入即可。在用户鉴权时会用到手机中固有的ESN号,所以对于不同的机卡一体手机,由于ESN号不同,把获得的MIN值写入其它手机,手机可以识别网络,但无法通过鉴权,故无法通话(准确地说是在国内只能拨打10000号);对于机卡分离的手机,手机出厂时也有ESN号,但在写号时在UIM卡中另外写入一个ESN号,所以手机鉴权时不用手机中固有的ESN号,而是用UIM卡中人为写入的ESN号,这样UIM卡就可以做到放入任何一个C网手机中都可以打电话。
一个机卡合一的手机进入CDMA网工作,最初只需要三个数据:一是ESN码;二是IMSI码(机卡合一写在手机里面,机卡分离的ESN IMSI在卡里面);三是鉴权码,存储的位置和IMSI一样。
六、 整体流程
为了大家对整个烧号过程有更好的全局观,知道自己每一步需要做什么,特对整个过程大的
步骤进行说明如下(注意本文讨论的是自己动手将UIM卡中的ESN写入手机的方式,如果您是通过其他途径将手机中的ESN写到电信设备上,则本文对您并无帮助):
1、 获得自己需要写入的号码的IMSI(MIN)、ESN/MEID、A-Key(若通过其他途径关闭A-Key则不需要);
2、 通过手编方式,将自己UIM卡的IMSI(MIN)、HOME SID(所属地标示,上海电信是13840)等基本信息写入手机,确保可以拨打中国电信10000号客服热线; 3、 通过软件,将A-Key写入手机;
4、 通过本文描述方法,将自己UIM卡的ESN写入手机并验证; 5、 测试通话并修改手机通话的相关设置,例如国家码(+86)等等; 6、 再次测试并验证,如未成功则返回一一检查,排除故障。 七、 准备工具软件和所需物品
BlackBerry Desktop Manager(即大家常说的DM,我用的是4.70 B059多国语言版,我们需要的其实是其中的设备管理器,即Device Managment)——该软件用于把手机连接到电脑(驱动、端口)
CDMA Universal Unpacked(或UniCDMA 2005)——读手机信息、扫描内存等; QPST 2.7 build 323、QXDM 3.11.36——QUALCOMM提供的强大工具,后面详细介绍 我还有CDMA Workshop 3.4.1正式版(kaka赞助的,多谢kaka),这个工具比较贵,不必强求,事实上,在本文的基础上,你只要用好QXDM即可,呵呵。当然,如果你能准备一下3.4.1demo版也很好,或者2.7破解版。
此外还需要Windows的计算器、UltraEdit(或其他的16进制编辑器)。
当然,还需要一根USB线(BB能用的就行,我用的是Nokia 6500c自带的USB线)。 最后,强烈建议,准备3张A4大小的白纸,准备好两支不用颜色的笔,在你操作的过程中,一定要尽量记录关键的内存地址、修改前后数值、你的疑问等等重要的内容!这一点真的很重要。
特别注意:如果你用的是Vista或Windows Server 2008,或者你安装了IE的最新版本,又使用的是QXDM 3.9.19版本,可能会碰到QXDM无法安装的问题(因为安装程序不能识别IE最新版本,所以会提示“需要IE 5以后的版本”,这个问题有解决方案,但受篇幅所限,不在本文中阐述,有困难的朋友可以联系我,等我有空也会另外写文章或工具提供给大家参考。) [2]BlackBerry 9530 CDMA烧号过程分享(手工写入ESN/MEID)