获取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 ...
随机推荐
- Java项目性能瓶颈定位
文章目标 当Java项目出现性能瓶颈的时候,通常先是对资源消耗做分析,包括CPU,文件IO,网络IO,内存:之后再结合相应工具查找消耗主体的程序代码.本文主要介绍系统资源消耗的分析过程,以及常用的Ja ...
- PHP判断变量是否小数并对小数进行处理
/*判断是否为小数demo*/$a = 1.2; if(is_int($a)){ echo "$a 是整数!"; }else{ echo "$a 不是整数!"; ...
- mysql 5.6 zip安装,启动失败,1067错误
在使用mysql5.6 zip压缩包安装mysql过程中,启动过程,老是卡在1067启动错误上,翻看网上各种解决方案,卸载干净重装,重启,都不管用. 网上各种教程都是新建 my.ini mysql 配 ...
- Python基本数据类型(一)
一.int的函数说明(部分函数Python2特有,Python3已删除,部分函数Python3新增:) class int(object): """ int(x=0) - ...
- window下mycat要放在根目录下
原理文档没有跟我开玩笑呢? 建议放在盘符根目录下 ,无视的我,检查了多遍jdk环境,检查了多遍bat文件内容,仍然没有解决 找不到或无法加载主类 直到我乖乖的把目录放跟盘符才解决,心好累= =! 可能 ...
- BZOJ 4502: 串 AC自动机
4502: 串 Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 195 Solved: 95[Submit][Status][Discuss] Des ...
- C#后台unxi时间戳转换为前台JS时间的方法
后台返回的时间是一个格式为 /Date(1530153274362)/ 的unxi时间戳前台转换代码:var matchResult = data.match(/(\d+)/);if (matchRe ...
- UVA 11983 Weird Advertisement
题意:求矩形覆盖k次以上的区域总面积. 因为k≤10,可以在线段树上维护覆盖次数为0,...,k, ≥k的长度数量. 然后就是一个离散化以后扫描线的问题了. 离散化用的是半开半闭区间,以方便表示没有被 ...
- 2017.9.18 include指令和include动作有什么区别?
问题:include指令和include动作有什么区别? 答:include指令合并静态文档或Jsp页面中的内容,可以用于包括动态生成的输出结果,因此可以包含一个Servlet include指令在编 ...
- 一步步做程序优化-讲一个用于OpenACC优化的程序(转载)
一步步做程序优化[1]讲一个用于OpenACC优化的程序 分析下A,B,C为三个矩阵,A为m*n维,B为n*k维,C为m*k维,用A和B来计算C,计算方法是:C = alpha*A*B + beta* ...