安卓手机如何修改手机IMEI串号?

安卓手机如何修改手机IMEI串号?,第1张

安卓MTK系列CPU可以改串号,而且比较简单。

支持的安卓手机系统502 一下

手机首先要ROOT,可以使用ROOT一键ROOT成功即可。

手机下载安装修改神器。

第一次启动会获取权限,ROOT允许即可。

进入软件界面即可一键修改IMEI

有图有真相

  手机使用IMEI和IMSI登录到GSM网络的,由GSM网络侧负责将IMSI和映射成手机号(MSISDN),以及执行相反方向的映射。

  (一)、SIM card 号的修改:

  SIM card号就是印制在SIM上的一串数字。

  读SIM card号的AT命令为:AT+CRSM=176,12258,0,0,10

  因此在andorid模拟其源码中找到该AT命令——在sim_cardc中:

  const char

  asimcard_io( ASimCard sim, const char cmd )

  {

  int nn;

  #if ENABLE_DYNAMIC_RECORDS

  int command, id, p1, p2, p3;

  #endif

  static const struct { const char cmd; const char answer; } answers[] =

  {

  { "+CRSM=192,28436,0,0,15", "+CRSM: 144,0,000000146f1404001aa0aa01020000" },

  { "+CRSM=176,28436,0,0,20", "+CRSM: 144,0,416e64726f6964ffffffffffffffffffffffffff" },

  { "+CRSM=192,28433,0,0,15", "+CRSM: 144,0,000000016f11040011a0aa01020000" },

  { "+CRSM=176,28433,0,0,1", "+CRSM: 144,0,55" },

  { "+CRSM=192,12258,0,0,15", "+CRSM: 144,0,0000000a2fe204000fa0aa01020000" },

  { "+CRSM=176,12258,0,0,10", "+CRSM: 144,0,98101430121181157002" },

  

  

  因此用UE二进制方式打开emulator-armexe 或 emulator-x86exe,并搜索字符串“98101430121181157002”,然后将其修改成需要的SIM card号。

  比如:

  00209a00h: 31 30 00 00 2B 43 52 53 4D 3A 20 31 34 34 2C 30 ; 10+CRSM: 144,0

  00209a10h: 2C 39 38 31 30 31 34 33 30 31 32 31 31 38 31 31 ; ,981014301211811

  00209a20h: 35 37 30 30 32 00 2B 43 52 53 4D 3D 31 39 32 2C ; 57002+CRSM=192,

  (二)、IMEI、IMSI号的修改:

  Java代码中获取手机的IMEI号与ISMI号途径为:

  TelephonyManager manager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);

  String imei = managergetDeviceId();

  String imsi = managergetSubscriberId();

  在android的源码树中找到类TelephonyManager的实现:

  成员函数getDeviceId:

  /

   Returns the unique device ID, for example, the IMEI for GSM and the MEID

   or ESN for CDMA phones Return null if device ID is not available

  

   <p>Requires Permission:

   {@link androidManifestpermission#READ_PHONE_STATE READ_PHONE_STATE}

  /

  public String getDeviceId() {

  try {

  return getSubscriberInfo()getDeviceId();

  } catch (RemoteException ex) {

  return null;

  } catch (NullPointerException ex) {

  return null;

  }

  }

  成员函数getSubscriberId:

  /

   Returns the unique subscriber ID, for example, the IMSI for a GSM phone

   Return null if it is unavailable

   <p>

   Requires Permission:

   {@link androidManifestpermission#READ_PHONE_STATE READ_PHONE_STATE}

  /

  public String getSubscriberId() {

  try {

  return getSubscriberInfo()getSubscriberId();

  } catch (RemoteException ex) {

  return null;

  } catch (NullPointerException ex) {

  // This could happen before phone restarts due to crashing

  return null;

  }

  }

  上面两个成员函数最终调用共同的一个私有成员函数getSubscriberInfo():

  private IPhoneSubInfo getSubscriberInfo() {

  // get it each time because that process crashes a lot

  return IPhoneSubInfoStubasInterface(ServiceManagergetService("iphonesubinfo"));

  }

  而上面私有函数getSubscriberInfo获取的手机IMSI和IMEI号被硬编码在文件android_modemc中:

  / the Android GSM stack checks that the operator's name has changed

   when roaming is on If not, it will not update the Roaming status icon

  

   this means that we need to emulate two distinct operators:

   - the first one for the 'home' registration state, must also correspond

   to the emulated user's IMEI

  

   - the second one for the 'roaming' registration state, must have a

   different name and MCC/MNC

  /

  #define OPERATOR_HOME_INDEX 0

  #define OPERATOR_HOME_MCC 310

  #define OPERATOR_HOME_MNC 260

  #define OPERATOR_HOME_NAME "Android"

  #define OPERATOR_HOME_MCCMNC STRINGIFY(OPERATOR_HOME_MCC) \

  STRINGIFY(OPERATOR_HOME_MNC)

  #define OPERATOR_ROAMING_INDEX 1

  #define OPERATOR_ROAMING_MCC 310

  #define OPERATOR_ROAMING_MNC 295

  #define OPERATOR_ROAMING_NAME "TelKila"

  #define OPERATOR_ROAMING_MCCMNC STRINGIFY(OPERATOR_ROAMING_MCC) \

  STRINGIFY(OPERATOR_ROAMING_MNC)

  / a function used to deal with a non-trivial request /

  typedef const char (ResponseHandler)(const char cmd, AModem modem);

  static const struct {

  const char cmd; / command coming from libreference-rilso, if first

  character is '!', then the rest is a prefix only /

  const char answer; / default answer, NULL if needs specific handling or

  if OK is good enough /

  ResponseHandler handler; / specific handler, ignored if 'answer' is not NULL,

  NULL if OK is good enough /

  } sDefaultResponses[] =

  {

  / see onRadioPowerOn() /

  { "%CPHS=1", NULL, NULL },

  { "%CTZV=1", NULL, NULL },

  

  

  { "!+VTS=", NULL, handleSetDialTone },

  { "+CIMI", OPERATOR_HOME_MCCMNC "000000000", NULL }, / request internation subscriber identification number /

  { "+CGSN", "000000000000000", NULL }, / request model version /

  { "+CUSD=2",NULL, NULL }, / Cancel USSD /

  

  / end of list /

  {NULL, NULL, NULL}

  };

  因此用UE二进制方式打开emulator-armexe 或 emulator-x86exe,并搜索字符串"+CGSN"修改为需要的IMEI号;搜索"+CIMI"修改为需要的IMSI号。需要注意的是 IMSI 号的头六个数字"310260"不能修改,否则模拟器无法与网络连接。

  例如:

  001fc700h: 33 00 41 00 48 00 21 2B 56 54 53 3D 00 2B 43 49 ; 3AH!+VTS=+CI

  001fc710h: 4D 49 00 33 31 30 32 36 30 30 30 30 30 30 30 30 ; MI3102600000000

  001fc720h: 30 30 00 2B 43 47 53 4E 00 30 30 30 30 30 30 30 ; 00+CGSN0000000

  001fc730h: 30 30 30 30 30 30 30 30 00 2B 43 55 53 44 3D 32 ; 00000000+CUSD=2

  

1 手机安装驱动,连接QXDM

Options-Communications 选择连接手机,点击Connect 如下图:

2 修改手机MEID(NV1943)

Search ID输入01943,点击read,双击Input框,输入所修改的MEID,点击Write,Offline,Reset如下图:

注:手机上MEID最后一位是校验位无需修改

3  修改手机IMEI(NV550)

Search ID输入00550,点击read,会显示NV550显示规则

注:NV550 IMEI显示为16进制,比如下图:

其上图显示的IMEI为357881013564580,其填写方法为对角线从上到下(前三位是校验位无需修改)

双击Input框,输入所修改的IMEI1(默认修改的是IMEI1),点击Write,Offline,Reset即可(方法和MEID修改方法一致)

修改IMEI2,方法只需要选中上方MultiSim,Subscription选择1,点击右下方read即可修改IMEI2,如下图

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/974046.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-20
下一篇2023-08-20

随机推荐

  • 上课怎样提神

    首先调整好自己的作息时间,一定要劳逸结合,晚上熬的太晚,白天上课又睡觉,实际上是捡了芝麻丢了西瓜;屈臣氏有一种曼秀雷敦的薄荷膏卖,涂在太阳穴止困效果极佳,但不是很好买,你可以托父母经常去看,因为每次一上柜就会一抢而空,一时买不着,用风油精也

    2024-04-15
    57700
  • 精华露怎么用

    精华露是一款非常重要的护肤品,尤其适合需要深度滋润和营养的皮肤。使用精华露,可以让皮肤更容易吸收养分,保持年轻活力。精华露到底怎么用呢?rn在使用之前要先清洁皮肤。这样能够确保皮肤表面没有杂质和污垢,为后续的护理做好准备。rn接下来

    2024-04-15
    64000
  • 问下苏秘精华露怎样?这个什么时候用最好?具体如何啊?

    你问的是使用顺序还是时间呢?精华一般是用在水之后的,乳之前。时间的话,最好早晚都要用哦,尤其晚上用吸收会更好。先用柔肤水清洁肌肤,打开毛孔,用的时候仔细顺着肌肤纹理慢慢按摩,轻轻拍打,最后再用乳液和面霜锁水。第二天早起,能感觉到自己脸摸起来

    2024-04-15
    57700
  • 天气丹正品与假货区别

    天气丹正品与假货区别:正品精华液的瓶盖边缘有银色的包边,假货则没有。根据质地可以观察真伪,正品天气丹的水是微微粘稠的白色液体,打开之后很容易吸收;然后从包装上观察,正品精华液的瓶盖边缘有银色的包边,假货则没有,而且有很明显的塑料感,正品的封

    2024-04-15
    49500
  • 妮维雅身体乳能美白么,妮维雅美白身体乳真的能美白吗

    俗话说“一白遮三丑”,这句话的意思就是白皙的皮肤可以遮盖人脸部上的很多缺点,这也会许多女孩子渴望美白肌肤的原因。改善肤色的办法有很多,大部分女生会选择涂抹具有美白功效的的护肤产品。现如今市面上的美白护肤产品越来越多,其中妮维雅的美白身体乳就

    2024-04-15
    47900
  • 天气丹三个版本的区别

    天气丹三个版本的没有区别。虽然它们的叫法不同,但是套盒中的爽肤水和乳液在成分以及含量上都是一模一样的,所以三个版本的天气丹是不分好坏的。天气丹套盒适应的肤质比较广泛,干性肌肤使用以后能够很好的补水保湿,油性皮肤使用以后能够很好的控油祛痘,因

    2024-04-15
    61100
  • 有口碑好的男士抗衰老的护肤品牌吗?求推荐!

    有许多口碑好的男士抗衰老护肤品牌。以下是一些受欢迎的品牌:1 妮维雅男士:妮维雅男士是德国拜尔斯道夫公司旗下的男士护肤品牌,创立于1922年。其产品包括洗面奶、爽肤水等,以温和补水保湿、滋润抗衰老为特点。2 高夫GF:高夫是中国的男士护肤

    2024-04-15
    46900

发表评论

登录后才能评论
保存