获取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 ...
随机推荐
- PHP : 封装跳转函数,实现三个页面的跳转
具体实现:有a,b两个页面,一个跳转页面c,在a执行完后先进行c页面的提示,再跳转到b 1.文件设计: 2.c页面封装方法内容(function.php): a页面内容(a.html): a页面的后台 ...
- ubuntu linux安装octave
sudo apt-add-repository ppa:octave/stable sudo apt-get update sudo apt-get install octave 安装完成后,在终端中 ...
- 双击易语言没有反应,按住shift再双击可解决
参考资料:http://tieba.baidu.com/p/2987732743 的7楼.
- Node.js与npm安装(转载)
2009年的JSCOnf大会上,一个叫Ryan Dahl的年轻程序员向人们展示了一个他正在做的项目,一个基于Google V8引擎的JavaScript运行平台,它提供了一套事件循环和低IO的应用程序 ...
- soap使用xml调用webapi后返回xml信息进行JSON转换处理,以顺丰查询接口为例
expressUrl = string.Format(可以卸载配置文件的域名URL + "/bsp-oisp/ws/expressService"); StringBuilder ...
- java注解总结-关联信息-关联结构
java的注解是一种可配置信息: 这些信息直接依附在功能代码之上: * 元注解@Target,@Retention,@Documented,@Inherited * * @Target 表示该注解用于 ...
- 0x40二分法
二分模板一共有两个,分别适用于不同情况.算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值. 版本1 在单调递增序列a中查找>=x的数中最小 ...
- python将图像转化为矩阵
Image.fromarray(matrix).show()
- python遇到IndentationError: unexpected indent
由于tab和空格混用而导致的问题,解决办法如下: 在SubLime中View中的Identation中的Convert Indentitation to Spaces即可
- P3901 【数列找不同】
这个题我们可以使用树状数组做 啥? 树状数组? 那个不是维护前缀和的东西吗? 各位看官,让我慢慢道来. 首先我们可以想到,对于一个询问$ [l,r] \(,只有\)[1,r]$中的数可能对这个询问有影 ...