马桶解说和夏天躲猫猫:找回设备IMEI序号

来源:百度文库 编辑:中财网 时间:2024/05/08 06:48:51

IMEI,全称为 International Mobile Equipment Identity,是一个给每个单独手机的特殊序号[1]。它是不可以通过用户进行修改。它通常会在电池后面标识出。也可以通过顺序输入*#06#,在屏幕上显示出来。

依据个人手机,该序号可能有两个不同格式(新旧两种):
aabbbb-cc-dddddd-e 如果手机生产于2004年4月1日前。
xxxxxxxx-dddddd-e如果手机生产于2004年4月1日后。

旧的IMEI 格式

格式aabbbb-cc-dddddd-e 直到2004年4月1日都在被使用。它的含义为:
aabbbb为Type Approval Code (TAC)。前两个数字(aa)代表国家。

第二组数字(cc)是 Final Assembly Code (FAC)。这标识设备厂商[2]:

01,02 = AEG      60 = Alcatel
07,40 = Motorola     61 = Ericsson
10,20 = Nokia     65 = AEG
30 = Ericsson     70 = Sagem
40,41,44 = Siemens     75 = Dancall
50 = Bosch     80 = Philips
51 = Sony, Siemens, Ericsson     85 = Panasonic

dddddd 代表设备序列码(SNR)。

最后一个数字(e)是一个检查位(通常为0)。

新的IMEI 格式

新的格式xxxxxxxx-dddddd-e 是从2004年4月1日开始使用。FAC值已经消失并且the Type Approval Code 被Type Allocation Code 代替(两种格式都是TAC ):
xxxxxxxx是一个8位数字:Type Allocation Code
dddddd 和 e与旧格式一致。

IMEISV格式

可能在IMEI结尾有另外两个数字。这种情况下,另外的两个数字反映出手机软件版本号。如想知详情可以在ETSI 规格02.16 和 03.03中查到。

 Symbian 设备上找回找回设备IMEI序号

这里介绍一小的技巧帮助找回设备IMEI序号(反连接plpvariant.lib):

#include

void DeviceUtils::GetImei(TDes& aImei)
{
#ifndef __WINS__
  // This only works on target machine
  TPlpVariantMachineId imei;
  PlpVariant::GetMachineIdL(imei);
  aImei.Copy(imei);
#else
  // Return a fake IMEI when working on emulator
  _LIT(KEmulatorImei, "000000000000000");
  aImei.Copy(KEmulatorImei);
#endif
}

[1]IMEI 标识手机本身,不是用户或他的署名。这些可以通过IMSI被标识。特别是它有以下含义:
用户通过更换手机将改变IMEI而不是IMSI而保持同一个署名。
用户通过更换署名将改变IMSI而不是IMEI而保持是同一个手机。

[2]该值从2003念1月1日起设被所有手机厂商设为00。

此文为开发视界翻译转载者请注明出处否则追究法律责任