这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » [分享]SIM卡构造及iPhone破解原理

共1条 1/1 1 跳转至

[分享]SIM卡构造及iPhone破解原理

高工
2007-09-15 22:12:49     打赏


 
SIM卡名词解释   SIM卡(Subscriber Identity Module),即用户识别卡,它是一张符合GSM规范的“智慧卡”,SIM卡有大小之分,大卡尺寸54mmx84mm(约为名片大小),小卡尺寸为 25mmx15mm(比普通邮票还小)。其实“大卡”上面真正起作用的是它上面的那张“小卡”,“小卡”上起作用的部分只有小指甲盖那么大。目前国内流行样式是“小卡”,小卡也可以换成“大卡”(有个卡托即可)。“大卡”和“小卡”分别适用于不同类型的GSM移动电话,早期的机型如摩托罗拉GC87C、 308C等手机用的是“大卡”,现在新出的机型基本上都是用“小卡”。SIM卡可以插入任何一部符合GSM规范的移动电话中,“实现电话号码随卡不随机的功能”,而通话费则自动计入持卡用户的帐单上,与手机无关。
  SIM卡知识进阶   

  (一)SIM卡内保存的数据可以归纳为以下四种类型:   

  (1)由SIM卡生产厂商存入的系统原始数据。   

  (2)由GSM网络运营部门或者其他经营部门在将卡发放给用户时注入的网络参数和用户数据。包括:    *鉴权和加密信息Ki(Kc算法输入参数之一:密匙号);    *国际移动用户号(IMSI);    *A3:IMSI认证算法;    *A5:加密密匙生成算法;    *A8:密匙(Kc)生成前,用户密匙(Kc)生成算法;   

  (3)由用户自己存入的数据。比如,短消息、固定拨号,缩位拨号,性能参数,话费记数等。  

  (4)用户在用卡过程中自动存入和更新的网络接续和用户信息类数据。包括最近一次位置登记时的手机所在位置区识别号(LAI),设置的周期性位置更新间隔时间,临时移动用户号(TMSI)等。  这些数据都存放在各自的目录项内,第一类数据放在根目录,当电源开启后首先进入根目录,再根据指令进入相关的子目录,每种目录极其内部的数据域均有各自的识别码保护,只有经过核对判别以后才能对数据域中的数据进行查询,读出和更新。上面第一类数据通常属永久性的数据,由SIM卡生产厂商注入以后无法更改,第二类数据只有网络运行部门的专门机构才允许查阅和更新,再第三、四类数据中的大部分允许用户利用任何手机对其进行读/写操作。

(二)SIM卡结构   

  (1)SIM卡能够储存多少电话号码取决于卡的EEPROM的容量(有2K、3K、8K容量),若有8KB的存储容量,可供储存以下信息:    *100组电话号码及其对应的性名文字;    *15组短信息(Short Message);    *25组以上最近拨出的号码;    *4位SIM卡密码(PIN)。  

  (2)SIM卡是带有微处理器的芯片卡,内有5个模块,每个模块对应一个功能:CPU(8位)、程序存储器ROM(6-16kbit)、工作存储器RAM(128-256kbit)、数据存储器EEPROM(2-8kbit)和串行通信单元,这5个模块集成在一块集成电路中。SIM卡在与手机连接时,最少需要5个连接线:    *电源(Vcc)     *时钟(CLK)     *数据I/Q口(Data)     *复位(RST)     *接地端(GND) (4)SIM卡背面上20位数字iccd所代表的含义如下:    *前6位(898600):是中国的代号;    *第7位:业务接入号,对应于 135、136、137、138、139中的5、6、8、9;    *第8位:SIM卡的功能位:一般为0,现在的预付费SIM卡为I;    *第 9、10位:各省的编码;     *11、12位:年号;    *13位:供应商代码;    *14-19位:用户识别码;    *20位:校验位。

  GSM网络登录步骤

  1. 手机开机后会从SIM卡中读取IMSI(15个数字)和TMSI(4字节);

  2. 手机登录网络时,将会IMSI或TMSI发给网络;

  3. 网络判断到该IMSI或TMSI有效,要生成一个128bit的RAND,然后发给手机;

  4. 手机收到RAND后,将RAND发给SIM卡;

  5. SIM以里面的KI为密钥对RAND进行A3A8运算,生成(SRES+Kc);

  6. 手机读取(SRES+Kc)(32bit+64bit),并将SRES发给网络; 7. 网络自己进行一次A3A8运算,如果结果与手机返回的SRES相同,则认为该用户合法。

  这个方法破解iphone的原理,主要就是利用了sim的网络登录原理为突破口,iphone是利用要at&t卡的imsi在中国移动的网络里取得进网许可,此时中国移动认为这个卡是at&t国际漫游过来的,就分配给他一个tmsi(临时的imsi),此时tmsi与ki配合登录个人帐户系统的时候中国移动发现他是国内的用户,但是忘记了之前进网是以漫游身份进来的(系统没有料到我们会搞这样的卡),然后按照正常帐户处理了。为什么不能在待机状态下不能接听电话,而在通话中可以呢?原因也就是出在了,手机在接收系统呼叫的时候,移动系统要求imsi验证此时知道你是非网内用户,而拒绝服务。在通话中可以接收呼叫,就是此时系统不进行imsi验证了,直接认为你是合法用户!

我自己的想法就是:在超级sim卡(复制卡)里,重新编写程序,使之具有双imsi,at&t的用于蒙蔽iphone的验证机制,另一个你自己的合法的imsi用于在接收呼叫的时候,返回给移动的系统验证!不过程序肯定不简单,不是我所能及的!一个思路而已下图是手机的登录网络的过程图!

 


 

  前期准备工作

  你必须拥有一套SIM卡复制设备,包括usb读卡器一个,可用于iphone的空卡一张,还有相关的软件,不是很落后的电脑一台 SIM卡复制设备购买www.weiphone.com/thread-3848-1-1.html交易区里有啦。

  开始工作:第一步,确定你自己的sim卡是v1版的卡还是v0版的卡(目前国内只有这两种卡,3g的at&t卡是v2版本不可破解)规律如下

  中国移动的卡:看你的SIM卡背面的iccid码,第三行的前面两位是sim卡的制造年份。如果是00、01、02、03、04,那么你这个卡是v1卡,破解非常容易。如果是05、06、07,那么可以肯定是v0卡,同样可以破解!

中国联通:界限比较模糊,它的年份区别是iccid的第二行第2、3位数字表示。00、01、02、03、04都是v1卡,05上半年是v1卡,下半年是v0的,之后都是v0.但是根据地区的不同,依然有05、06年的卡是v1的卡。

  第二步:安装读卡器的驱动程序,一路“下一步”就可以了(光盘有)

  第三步:安装simmax7.0。也是一路“下一步”直到完成。(光盘有)

  第四步:插入读卡器,电脑提示找到新硬件,一路“下一步”自动安装,知道提示安装成功。

  如果你的卡是v1卡(根据判断,如果不能判断做v0卡处理) 第五步:把你的SIM卡插进读卡器,点击桌面“开始”--“所有程序”--simmax--simscaner7.0,打开应用程序。出现软件界面后在菜单栏点击“扫描备份”选择“扫描备份” 出现提示不用管它“确定” 程序开始链接读卡器。链接成功后出现解码界面,直接点击"扫描” 1小时左右,提示破解成功,并得将到一个dat文件提示你保存,需要输入密码,可以为空,直接回车存放路径自己选择!此时你不要着急,不能用这个这个 dat文件直接写入空SIM卡,如果直接写入后插入iphone是不能通过验证的。

  正确的做法是:使用“转换器”将这个dat文件打开(也可以用其他软件比如simeasy),你会看见这个dat文件包含有iccid,imsi,ki,smsp这几样信息。

  我们要做的就是更改dat文件的iccid和imsi,生成新的dat文件,用于蒙骗iphone的验证机制。 iccid和imsi可以直接由simscaner查看,无需破解,而你自己的sim卡ki是要破解得到。

比较详细的做法由n000b的帖子阐述

  准备必要的数据

  需要记录下以下数据(ICCID和IMSI读卡器软件都能从卡里直接读出,Ki在上面已经解出,使用的软件是simscner7.0,套餐有的):

  1、iPhone的随机AT&T卡:IMSI,ICCID,以下分别把他们称为:IMSI-a和ICCID-a

  2、移动SIM卡:IMSI,ICCID,Ki,以下分别把他们成为:IMSI-b,ICCID-b和Ki-b

  3、短信中心号码

  生成写卡文件

  用套餐里面的一个叫做“转换器”的软件可以生成写卡文件,我们需要2个文件(因为要写2次)。

  第一次:填入: ICCID-a,IMSI-b,Ki-b,短信中心号码,然后存盘生成一个写卡文件,下面称作文件1;

  第二次:填入:ICCID-a,IMSI-a,Ki-b,短信中心号码,然后存盘生成另一个写卡文件,下面称作文件2;

  注意:(由于iphone的验证机制是关系到iccid,所以iccid的填法很重要,普通的复制是需要填写iccid的)

  1、我写好后放到普通手机里看,显示的短信中心号码是20个0,而用读卡器读出的却显示正确,不知道哪里有错,由于这个短信中心号不对,所以我无法发出短信。

  2、“转换器”写文件时会把ICCID号码每2位颠倒,例如123456写入文件会变成214365,读出时又颠倒回来。而用 SimScanner读取“转换器”生成的文件并写入的时候不会自行颠倒,所以写入的ICCID是错的。我填写时把ICCID每2位颠倒后再填写的,再用 SimScanner写入时刚好正常。

  写卡

  用套餐里面的SimScanner写卡,要写2次。

  第一次:先用文件1写卡,写完后把卡放到一个普通的手机里面,开机后等待知道网络注册完成(出现移动名称和有信号);

  第二次:把上面试用过的卡放回写卡器中,这一次用文件2写卡,覆盖掉第一次记录,然后把卡直接放进iPhone(这一次不要放进普通手机里,我实际实验的结果就是如果第二次的卡先放进普通手机,再放进iPhone就不认了)。

注意:虽然两次写卡看起来有点奇怪,既然第二次把第一次覆盖了,似乎没必要作第一次的写,但是我实验的结果是,如果不在第一次把卡放进普通手机进行网络登录一次,第二次写出的卡就不行。

  激活如果你的看已经激活,那么就可以直接用啦。

  现在先把做好的卡放进iPhone。虽然iPhone激活有很多种方法,但是用这个特殊卡就必须使用iASign的方法来激活。具体的激活方法可以到下面网站去看:用Intel Mac: iPhone Using Cingular (Intel Mac Version) 用Windows: weiphone外翻组【新教程】破解Cigular完全版-windows 或者原版:iPhone Using Cingular (Windows Version) 注意: 1、在生成证书文件的时候要用自己制作的那张卡的信息(或者就用AT&T的卡信息),不能用原来的移动卡信息,一旦成功激活,屏幕上就会出现信号指示和China Mobile字样了。 2、如果还是“No Service”,先把iPhone关掉(长按Power键直到出现红色的关机按钮),再重新开机就应该可以了。

  如果你手上的是v0卡 最为关键的是v0卡的破解!

  第一步:安装读卡器驱动,过程比较简单,光盘有带插图的说明。

  第二步:插如读卡器(你的SIM卡也插入读卡器),电脑提示新硬件,选择自动安装知道完成,如果已经安装过读卡器了,那么就会听见“崩崩”声音。说明电脑已经识别读卡器了。

第三步:进入“设备管理器” 查看读卡器的端口 A-men开头的那个设备就是读卡器,括号里的com几就是端口了。

  第四步:打开v2卡软件包里的“破解卡”文件夹,里边是一个放大镜图标的程序,它就是破解v2卡的一个主力工具kisearch。打开这个软件。在com框选择好刚才在设备管理器看到的端口号 com x 频率设置成19200(高速),然后点击“连接” 上方的大框就会显示ATR=一串数字,那就表示“连接”成功,然后按“读卡”软件就开始破解sim卡了,“次数”那个框格在数数。这需要等待,你准备一个晚上吧。快的数40000次就可以了,慢的要100万。

  注意:如果你的按链接后ATR返回值=00,那就端口不对,或者是频率不对。请检查你读卡器边上的小开关,靠近接口是高速19200.远离接口那端是9600(低速),有的sim卡是不支持高速破解的,那么就要跳到低速破解!

  第五步:耐心等待之后,kisearch计算成功!小方框里会提示你,恭喜你,你的卡可破解,第x组ki:xxxx (到了这里,你就注定能成功了),如果没有等它解卡成功夜不要气馁,还有其他方法可以破解的。那些是进级的方法就不在这里说先了。

第六步:关闭第五步的软件,打开v2卡软件包里的woronscan1.09.exe。同样先要设置端口,在菜单栏点击”选项“选择“phonix 卡”,然后点“配置”选择正确的com和速率然后点“确定”。然后点“ki”图标,弹出一个窗口。会看见有个圆点默认在第1列的位置。你需要把点点在刚才提示的 第x组 的x+1列!举例,你得到第2组ki 1245,那么你就将圆点点在第3列的位置,把下方的“勾”也点上,然后把,12填在“勾”下方的框格,再把45填在再下方的框格。然后点击“开始” 软件开始数数,数512次,就有结果,它会提示“可能的配对“ 如果能够得到可能的配对,就表示当前列的ki是正确的,得到的可能配对用于“下一个列” 下一个列是第几列呢?这个顺序决定于,刚才第一个软件提示的:第x组ki”的x。我们的测试顺序以“列”为标准。

  测试顺序非常重要,要严格遵循

  提供第0对KI时,就填在1列 调试顺序为: 5,3,7,2,6,4,8

  提供第1对KI时,就填在2列 调试顺序为: 6,4,8,1,5,3,7

  提供第2对KI时,就填在3列 调试顺序为: 7,1,5,2,6,4,8

  提供第3对KI时,就填在4列 调试顺序为: 8,2,6,1,5,3,7

  提供第4对KI时,就填在5列 调试顺序为: 1,3,7,2,6,4,8

  提供第5对KI时,就填在6列 调试顺序为: 2,4,8,1,5,3,7

  提供第6对KI时,就填在7列 调试顺序为: 3,1,5,2,6,4,8

  提供第7对KI时,就填在8列 调试顺序为: 4,2,6,1,5,3,7

  圆点与勾的规则:圆点是是测试某一列就点在某一列,勾就是测试过的和测试中的(圆点所在列)都要打上。

  注意:有的朋友有可能会碰到最后一组ki出不来,原因是:前面的某一列存在两组ki值能够得到可能值,你只是测试到了一组有可能值,就往下一列测试了,这就是原因。建议测试过程中用一张纸记录,并且测试完得到的所有“可能配对”。

只要你有第一个ki,那么就一定能成功的。成功后,会提示ki是什么(一串很长的字串)还有imsi也会提示出来复制出来,粘贴在写字板里去掉中间的空格。

  然后偶就开始之作dat文件。制作dat文件,前面以前阐述了!大家看起来可能有点吃力,但是光盘的教程是有截图的,会容易很多。
 




关键词: 分享     构造     iPhone     破解     原理     用户     手机         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]