适用于泛泰A850K,系统版本S0837210

改mms.apk去除这些国家代码:"+86"(大陆),"+886"(台湾),"+852"(香港),"+853"(澳门),"+84"(越南) ,"+60"(马来西亚)

需要注意的是台湾的手机号码比较特殊,保留前缀0

举例:

大陆:+86 12345678910 处理后12345678910

香港:+852 12345678910 处理后12345678910

澳门:+853 12345678910 处理后12345678910

越南:+84 12345678910 处理后12345678910

马来西亚:+60 12345678910 处理后 12345678910

台湾:+886 12345678910 处理后012345678910

Java、samli、baksmali、dex2jar、jd-gui、apktool这些工具和环境请自备,使用方法请自行摸索。

Dex或odex反编译成smali汇编代码用于修改。

Dex转为jar,用于修改时对照java代码。

以下+号代表增加行,-号代表删除行。

一、com\pantech\app\mms\config\SystemHelpers.java

目标代码分析:

  public static String getPhoneNumber(){String str = ((TelephonyManager)sContext.getSystemService("phone")).getLine1Number();if (str != null)return str.replace("+82", "0");return "";}

要改为

  public static String getPhoneNumber(){String str = ((TelephonyManager)sContext.getSystemService("phone")).getLine1Number();if (str != null)return str.replace("+82", "0").replace("+86", "").replace("+886", "0").replace("+852", "").replace("+853", "").replace("+84", "").replace("+60", "");return "";}

接下来修改smali汇编

com\pantech\app\mms\config\SystemHelpers.smali

const-string v2, "+82"const-string v3, "0"invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;move-result-object v0+    const-string v2, "+86"
+
+    const-string v3, ""
+
+    invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    const-string v2, "+886"
+
+    const-string v3, "0"
+
+    invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    const-string v2, "+852"
+
+    const-string v3, ""
+
+    invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    const-string v2, "+853"
+
+    const-string v3, ""
+
+    invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    const-string v2, "+84"
+
+    const-string v3, ""
+
+    invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    const-string v2, "+60"
+
+    const-string v3, ""
+
+    invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+    .line 100:goto_0return-object v0.line 97:cond_0

二、com\pantech\app\mms\data\SmsPersister.java

目标代码分析:

if ((!FeatureConfig.isSKTVendor()) || (!str1.startsWith("+82")))break label200;str1 = str1.replace("+82", "0");break label200;

改为

      if (str1.startsWith("+82")){str1 = str1.replace("+82", "0");break label200;}if (str1.startsWith("+86")){str1 = str1.replace("+86", "");break label200;}if (str1.startsWith("+886")){str1 = str1.replace("+886", "0");break label200;}if (str1.startsWith("+852")){str1 = str1.replace("+852", "");break label200;}if (str1.startsWith("+853")){str1 = str1.replace("+853", "");break label200;}if (str1.startsWith("+84")){str1 = str1.replace("+84", "");break label200;}if (!str1.startsWith("+60"))break label200;str1 = str1.replace("+60", "");break label200;

接下来修改smali汇编

com\pantech\app\mms\data\SmsPersister.smali

     if-eqz v20, :cond_10.line 763const-string v6, "".line 770
-    :cond_1
+    :cond_36:goto_2const-string v20, "address"move-object/from16 v0, v17move-object/from16 v1, v20
@@ -2647,18 +2647,12 @@goto/16 :goto_1.line 764.end local v3           #destPort:I.restart local v6       #mAddress:Ljava/lang/String;:cond_10
-    invoke-static {}, Lcom/pantech/app/mms/config/FeatureConfig;->isSKTVendor()Z
-
-    move-result v20
-
-    if-eqz v20, :cond_1
-.line 765const-string v20, "+82"move-object/from16 v0, v20invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
@@ -2667,12 +2661,180 @@if-eqz v20, :cond_1.line 766const-string v20, "+82"+    const-string v21, "0"
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v6, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v6
+
+    goto/16 :goto_2
+
+    :cond_1
+
+    const-string v20, "+86"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_31
+
+    const-string v20, "+86"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v6, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v6
+
+    goto/16 :goto_2
+
+    :cond_31
+
+    const-string v20, "+886"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_32
+
+    const-string v20, "+886"
+
+    const-string v21, "0"
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v6, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v6
+
+    goto/16 :goto_2
+
+    :cond_32
+
+    const-string v20, "+852"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_33
+
+    const-string v20, "+852"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v6, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v6
+
+    goto/16 :goto_2
+
+    :cond_33
+
+    const-string v20, "+853"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_34
+
+    const-string v20, "+853"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v6, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v6
+
+    goto/16 :goto_2
+
+    :cond_34
+
+    const-string v20, "+84"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_35
+
+    const-string v20, "+84"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v6, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v6
+
+    goto/16 :goto_2
+
+    :cond_35
+
+    const-string v20, "+60"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v6, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_36
+
+    const-string v20, "+60"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v6, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v6
+
+    goto/16 :goto_2
+    const-string v21, "0"move-object/from16 v0, v20move-object/from16 v1, v21

三、com\pantech\app\mms\ui\ComposeMessageActivity.java

目标代码分析:

          if ((FeatureConfig.isLGVendor()) && (str1.startsWith("+"))){if (str1.startsWith("+82")){String str3 = str1.replace("+82", "0");str1 = str3.substring(0, str3.length());i3++;}}

改为

          if (str1.startsWith("+")){if (str1.startsWith("+82")){String str9 = str1.replace("+82", "0");str1 = str9.substring(0, str9.length());i3++;}
            if (str1.startsWith("+86")){String str8 = str1.replace("+86", "");str1 = str8.substring(0, str8.length());i3++;}if (str1.startsWith("+886")){String str7 = str1.replace("+886", "0");str1 = str7.substring(0, str7.length());i3++;}if (str1.startsWith("+852")){String str6 = str1.replace("+852", "");str1 = str6.substring(0, str6.length());i3++;}if (str1.startsWith("+853")){String str5 = str1.replace("+853", "");str1 = str5.substring(0, str5.length());i3++;}if (str1.startsWith("+84")){String str4 = str1.replace("+84", "");str1 = str4.substring(0, str4.length());i3++;}if (str1.startsWith("+60")){String str3 = str1.replace("+60", "");str1 = str3.substring(0, str3.length());i3++;}}

接下来修改smali汇编

com\pantech\app\mms\ui\ComposeMessageActivity.smali

     .line 2733invoke-virtual {v13}, Ljava/lang/String;->length()Imove-result v6-    .line 2735
-    invoke-static {}, Lcom/pantech/app/mms/config/FeatureConfig;->isLGVendor()Z
-
-    move-result v20
-
-    if-eqz v20, :cond_5.line 2736const-string v20, "+"move-object/from16 v0, v20@@ -1422,13 +1416,253 @@invoke-virtual {v13, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;move-result-object v13.line 2740add-int/lit8 v14, v14, 0x1
+
+    :cond_6+    const-string v20, "+86"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v13, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_31
+
+    const-string v20, "+86"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v13
+
+    const/16 v20, 0x0
+
+    invoke-virtual {v13}, Ljava/lang/String;->length()I
+
+    move-result v21
+
+    move/from16 v0, v20
+
+    move/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object v13
+
+    add-int/lit8 v14, v14, 0x1
+
+    :cond_31
+
+    const-string v20, "+886"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v13, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_32
+
+    const-string v20, "+886"
+
+    const-string v21, "0"
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v13
+
+    const/16 v20, 0x0
+
+    invoke-virtual {v13}, Ljava/lang/String;->length()I
+
+    move-result v21
+
+    move/from16 v0, v20
+
+    move/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object v13
+
+    add-int/lit8 v14, v14, 0x1
+
+    :cond_32
+
+    const-string v20, "+852"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v13, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_33
+
+    const-string v20, "+852"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v13
+
+    const/16 v20, 0x0
+
+    invoke-virtual {v13}, Ljava/lang/String;->length()I
+
+    move-result v21
+
+    move/from16 v0, v20
+
+    move/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object v13
+
+    add-int/lit8 v14, v14, 0x1
+
+    :cond_33
+
+    const-string v20, "+853"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v13, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_34
+
+    const-string v20, "+853"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v13
+
+    const/16 v20, 0x0
+
+    invoke-virtual {v13}, Ljava/lang/String;->length()I
+
+    move-result v21
+
+    move/from16 v0, v20
+
+    move/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object v13
+
+    add-int/lit8 v14, v14, 0x1
+
+    :cond_34
+
+    const-string v20, "+84"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v13, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_35
+
+    const-string v20, "+84"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v13
+
+    const/16 v20, 0x0
+
+    invoke-virtual {v13}, Ljava/lang/String;->length()I
+
+    move-result v21
+
+    move/from16 v0, v20
+
+    move/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object v13
+
+    add-int/lit8 v14, v14, 0x1
+
+    :cond_35
+
+    const-string v20, "+60"
+
+    move-object/from16 v0, v20
+
+    invoke-virtual {v13, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v20
+
+    if-eqz v20, :cond_36
+
+    const-string v20, "+60"
+
+    const-string v21, ""
+
+    move-object/from16 v0, v20
+
+    move-object/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v13
+
+    const/16 v20, 0x0
+
+    invoke-virtual {v13}, Ljava/lang/String;->length()I
+
+    move-result v21
+
+    move/from16 v0, v20
+
+    move/from16 v1, v21
+
+    invoke-virtual {v13, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object v13
+
+    add-int/lit8 v14, v14, 0x1
+    .line 2748:cond_5invoke-static {v13}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Zmove-result v20@@ -1445,13 +1679,13 @@add-int/lit8 v18, v18, 0x1.line 2754goto :goto_2.line 2742
-    :cond_6
+    :cond_36add-int/lit8 v14, v14, 0x1.line 2743goto :goto_2.line 2757

四、com\pantech\app\mms\ui\MessageUtils.java

目标代码分析:

  public static String getFromNumber(){String str = getLocalNumber();if ((SystemHelpers.isCurrentInbound()) && (str.startsWith("+82")))str = str.replace("+82", "0");return str;}

改为

  public static String getFromNumber(){String str = getLocalNumber();if ((SystemHelpers.isCurrentInbound()) && (str.startsWith("+82")))str = str.replace("+82", "0");if ((SystemHelpers.isCurrentInbound()) && (str.startsWith("+86")))str = str.replace("+86", "");if ((SystemHelpers.isCurrentInbound()) && (str.startsWith("+886")))str = str.replace("+886", "0");if ((SystemHelpers.isCurrentInbound()) && (str.startsWith("+852")))str = str.replace("+852", "");if ((SystemHelpers.isCurrentInbound()) && (str.startsWith("+853")))str = str.replace("+853", "");if ((SystemHelpers.isCurrentInbound()) && (str.startsWith("+84")))str = str.replace("+84", "");if ((SystemHelpers.isCurrentInbound()) && (str.startsWith("+60")))str = str.replace("+60", "");return str;}

接下来修改smali汇编

com\pantech\app\mms\ui\MessageUtils.smali

    const-string v1, "+82"const-string v2, "0"invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;move-result-object v0.line 540
:cond_0+    invoke-static {}, Lcom/pantech/app/mms/config/SystemHelpers;->isCurrentInbound()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_1
+
+    const-string v1, "+86"
+
+    invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v1
+
+    if-eqz v1, :cond_1
+
+    const-string v1, "+86"
+
+    const-string v2, ""
+
+    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    :cond_1
+
+    invoke-static {}, Lcom/pantech/app/mms/config/SystemHelpers;->isCurrentInbound()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_2
+
+    const-string v1, "+886"
+
+    invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v1
+
+    if-eqz v1, :cond_2
+
+    const-string v1, "+886"
+
+    const-string v2, "0"
+
+    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    :cond_2
+
+    invoke-static {}, Lcom/pantech/app/mms/config/SystemHelpers;->isCurrentInbound()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_3
+
+    const-string v1, "+852"
+
+    invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v1
+
+    if-eqz v1, :cond_3
+
+    const-string v1, "+852"
+
+    const-string v2, ""
+
+    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    :cond_3
+
+    invoke-static {}, Lcom/pantech/app/mms/config/SystemHelpers;->isCurrentInbound()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_4
+
+    const-string v1, "+853"
+
+    invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v1
+
+    if-eqz v1, :cond_4
+
+    const-string v1, "+853"
+
+    const-string v2, ""
+
+    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    :cond_4
+
+    invoke-static {}, Lcom/pantech/app/mms/config/SystemHelpers;->isCurrentInbound()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_5
+
+    const-string v1, "+84"
+
+    invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v1
+
+    if-eqz v1, :cond_5
+
+    const-string v1, "+84"
+
+    const-string v2, ""
+
+    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    :cond_5
+
+    invoke-static {}, Lcom/pantech/app/mms/config/SystemHelpers;->isCurrentInbound()Z
+
+    move-result v1
+
+    if-eqz v1, :cond_6
+
+    const-string v1, "+60"
+
+    invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v1
+
+    if-eqz v1, :cond_6
+
+    const-string v1, "+60"
+
+    const-string v2, ""
+
+    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object v0
+
+    :cond_6
+    return-object v0.end method.method public static getLocalNumber()Ljava/lang/String;.locals 1

五、com\pantech\app\mms\ui\RecipientsEditor.java

目标代码分析:

      if ((FeatureConfig.isLGVendor()) && (paramString.startsWith("+"))){if (paramString.startsWith("+82")){String str4 = paramString.replace("+82", "0");String str5 = str4.substring(0, str4.length());Toast.makeText(this.hComposer, 2131558467, 0).show();addImageBtn(str5, true);return false;}

改为

      if (paramString.startsWith("+")){if (paramString.startsWith("+82")){String str16 = paramString.replace("+82", "0");String str17 = str16.substring(0, str16.length());Toast.makeText(this.hComposer, 2131558467, 0).show();addImageBtn(str17, true);return false;}
        if (paramString.startsWith("+86")){String str14 = paramString.replace("+86", "");String str15 = str14.substring(0, str14.length());Toast.makeText(this.hComposer, 2131558467, 0).show();addImageBtn(str15, true);return false;}if (paramString.startsWith("+886")){String str12 = paramString.replace("+886", "0");String str13 = str12.substring(0, str12.length());Toast.makeText(this.hComposer, 2131558467, 0).show();addImageBtn(str13, true);return false;}if (paramString.startsWith("+852")){String str10 = paramString.replace("+852", "");String str11 = str10.substring(0, str10.length());Toast.makeText(this.hComposer, 2131558467, 0).show();addImageBtn(str11, true);return false;}if (paramString.startsWith("+853")){String str8 = paramString.replace("+853", "");String str9 = str8.substring(0, str8.length());Toast.makeText(this.hComposer, 2131558467, 0).show();addImageBtn(str9, true);return false;}if (paramString.startsWith("+84")){String str6 = paramString.replace("+84", "");String str7 = str6.substring(0, str6.length());Toast.makeText(this.hComposer, 2131558467, 0).show();addImageBtn(str7, true);return false;}if (paramString.startsWith("+60")){String str4 = paramString.replace("+60", "");String str5 = str4.substring(0, str4.length());Toast.makeText(this.hComposer, 2131558467, 0).show();addImageBtn(str5, true);return false;}

接下来修改smali汇编

com\pantech\app\mms\ui\RecipientsEditor.smali

     invoke-direct {p0, p1}, Lcom/pantech/app/mms/ui/RecipientsEditor;->isMaxDigitLength(Ljava/lang/String;)Imove-result v0.line 2308.local v0, isOverMaxLen:I
-    invoke-static {}, Lcom/pantech/app/mms/config/FeatureConfig;->isLGVendor()Z
-
-    move-result v4
-
-    if-eqz v4, :cond_5.line 2309const-string v4, "+"invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z@@ -1303,12 +1298,241 @@invoke-virtual {p0, p1, v3}, Lcom/pantech/app/mms/ui/RecipientsEditor;->addImageBtn(Ljava/lang/String;Z)Vgoto :goto_0.line 2318:cond_4
+
+    const-string v4, "+86"
+
+    invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v4
+
+    if-eqz v4, :cond_31
+
+    const-string v4, "+86"
+
+    const-string v5, ""
+
+    invoke-virtual {p1, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p1
+
+    invoke-virtual {p1}, Ljava/lang/String;->length()I
+
+    move-result v4
+
+    invoke-virtual {p1, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object p1
+
+    iget-object v4, p0, Lcom/pantech/app/mms/ui/RecipientsEditor;->hComposer:Lcom/pantech/app/mms/ui/ComposeMessageActivity;
+
+    invoke-static {v4, v7, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
+
+    move-result-object v4
+
+    invoke-virtual {v4}, Landroid/widget/Toast;->show()V
+
+    invoke-virtual {p0, p1, v3}, Lcom/pantech/app/mms/ui/RecipientsEditor;->addImageBtn(Ljava/lang/String;Z)V
+
+    goto :goto_0
+
+    :cond_31
+
+    const-string v4, "+886"
+
+    invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v4
+
+    if-eqz v4, :cond_32
+
+    const-string v4, "+886"
+
+    const-string v5, "0"
+
+    invoke-virtual {p1, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p1
+
+    invoke-virtual {p1}, Ljava/lang/String;->length()I
+
+    move-result v4
+
+    invoke-virtual {p1, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object p1
+
+    iget-object v4, p0, Lcom/pantech/app/mms/ui/RecipientsEditor;->hComposer:Lcom/pantech/app/mms/ui/ComposeMessageActivity;
+
+    invoke-static {v4, v7, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
+
+    move-result-object v4
+
+    invoke-virtual {v4}, Landroid/widget/Toast;->show()V
+
+    invoke-virtual {p0, p1, v3}, Lcom/pantech/app/mms/ui/RecipientsEditor;->addImageBtn(Ljava/lang/String;Z)V
+
+    goto :goto_0
+
+    :cond_32
+
+    const-string v4, "+852"
+
+    invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v4
+
+    if-eqz v4, :cond_33
+
+    const-string v4, "+852"
+
+    const-string v5, ""
+
+    invoke-virtual {p1, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p1
+
+    invoke-virtual {p1}, Ljava/lang/String;->length()I
+
+    move-result v4
+
+    invoke-virtual {p1, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object p1
+
+    iget-object v4, p0, Lcom/pantech/app/mms/ui/RecipientsEditor;->hComposer:Lcom/pantech/app/mms/ui/ComposeMessageActivity;
+
+    invoke-static {v4, v7, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
+
+    move-result-object v4
+
+    invoke-virtual {v4}, Landroid/widget/Toast;->show()V
+
+    invoke-virtual {p0, p1, v3}, Lcom/pantech/app/mms/ui/RecipientsEditor;->addImageBtn(Ljava/lang/String;Z)V
+
+    goto :goto_0
+
+    :cond_33
+
+    const-string v4, "+853"
+
+    invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v4
+
+    if-eqz v4, :cond_34
+
+    const-string v4, "+853"
+
+    const-string v5, ""
+
+    invoke-virtual {p1, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p1
+
+    invoke-virtual {p1}, Ljava/lang/String;->length()I
+
+    move-result v4
+
+    invoke-virtual {p1, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object p1
+
+    iget-object v4, p0, Lcom/pantech/app/mms/ui/RecipientsEditor;->hComposer:Lcom/pantech/app/mms/ui/ComposeMessageActivity;
+
+    invoke-static {v4, v7, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
+
+    move-result-object v4
+
+    invoke-virtual {v4}, Landroid/widget/Toast;->show()V
+
+    invoke-virtual {p0, p1, v3}, Lcom/pantech/app/mms/ui/RecipientsEditor;->addImageBtn(Ljava/lang/String;Z)V
+
+    goto :goto_0
+
+    :cond_34
+
+    const-string v4, "+84"
+
+    invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v4
+
+    if-eqz v4, :cond_35
+
+    const-string v4, "+84"
+
+    const-string v5, ""
+
+    invoke-virtual {p1, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p1
+
+    invoke-virtual {p1}, Ljava/lang/String;->length()I
+
+    move-result v4
+
+    invoke-virtual {p1, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object p1
+
+    iget-object v4, p0, Lcom/pantech/app/mms/ui/RecipientsEditor;->hComposer:Lcom/pantech/app/mms/ui/ComposeMessageActivity;
+
+    invoke-static {v4, v7, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
+
+    move-result-object v4
+
+    invoke-virtual {v4}, Landroid/widget/Toast;->show()V
+
+    invoke-virtual {p0, p1, v3}, Lcom/pantech/app/mms/ui/RecipientsEditor;->addImageBtn(Ljava/lang/String;Z)V
+
+    goto :goto_0
+
+    :cond_35
+
+    const-string v4, "+60"
+
+    invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+    move-result v4
+
+    if-eqz v4, :cond_36
+
+    const-string v4, "+60"
+
+    const-string v5, ""
+
+    invoke-virtual {p1, v4, v5}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p1
+
+    invoke-virtual {p1}, Ljava/lang/String;->length()I
+
+    move-result v4
+
+    invoke-virtual {p1, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
+
+    move-result-object p1
+
+    iget-object v4, p0, Lcom/pantech/app/mms/ui/RecipientsEditor;->hComposer:Lcom/pantech/app/mms/ui/ComposeMessageActivity;
+
+    invoke-static {v4, v7, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
+
+    move-result-object v4
+
+    invoke-virtual {v4}, Landroid/widget/Toast;->show()V
+
+    invoke-virtual {p0, p1, v3}, Lcom/pantech/app/mms/ui/RecipientsEditor;->addImageBtn(Ljava/lang/String;Z)V
+
+    goto :goto_0
+
+    :cond_36
+    iget-object v3, p0, Lcom/pantech/app/mms/ui/RecipientsEditor;->hComposer:Lcom/pantech/app/mms/ui/ComposeMessageActivity;invoke-static {v3, v7, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;move-result-object v3

六、com\pantech\app\mms\util\StringUtils.java

目标代码分析:

public static String replaceInternationalCode(String paramString){if (!TextUtils.isEmpty(paramString))paramString = paramString.replace("+82", "0").replace("+", "");return paramString;}

改为

  public static String replaceInternationalCode(String paramString){if (!TextUtils.isEmpty(paramString))paramString = paramString.replace("+82", "0").replace("+86", "").replace("+886", "0").replace("+852", "").replace("+853", "").replace("+60", "").replace("+84", "").replace("+", "");return paramString;}

接下来修改smali汇编

com\pantech\app\mms\util\StringUtils.smali

     const-string v0, "+82"const-string v1, "0"invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;+    move-result-object p0
+
+    const-string v0, "+86"+    const-string v1, ""+    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p0
+
+    const-string v0, "+886"
+
+    const-string v1, "0"
+
+    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p0
+
+    const-string v0, "+852"
+
+    const-string v1, ""-    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p0
+
+    const-string v0, "+853"
+
+    const-string v1, ""
+
+    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p0
+
+    const-string v0, "+60"
+
+    const-string v1, ""
+
+    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p0
+
+    const-string v0, "+84"
+
+    const-string v1, ""
+
+    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
+
+    move-result-object p0
+
+    const-string v0, "+"
+
+    const-string v1, ""
+
+    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;move-result-object p0.line 726:cond_0return-object p0

韩版机泛泰A850改mms.apk去除收到短信的国家代码相关推荐

  1. 韩版机泛泰A850去除漫游时拨号选择框

    修改Phone.odex去除漫游时跳出拨号选择框 for A850 适用于泛泰A850K,系统版本S0837210 Java.samli.baksmali.dex2jar.jd-gui.apktool ...

  2. 韩版机泛泰A850framework去除漫游、本地化

    适用于泛泰A850K,系统版本S0837210 改framework.odex或framework.jar去除漫游,发送短信时可以把国家代码替换为0 Java.samli.baksmali.dex2j ...

  3. [Android 4.4.2] 泛泰A850 Mokee4.4.2 20140509 RC2.0 by syhost

    感谢: tenfar(R大师),zhaochengw(z大).windxixi(雪狐),xuefy(大星星).suky, cofface 感谢參考代码:  Cyanogenmod , martincz ...

  4. 泛泰A850工程机与正式机分区表对比

    我们依次解析泛泰A850K的工程机和正式机的分区表,并保存为CSV文件,然后打开文本比较工具对比一下: 可以发现: 1.      工程机的分区表与正式机的分区表是有差异的. 2.      工程机的 ...

  5. android5.1 rom互刷,红米Note移动版刷机包 乐蛙OS5.1通刷版 短信弹窗 整体美化 快速流畅稳定省电...

    卡刷方法 1.刷机前,请提前做好资料的备份(推荐钛备份.GO备份.或者中文Recovery自带的备份功能) 1.将下载好的ZIP格式卡刷包复制到SD卡/内置卡根目录: 2.手机完全关机状态,按组合键手 ...

  6. 泛泰 A850 4.1.2 刷第三方专用Recovery合集

    下载 http://download.csdn.net/detail/benjaminwan/7406089 专用于刷基于AOSP4.1.2的乐蛙和MIUIV5 因为本人制作的第三方ROM,为了通刷, ...

  7. APP、网站等注册、登录、改密等发送验证码短信的接入流程---创蓝253云通讯

    1.登录 https://zz.253.com/site/login.html 2.获取接口API账号,密码:选择任意产品>激活>企业认证(上传公司营业执照) 3.申请签名(以公司简称或缩 ...

  8. 10024.多媒体短信MMS

    一.MMS的基本概念 1. 什么是MMS? MMS是Multimedia Messaging Service的缩写,中文意为多媒体短信业务,是按照3GPP的标 准( 3GPP TS 23.140)和W ...

  9. Android Mms短信的发送流程,短信发送源码解析

    发送前的校验 从短信的点击按钮开始着手: // packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java@Overrid ...

最新文章

  1. CVD和ALD薄膜沉积技术应用领域
  2. 售卖ssr_博人传148集:SSR鸣人卡牌受追捧,“金钱之术”重现,太子被盯上
  3. hbase实践之写流程拾遗
  4. 深入浅出空间索引:2
  5. C++: C++函数声明的时候后面加const
  6. [USACO1.5]八皇后 Checker Challenge
  7. keil3如何放大字体_国潮海报不会做?送你国风字体+图案笔刷+PSD素材+包装样机...
  8. 两个常用的Infopath Service读取域值的函数
  9. PaddlePaddle迁移学习做图像分类,数十种高精度模型任意切换
  10. Linux 内核 3.8 是给 Linux 用户的圣诞礼物
  11. 将n划分成最大数不超过m的划分数
  12. 谈如何边做事,边提高
  13. MUI框架开发HTML5手机APP
  14. Linux学习第一周作业。
  15. java APP支付宝支付
  16. Adobe Dreamweaver CS6快捷键使用
  17. python猜数字游戏编程 可猜次数用户说继续 则程序继续_python猜数字游戏
  18. 优化TCP/IP,HTTP,Https,Socket,websocket,弱网及网络协议(概念)
  19. Linux CentOS7 备份及还原系统
  20. Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operat

热门文章

  1. python接入支付宝
  2. JavaWeb实现生成二维码
  3. zxing二维码的使用
  4. php打包签名apk文件在哪,Android_android应用签名详细步骤,1、准备工作apk的签名工作可以 - phpStudy...
  5. sqlmap tamper mysql_Sqlmap Tamper大全(1)
  6. 2022年最新个人免签易支付源码网站对接支付教程
  7. 使用httpModule做权限系统
  8. win 10 禁用键盘,下载vc
  9. 【STM32/FreeRTOS】精准延时的实现
  10. ISTQB TM考点总结