获取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绘图示例6-1(基于matplotlib,绘图流程介绍及设置等)
#!/usr/bin/env python# -*- coding:utf-8 -*- import os import pylab as pyimport numpy as npfrom matpl ...
- SSM事务
问题描述:查询用户信息时想级联查出用户订单以及订单详情,在查询用户的时候JDBC是will be managed by Spring,但懒加载用户订单以及订单详情时就will not be manag ...
- EF写in
qualityStatisticsInfoSql.Where(t => successStateArray.Contains(t.UploadReportFlag)); 如果写成 quality ...
- POJ-2456 Aggressive cows---最大化最小值(也就是求最大值)
题目链接: https://vjudge.net/problem/POJ-2456 题目大意: 有n个牛栏,选m个放进牛,相当于一条线段上有 n 个点,选取 m 个点, 使得相邻点之间的最小距离值最大 ...
- 八数码(map版)
八数码 map真是个奇技淫巧好东西 可以十分简单的实现hash,当然速度就不敢保证了 因为九位数不算很大,完全可以用int存下,所以便将八数码的图像转换成一个int型的数字 #include<i ...
- Http之基础
简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一个基于TCP/I ...
- C# 方法中的参数类型
二.方法中的参数类型 1. 值参数 值参数是指不带修饰符只带数据类型的形参. 值参数在使用值向方法传递参数时,编译程序会把实参的值做一份拷贝,并且将此拷贝传递给该方法,被调用的方法不会修改内存中实参的 ...
- js图片库 案例
事件处理函数:事件处理函数的作用是,在特定事件发生时调用特定的JavaScript代码.本例中想要在用户点击某个链接的时候触发一个动作,所以需要使用onclick事件处理函数. 添加事件处理函数的语法 ...
- 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
转载请标明出处: 首发于:https://www.fangzhipeng.com/springcloud/2017/07/12/sc12-hystix-dashbd/ 本文出自方志朋的博客 最新Fin ...
- 1060: [ZJOI2007]时态同步
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3610 Solved: 1521[Submit][Status][Discuss] Descript ...