转帖自:http://heicard.com/tutorial/81

机制与原理:

sim卡的身份主要包含iccid imsi GID1 GID2这四个参数,以区分不同sim卡归属。

iphone锁定sim卡方法是通过选取这几个参数进行锁定。ios在激活基带的时候,iphone会把sim卡的这几个参数打包进激活请求包内,同时也会加入imei等参数。

ios的激活服务器会根据imei查询它的数据库把它对应的策略取出,如果是无锁机,它就就不比对sim的参数,也就是任意sim卡都可接受。如果是这个imei是有锁机的策略,服务器就会继续验证sim卡的信息是否符合这个imei的锁定策略,如果符合就把激活证书签发给iphone,这个证书也包含了sim卡信息验证条件,手机收到这个证书后也会根据证书要求对sim卡进行一样的验证步骤,如果插入的sim卡不符合证书要求的,就会提示sim卡无效。

为什么会有iccid通用激活?

在某些策略中,运营商会给出一段特别的iccid范围,以区别这这些卡在iphone使用时配置参数需要不一样,或者是某种测试需要。当前卡贴使用的“通用激活”,激活的时候提交给苹果服务器的sim卡信息包含有特殊效果的iccid和imsi归属美国at&t公司的,苹果收到这样的激活请求时,会允许大部分的imei通过,签发激活证书。

IMSI是主要的识别参数:

IMSI的全称是International Mobile Subscriber Identity,国际移动用户识别码。IMSI由移动国家代码(MCC,Mobile Country Code)、移动网络代码(MNC,Mobile Network Code)和移动订户识别代码(MSIN,Mobile subscription identification number)依次连接而成,MCC 和MNC是国际电联分配给各个商用运营商的唯一识别码。苹果主要是通过判断imsi的的MCC和MNC是否归属IMEI的锁定策略,也就是卡贴模拟的主要对象。

 GID1和GID2识别参数:

它们是SIM卡文件系统里的非必要文件,叫“组ID码”,主要用于同一个运营商发行的sim卡,需要区别用于不同的业务时,而采用这个id进行识别与区分。

为什么需要采用这个参数?

这个参数的主要使用者还是美国的运营商,美国是联邦制国家,各个州的法律相对独立,但是基础运营商是共用的,美国的主要基础运营商是AT&T,Sprint,Verizon,T-mobile。然后衍生出很多虚拟运营商。这些虚拟运营商都是租用基础运营商的网络,发行自己的SIM卡和资费套餐。但是网络名称,APN接入参数等都要与基础运营商发行的sim卡有区别,这就要求手机需要识别比imsi更多的参数才能准确识别出当前使用的sim卡是否是虚拟运营商,一个虚拟运营商可以跟多个基础运营商合作,这就会发生这个虚拟运营商发行的SIM卡会有不同的MNC,这样对只锁定sim卡imsi的作为识别方法的策略就会有影响,这样的客观现实,就要求手机生成商对这些sim卡的使用许可做更详细的判断,自然就会使用GID参数作为识别对象。

iPhone的锁定SIM卡的方法:

了解了锁定方法,才能更好的理解解锁方法。锁定sim卡是手机制造商与网络运营商相互达成协议的结果,运营商要求定制版的手机,仅能支持自有SIM卡才能使用。但是运营商的SIM卡的发行又受到MCC,MNC的限制。有的运营商旗下没有虚拟运营商,所以它使用MCC+MNC作为识别参数足够了,有的运营商有虚拟运营商合作,就要求手机设备商进行区别了。有的虚拟运营商采用的iccid号段进行区分,有的使用GID进行区分,所以苹果都需要给出相应的识别方法。苹果的ios系统包括了全部合作的运营商sim发行需求,不管合作运营商要求识别imsi 还是iccid还是gid,都可以进行准确区分。

卡贴做的事情

卡贴的主要作用就是把sim卡的身份信息进行修改,以通过iPhone的识别。所以涉及到的参数是 ICCID/IMSI/GID1/GID2这四个参数,只要把这四个参数进行对应的修改,就可以激活任意一台有锁的iPhone设备。

我们如何知道iphone锁定了哪个运营商?

手机的imei是硬件识别的唯一码,苹果也是根据这个唯一码进行索引并分配锁定策略的。在手机的出厂阶段,就已经加入数据库,哪些imei码的手机是销售给哪个运营商的。这个锁定信息是可以通过苹果的数据库接口进行查询到的。唯一来源就是苹果的数据库。而且这个查询接口是半公开状态,很多公众号都提供付费查询。

确定了锁定运营商如何设定参数?

由于参与定制机型的运营商有很多,卡贴产品的设置列表不足予囊括所有运营商,所有都带有“input imsi“这个入口,可以通过直接输入IMSI的MCC和MNC参数设定卡贴解锁的对象。之前几乎没有虚拟运营商参与iphone的定制,所以imsi输入就足够应付常见的机型,但是后来有更多的虚拟运营商参与了iphone定制,imsi的输入不能满足了,就需要加入GID参数的输入。

这些参数可以从ios系统的carrier bundl文件里查询到当前与苹果合作的所有运营商以及使用的参数。

以下内容就是我们分享的参数文件与使用方法。

下载carrier bundl文件    下载查看工具

解压文件后,可以看到很多子文件夹,这里包含了所有运营商的mcc和mnc,还有运营商名称。

举sprint 运营商为例子

文件夹中就可以看到这个直接以imsi的mccmnc为头部310120后加GID2是01为文件名,这个名称已经指出,只要是sim卡的imsi是310120而且gid2的值是01,手机就会加载这个文件里边的配置来驱动这个sim卡。

进入这个文件夹,就会看到里边包含好多个文件,第一个文件夹是签名文件,签名的意思是,这些文件都是已经进行签名的,读取的时候需要对比签名,如果有修改就会被丢弃,识别为文件破坏,不被采用。其中carrier.plist包含了一些设定值。

从这个文件里可以看到sprint公司要求iphone识别这些sim卡为sprint的网络支持的sim卡,加载的apn 彩信配置也要以这个文件为基础。比如是否支持热点分享等都在这个文件指定。从这个文件可以看出,即使我们不设定gid,而改为设定iccid是89011201开头的iccid提交,手机也可以接受它。

我们再挑一个虚拟运营商的配置看看:

这个虚拟运营商是挂在at&t网络下的,但是它的配置识别就需要使用310380,并且gid1需要是38,这个就是设定卡贴解锁 这个运营商时需要 设定参数3103800,并且GID1需要设定38,设定后这个虚拟运营商锁定机型就能被激活,然后通过tmsi方式获得信号。

我们超雪的卡贴根据新的变化,进行了优化,在V1.33版本,加入gid的直接输入。这样可以解决在没有iccid的情况和不需要最新ios版本的情形下直接激活任意机型,获取完整的激活证书,比如中国电信需要的cdma网络证书。

另外ipcc的作用就是,使用新的版本覆盖掉ios系统当前使用的运营商配置文件,ipcc文件可以从beta版本的ipsw文件里解压缩提取出来,也可以通过越狱系统,把完整路径下是文件进行整体的狸猫换太子的操作。也就是ios系统按照imsi的识别路径进行了文件调用,但是调用的文件以及被认为的整体替换掉了,这样就把配置全部匹配了。比如解锁att的机型,ios系统按照att的文件路径取得文件内容,正常条件下取得是att的文件,但是如果通过越狱替换了这些文件,ios取得的就是 你替换掉的文件了,比如你用中国移动的去替换了。那ios取得是中国移动的,在关于本机显示的名称就不是at&t而是 中国移动。热点之类的都正常显示,lte也显示为4G,频点参数也正常,信号会更强

sim卡的imisgid1gid2参数解释相关推荐

  1. sim卡移动端漏洞解析

    2019年下半年以来,伴随着两个核弹级Sim卡漏洞披露,多个Android和IOS漏洞的曝光,关于对应漏洞的移动设备武器又将纳入各国网络武器库,而需要注意的是,其中有多个漏洞已经被武器化且被利用. 奇 ...

  2. GPS定位跟踪器,设置SIM卡号码方法

    在网上查找资料发现GSM模块竟然没有指令可以获取SIM卡号. 而我的设备,需要通过SIM卡号等参数识别身份,这可怎么办呀? 如果只有一台,我可以把SIM卡号写进程序里,可是如果我换了SIM卡,需要更新 ...

  3. android 双卡开发获取sim卡默认数据卡,获取sim卡信息,sim1卡,sim2卡 2G/3G/4G信号强度

    1:默认数据卡 private int getDefalutDataID(){SubscriptionManager subscriptionManager = (SubscriptionManage ...

  4. Android 系统(260)---Android 读取SIM卡参数

    Android 读取SIM卡参数 package com.water.activity; import java.util.List; import android.app.Activity; imp ...

  5. 虚拟运营商APN、SPN参数、Sim卡名称

    本帖最后由 Kalyy 于 2016-12-24 16:31 编辑 1.APN 配置: S7731C5.1: vendor\sprd\operator\operator_res\apn\apns-co ...

  6. 如何向妹子解释:为啥 5G 来了需要换 SIM卡!

    2019年作为5G元年,随着中国5G牌照的发放,5G离我们的生活越来越近.众所周知,要想体验5G速度,换支持5G的手机是必须的. 随之而来的疑问是:之前从2G升到3G,联通用户需要换SIM卡,从3G到 ...

  7. Ansroid系统(262)---MTK安卓sim卡相关源码分析

    MTK安卓sim卡相关源码分析 原文地址:http://m.blog.csdn.net/article/details?id=50039589 最近由于一个sim卡相关的需求,就去了解了一下Andro ...

  8. 什么是PSAM卡、SAM卡、SIM卡

    回答1. PSAMPSAM的解释为:销售点终端安全存取模块(Purchase Secure Access Module).卡指终端安全控制模块. SAMSAM(Secure Access Module ...

  9. android复制短信到sim,Android开发之关于复制短信到SIM卡的分析.docx

    Android开发之关于复制短信到SIM卡的分析 Android开发之关于复制短信到SIM卡的分析 在framework层下的SmsManager类中,封装好了一个copyMessageToIcc方法 ...

最新文章

  1. TensorFlow从1到2(十三)图片风格迁移
  2. MariaDB Window Functions窗口函数分组取TOP N记录
  3. Berttransformer
  4. Toast.makeText(MainActivity.this, R.string.alert, Toast.LENGTH_SHORT).show(); 解释
  5. 诺基亚再做手机,没有机会
  6. 学习UVC协议需要的工具
  7. 计算机web前端环境分析,web前端开发行业前景分析
  8. Java的三大基本特征及其特点
  9. 免费实时汇率查询接口
  10. 平面变压器的设计(翻译)(4)
  11. 360wifi驱动linux驱动安装,360WiFi驱动安装使用教程,详细图文版
  12. 域名转入Godaddy教程
  13. Python爬虫:搜狗(微信,知乎)公众号内容
  14. 【Elasticsearch教程13】Mapping字段类型之nested
  15. 直击|支付宝还信用卡下月开始收费 每月2000免费额度
  16. Telephony 拨号流程
  17. Office 2016零售版转换为VOL版本
  18. 分享|百度ACE智能交通“双智”实践蓝皮书(附PDF)
  19. 大数据分析与应用(中级) 数据预处理与特征工程
  20. poj1408 四边形面积

热门文章

  1. FFmpeg入门 - 格式转换
  2. 非常详细的sklearn介绍
  3. 2022年最新前端面试题,持续更新
  4. fancybox 点击图片后跳转到页面顶部的 解决方法
  5. Shell介绍及OhMyZsh
  6. element ui tabl 输出Html
  7. HBase部署之官网翻译
  8. html5制作天气动画背景,CSS icon图标之纯CSS实现带动画效果的天气图标
  9. Android Wifi 扫描及自动连接
  10. 面试必问的 JVM 类加载机制,你懂了吗?