韩版机泛泰A850改mms.apk去除收到短信的国家代码
适用于泛泰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去除收到短信的国家代码相关推荐
- 韩版机泛泰A850去除漫游时拨号选择框
修改Phone.odex去除漫游时跳出拨号选择框 for A850 适用于泛泰A850K,系统版本S0837210 Java.samli.baksmali.dex2jar.jd-gui.apktool ...
- 韩版机泛泰A850framework去除漫游、本地化
适用于泛泰A850K,系统版本S0837210 改framework.odex或framework.jar去除漫游,发送短信时可以把国家代码替换为0 Java.samli.baksmali.dex2j ...
- [Android 4.4.2] 泛泰A850 Mokee4.4.2 20140509 RC2.0 by syhost
感谢: tenfar(R大师),zhaochengw(z大).windxixi(雪狐),xuefy(大星星).suky, cofface 感谢參考代码: Cyanogenmod , martincz ...
- 泛泰A850工程机与正式机分区表对比
我们依次解析泛泰A850K的工程机和正式机的分区表,并保存为CSV文件,然后打开文本比较工具对比一下: 可以发现: 1. 工程机的分区表与正式机的分区表是有差异的. 2. 工程机的 ...
- android5.1 rom互刷,红米Note移动版刷机包 乐蛙OS5.1通刷版 短信弹窗 整体美化 快速流畅稳定省电...
卡刷方法 1.刷机前,请提前做好资料的备份(推荐钛备份.GO备份.或者中文Recovery自带的备份功能) 1.将下载好的ZIP格式卡刷包复制到SD卡/内置卡根目录: 2.手机完全关机状态,按组合键手 ...
- 泛泰 A850 4.1.2 刷第三方专用Recovery合集
下载 http://download.csdn.net/detail/benjaminwan/7406089 专用于刷基于AOSP4.1.2的乐蛙和MIUIV5 因为本人制作的第三方ROM,为了通刷, ...
- APP、网站等注册、登录、改密等发送验证码短信的接入流程---创蓝253云通讯
1.登录 https://zz.253.com/site/login.html 2.获取接口API账号,密码:选择任意产品>激活>企业认证(上传公司营业执照) 3.申请签名(以公司简称或缩 ...
- 10024.多媒体短信MMS
一.MMS的基本概念 1. 什么是MMS? MMS是Multimedia Messaging Service的缩写,中文意为多媒体短信业务,是按照3GPP的标 准( 3GPP TS 23.140)和W ...
- Android Mms短信的发送流程,短信发送源码解析
发送前的校验 从短信的点击按钮开始着手: // packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java@Overrid ...
最新文章
- CVD和ALD薄膜沉积技术应用领域
- 售卖ssr_博人传148集:SSR鸣人卡牌受追捧,“金钱之术”重现,太子被盯上
- hbase实践之写流程拾遗
- 深入浅出空间索引:2
- C++: C++函数声明的时候后面加const
- [USACO1.5]八皇后 Checker Challenge
- keil3如何放大字体_国潮海报不会做?送你国风字体+图案笔刷+PSD素材+包装样机...
- 两个常用的Infopath Service读取域值的函数
- PaddlePaddle迁移学习做图像分类,数十种高精度模型任意切换
- Linux 内核 3.8 是给 Linux 用户的圣诞礼物
- 将n划分成最大数不超过m的划分数
- 谈如何边做事,边提高
- MUI框架开发HTML5手机APP
- Linux学习第一周作业。
- java APP支付宝支付
- Adobe Dreamweaver CS6快捷键使用
- python猜数字游戏编程 可猜次数用户说继续 则程序继续_python猜数字游戏
- 优化TCP/IP,HTTP,Https,Socket,websocket,弱网及网络协议(概念)
- Linux CentOS7 备份及还原系统
- Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operat