获取IMSI
转:http://letsunlockiphone.guru/find-imsi-number/
HOW TO FIND IMSI NUMBER (UPDATED)

You probably already know about possibility to unlock your iPhone on any firmware version and any baseband using SAM unlock. It’s really working method, and involves some skills like knowing IMSI number of your device. We will now try to explain what it is and where to find it.
Let’s start form the very beginning. Subscriber Identification Module (SIM) is a chip that stores:
- International Mobile Subscriber Identity (IMSI)
- ICCID – unique serial number
- Security authentication and ciphering information
- Info that is stored temporarily and sent to your local network
- List of services available for user
- Personal identification number (PIN)
- Personal unblocking code (PUK)
How it works: your iPhone sends IMSI number to the network while registering. IMSI number is exactly the thing that allows network hardware to identify the subscriber. To avoid the interception IMSI is sent as rarely as it is possible. Sometimes instead of IMSI the phone sends TMSI (temporarily generated code for mobile subscriber identity).

Be careful not to confuse IMSI and IMEI (which stands for International Mobile Equipment Identity – 15-digit number unique for every phone on GSM and UMTS). IMEI is also sent to the carrier by registering in network. IMEI can be easily used for tracking phones and blocking stolen ones on carrier level.
So let’s see, you know about SAM unlock, you’ve downloaded it and installed on your device but you’re unable to find your IMSI (or don’t know what it is at all), then just continue reading. IMSI is International Mobile Subscriber Identity – a unique SIM card number. This is NOT a feature or a function of your phone . It consists of 15 digits that can be splitted in three categories:
- MCC (Mobile Country Code) – first three digits of IMSI code
- MNC (Mobile Network Code) – fourth and fifth for EMEA countries (Europe, the Middle East and Africa) or fourth, fifth and sixth digits in the code for the other (NAR) countries
- MSIN (Mobile Station Identification Number) – the last 9/10 digits of the code

IMSI NUMBER FOR EMEA COUNTRIES LOOKS LIKE THIS:

IMSI NUMBER FOR NAR COUNTRIES:

The MCC and MNC digits from 1 to 5/6 (red and yellow on the images) show the network. Subsets and regional operators can be calculated by last 9 or 8 digits (blue and yellow) aka MSIN.
Where is IMSI stored locally: all the IMSI bundles are stored in /System/Library/Carrier Bundles. For instance, if you use AT&T SIM card, his name will be ATT_US.bundle var/mobile/Library/Carrier Bundles. The iOS will also create shortcut to that folder which will look like this: var/mobile/Library/Carrier Bundle.bundle.

To find your iPhone’s IMSI number you can use two methods. One is to check IMSI by running minicom in your terminal and typing in:
AT+CIMI
then press enter and you’ll see your IMSI number.
The second method fits SAM unlock better. Run installed SAM app on your iPhone and go to More Information->IMSI under SIM Details submenu. You’ll see a 15-digit IMSI code that corresponds to your SIM card. That’s it.
IMPORTANT! HOW TO FIND YOUR CARRIER WITHIN IMSI:
- When you have that number just check iPhone operator
- Type it in to the field called Enter IMSI number
- It will show your SIM carrier’s country, operator, your MCC and MNC
ATTENTION: If you’ve already detected your iPhone’s IMSI (Country, carrier and Mobile Station Identificator Number) but it isn’t listed in SAM’s By Country and Carrier activation list, or know your IMSI number but don’t know your carrier then check out my FULL IMSI list of international carriersto unlock iPhone with SAM.

How to enter your IMSI number to By Country and Carrier activation method:
Let’s say your IMSI is 234150829435109. The digits stand for:
- Country - 234- UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND
- Carrier – 15 – VODAFONE LTD
- SIM ID – 23415
iphone下获取:
#include <dlfcn.h>
#define PRIVATE_PATH "/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"
- void getImsi(){
#if !TARGET_IPHONE_SIMULATOR
void *kit = dlopen(PRIVATE_PATH,RTLD_LAZY);
NSString *imsi = nil;
int (*CTSIMSupportCopyMobileSubscriberIdentity)() = dlsym(kit, "CTSIMSupportCopyMobileSubscriberIdentity");
imsi = (NSString*)CTSIMSupportCopyMobileSubscriberIdentity(nil);
dlclose(kit);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"IMSI"
message:imsi
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
#endif
}
NSString *imsi = CTSIMSupportCopyMobileSubscriberIdentity(); NSString *userMobileType = [StatisticsOperation getCarrier:imsi];
getCarrier 方法如下
+ (NSString *)getCarrier:(NSString *)imsi { if (imsi == nil || [imsi isEqualToString:@"SIM Not Inserted"] ) {
return @"Unknown";
}
else {
if ([[imsi substringWithRange:NSMakeRange(0, 3)] isEqualToString:@"460"]) {
NSInteger MNC = [[imsi substringWithRange:NSMakeRange(3, 2)] intValue];
switch (MNC) {
case 00:
case 02:
case 07:
return @"China Mobile";
break;
case 01:
case 06:
return @"China Unicom";
break;
case 03:
case 05:
return @"China Telecom";
break;
case 20:
return @"China Tietong";
break;
default:
break;
}
}
}
return @"Unknown"; }
android下获取:
TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId(); //取出IMEI
String tel = tm.getLine1Number(); //取出MSISDN,很可能为空
String ICCID =tm.getSimSerialNumber(); //取出ICCID
String imsi =tm.getSubscriberId(); //取出IMSI
参考http://www.oschina.net/code/snippet_99237_46665
http://letsunlockiphone.guru/global-imsi-list-number/
获取IMSI的更多相关文章
- android 获取IMSI信息(判断是移动,联通,电信手机卡)
首先我们需要知道手机IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信.那么第一步就是先获取手机IMSI号码:代码如下 /** *获取IMSI信息 * ...
- Android获取IMSI和IMEI
IMSI是一个 唯一的数字, 标识了GSM和UMTS 网络里的唯一一个用户. 它 存储 在手机的SIM卡里,它会通过手机发送到网络上. IMEI也是一串唯一的数字, 标识了 GSM 和 UMTS网络里 ...
- Android中获取IMSI和IMEI
TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); Str ...
- (三)获取iphone的IMSI
今天的任务是 iPhone上怎样获取 imsi 信息 来判断所属运营商,资料找了很久!总体有两种方案,但是其中一种好像不行 这里我都记录下来吧: 1: 这是使用coreTelephony.framew ...
- 【Android】如何获取本机号码、IMSI、EMSI
获取本机号码: 获取本机号码,需要在配置文件中加入权限: <uses-permission android:name="android.permission.READ_PHONE_ST ...
- Android 获取可靠的手机编码
项目中出现了将设备和用户信息进行绑定的需求.最先想到的是IMEI串码和IMSI串码.手机登陆的时候一直都没有问题.换了一个平板中之后IMEI和IMSI串码都获取不到了.后来查了一下原因,是因为平板上是 ...
- Android 获取运营商信息(完整版)-解决高通,MTK等双卡问题
由于国内的运营商问题,双卡手机获取IMSI号问题要根据厂商API 来实现. 下面我们就来做一套完整的分析运营商获取IMSI号逻辑. 1,首先我们要判断手机的平台. 1.1,判断手机是否MTK平台 1 ...
- Android 双卡获取当前使用流量在线卡的信息
最近接触了一个项目,需要获取在线流量卡的信息,下面的方式,可以获取大部分手机的正确手机卡信息. 一 获取获取IMEI public static String getDeviced(int solt ...
- 如何使用HackRF做一个简单的IMSI捕获器
关于IMSI IMSI为国际用户识别码(International Mobile Subscriber Identity)的缩写,是用于区分蜂窝网络中不同用户的,在所在蜂窝网络中不重复的识别码.IMS ...
随机推荐
- Python3爬虫04(其他例子,如处理获取网页的内容)
#!/usr/bin/env python# -*- coding:utf-8 -*- import osimport reimport requestsfrom bs4 import Navigab ...
- 【转】run方法与start方法的区别
在java线程中 start与run的不同start与run方法的主要区别在于当程序调用start方法一个新线程将会被创建,并且在run方法中的代码将会在新线程上运行,然而在你直接调用run方法的时候 ...
- Microsoft EDP(enterprise database protection)配置策略中的三种Rule template
搭建Microsoft EDP环境: Microsoft 10 insider preview,Microsoft Intune,ie10(要安装插件silverlight) 这里暂时只说在进行配置策 ...
- C++学习之虚析构函数
什么样的情况下才需要虚析构函数? 类需要控制自己的对象执行一系列操作时发生什么样的行为,这些操作包括:创建(对象).拷贝.移动.赋值和销毁.在继承体系中,如果一个类(基类或其派生的类)没有定义拷贝控制 ...
- Linux MySQL单实例源码编译安装5.6
cmake软件 tar -zxvf cmake-2.8.11.2.tar.gz cd cmake-2.8.11.2 ./bootstrap make make install cd ../ 依赖包 ...
- 对类参数的序列化和反序列化XML
/// <summary> /// Xml序列化与反序列化 /// </summary> public class XmlUtil { #region 反序列化 /// < ...
- 使用Axure管理团队项目图文教程 团队协作操作步骤
Axure RP团队版和企业版都支持团队协作,可以创建和管理团队项目,即多人共同创作一个原型.本文通过图文教程的形式,讲解了如何基于Axure Share服务创建和管理团队项目.因为Axure Sha ...
- 整合ssm集成框架
第一步:配置pom.xml 该代码放在<dependencies>里面 <!--spring 所需要的jar包 web.aop.jdbc.webmvc--> <!--1. ...
- MyEclipse中安装findBugs插件(摘)
安装方法如下: 1.首先从findbugs网站下载插件:http://findbugs.sourceforge.net/downloads.html 2.将下载回来的zip包解压,得到文件夹:edu. ...
- c++谭浩强教材教学练习例题1.2 求两数之和 为什么sum=a+b;sum的值为65538
第一章 #include <iostream>using namespace std; int main(){ int a,b,sum; sum=a+b; cin>>a> ...