【∮凌锋∮】三星S5 系统三破解修改教程!!

一、破解外置SD卡写入限制:
1、修改手机里这个文件:/system/etc/permissions/platform.xml
2、找到一下代码:
  1. <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
复制代码
3、修改成以下样子:
  1. <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
  2.             <group gid="sdcard_r" />
  3.            <group gid="sdcard_rw" />
  4.            <group gid="media_rw" />
  5.     </permission>

复制代码
二、破解系统签名验证:
系统apk修改后可以重新签名、系统apk  AndroidManifest.xml修改和加入新权限需要破解签名验证。

1、反编译:/system/framework/services.jar
2、修改文件:PackageManagerService.smali,位置:
\services\com\android\server\pm
3、搜索系统签名特征验证方法函数:只有一个!
  1. .method static compareSignatures
复制代码
4、 如果你的代码中多出 .line .param等,直接删除就是,这是我清理以后的代码!
以下是原始代码:
  1. .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
  2.     .registers 9

  3.     if-nez p0, :cond_8

  4.     if-nez p1, :cond_6

  5.     const/4 v6, 0x1

  6.     :goto_5
  7.     return v6

  8.     :cond_6
  9.     const/4 v6, -0x1

  10.     goto :goto_5

  11.     :cond_8
  12.     if-nez p1, :cond_c

  13.     const/4 v6, -0x2

  14.     goto :goto_5

  15.     :cond_c
  16.     new-instance v3, Ljava/util/HashSet;

  17.     invoke-direct {v3}, Ljava/util/HashSet;-><init>()V

  18.     move-object v0, p0

  19.     array-length v2, v0

  20.     const/4 v1, 0x0

  21.     :goto_14
  22.     if-ge v1, v2, :cond_1e

  23.     aget-object v5, v0, v1

  24.     invoke-virtual {v3, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z

  25.     add-int/lit8 v1, v1, 0x1

  26.     goto :goto_14

  27.     :cond_1e
  28.     new-instance v4, Ljava/util/HashSet;

  29.     invoke-direct {v4}, Ljava/util/HashSet;-><init>()V

  30.     move-object v0, p1

  31.     array-length v2, v0

  32.     const/4 v1, 0x0

  33.     :goto_26
  34.     if-ge v1, v2, :cond_30

  35.     aget-object v5, v0, v1

  36.     invoke-virtual {v4, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z

  37.     add-int/lit8 v1, v1, 0x1

  38.     goto :goto_26

  39.     :cond_30
  40.     invoke-virtual {v3, v4}, Ljava/util/HashSet;->equals(Ljava/lang/Object;)Z

  41.     move-result v6

  42.     if-eqz v6, :cond_38

  43.     const/4 v6, 0x0

  44.     goto :goto_5

  45.     :cond_38
  46.     const/4 v6, -0x3

  47.     goto :goto_5
  48. .end method
复制代码
改为:注意这里的V6和 .registers 9是我手机上的,请对照你自己的!
  1. .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
  2.     .registers 9

  3.     const/4 v6, 0x0

  4.     return v6
  5. .end method
复制代码
5、回编,如果不生成odex文件,把原odex文件删除,再替换,搞定!!


三、破解系统官方字体验证:
可以随意安装并使用第三方直装版字体,不会出现:“不支持该字体。联系字体提供商。是否卸载该字体?”
也可自己用电脑可以使用的字体DIY制作 直装版字体!
制作教程: http://bbs.gfan.com/android-7817642-1-1.html
1、反编译: /system/priv-app/SecSettings.apk
2、修改两个文件:FontListPreference.smali 和 FontListActivity.smali,位置:\smali\com\android\settings\flipfont,修改方法一样!
3、搜索下列面字符,字体是否官方验证的方法函数,只有一个!
  1. .method protected checkFont
复制代码
4、接着搜索:aget-object   ,只搜索一次!出现以下代码:
如果你的代码中多出 .line .param等,直接删除就是,这是我清理以后的代码!
  1. sget-object v11, Lcom/android/settings/flipfont/FontListActivity;->apkNameList:[Ljava/lang/String;

  2.   aget-object v11, v11, v6     ---->搜索出来的位置:可能后面的V11等不一样

  3.     move-object/from16 v0, p1

  4.     invoke-virtual {v0, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

  5.     move-result v11

  6.    if-eqz v11, :cond_2      ---->把这段判断跳转语句删除了

  7.     sget-boolean v11, Lcom/android/settings/flipfont/FontListActivity;->DEBUG:Z

  8.     if-eqz v11, :cond_1

  9.     const-string v11, "FlipFont"

  10.     const-string v13, "**Apk name matches list**"
复制代码
5、回编,如果不生成odex文件,把原odex文件删除,再替换,搞定!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值