housetimer吧 关注:38贴子:1,927
  • 22回复贴,共1

教程☞ 去除rom签名验证(为rom添加安卓核心破解)

只看楼主收藏回复

此教程转自唯我styles吧


IP属地:广东来自Android客户端1楼2016-03-11 14:12回复
    首先提取system/framework下的core.jar和services.jar,反编译
    先修改core.jar
    打开core.jar.out/smali/java/security/MessageDigest.smali
    搜索.method public static isEqual,只有一个地方
    .method public static isEqual([B[B)Z
    .locals 4
    .parameter "digesta"
    .parameter "digestb"
    .prologue
    const/4 v1, 0x0
    .line 302
    array-length v2, p0
    array-length v3, p1
    if-eq v2, v3, :cond_1
    .line 310
    .....
    .....
    .....
    .end method
    把.prologue下面,.end method上面的全部删掉,删之前保留.prologue下面的第一行出现的.line XXX
    在.line XXX(比如我这里是.line 302)下面一行,输入 const/4 v0, 0x1,留空一行,再下一行输入 return v0
    修改好后是这样
    .method public static isEqual([B[B)Z
    .locals 1
    .parameter "digesta"
    .parameter "digestb"
    .prologue
    .line 302
    const/4 v0, 0x1
    return v0
    .end method
    保存
    这个改了以后apk只要有签名就可以安装,不管签名后的apk是否修改过


    IP属地:广东来自Android客户端2楼2016-03-11 14:13
    回复
      下面是去除不同签名不能覆盖安装的显示!!
      还是core.jar,打开core.jar.out/smali/java/security/Signature.smali
      搜索:.method public final verify
      会找到2处地方,这2个地方都要改
      .method public final verify([B)Z
      .locals 2
      .parameter "signature"
      .annotation system Ldalvik/annotation/Throws;
      value = {
      Ljava/security/SignatureException;
      }
      .end annotation
      .prologue
      .line 372
      iget v0, p0, Ljava/security/Signature;->state:I
      const/4 v1, 0x3
      if-eq v0, v1, :cond_0
      .line 373
      ......
      ......
      ......
      return v0
      .end method
      第二行的.locals 2改成.locals 1
      然后.line 372下面到return v0上面都删掉,.line 372下面添加一行 :const/4 v0, 0x1,下面空一行
      修改完后:
      .method public final verify([B)Z
      .locals 1
      .parameter "signature"
      .annotation system Ldalvik/annotation/Throws;
      value = {
      Ljava/security/SignatureException;
      }
      .end annotation
      .prologue
      .line 372
      const/4 v0, 0x1
      return v0
      .end method
      第二处搜索到的地方也是这样改
      也是.prologue下面一行.line XXX下面开始到return v0上面删掉,添加const/4 v0, 0x1


      IP属地:广东来自Android客户端3楼2016-03-11 14:14
      收起回复
        接下来改services.jar
        反编译后打开services.jar.out/smali/com/android/server/pm/PackageManagerService.smali
        搜索:.method static compareSignatures,只有一处
        .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
        .locals 7
        .parameter "s1"
        .parameter "s2"
        .prologue
        .line 2257
        if-nez p0, :cond_1
        .line 2258
        if-nez p1, :cond_0
        const/4 v6, 0x1
        .line 2277
        :goto_0
        return v6
        .line 2258
        :cond_0
        const/4 v6, -0x1
        goto :goto_0
        。。。
        。。。
        。。。
        :cond_5
        const/4 v6, -0x3
        goto :goto_0
        .end method
        .locals 7改成.locals 1
        .prologue .line XXXX下面到.end method上面的都删除,.line XXXX下一行添加 const/4 v0, 0x0,空一行,再下一行添加return v0
        修改后:
        .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
        .locals 1
        .parameter "s1"
        .parameter "s2"
        .prologue
        .line 2257
        const/4 v0, 0x0
        return v0
        .end method
        重新编译后放framework,重启,重启后会提示Android正在升级,升级完后就可以体验了
        签过名的程序修改后不需要重新签名可以安装,用不同证书签名的程序可以覆盖安装!!!


        IP属地:广东来自Android客户端4楼2016-03-11 14:14
        回复
          本人联想a788t,安卓4.3亲测通过


          IP属地:广东来自Android客户端5楼2016-03-11 14:15
          回复
            @AS魇梦蚀 @housetimer


            IP属地:广东来自Android客户端6楼2016-03-11 14:15
            回复
              需要说一下的是,对于能用幸运破解器破解核心的rom来说,你只要把框架层的 core.jar和service.jar替换进rom包也可以实现核心破解


              IP属地:广东来自Android客户端7楼2016-03-11 14:18
              回复
                另外提示一下 底层框架.jar 要么全部合并odex,要么全部不合并 否则 会变砖


                IP属地:广东来自Android客户端8楼2016-03-11 14:19
                回复
                  大神好腻害


                  IP属地:安徽来自Android客户端9楼2016-03-11 14:21
                  收起回复
                    好厉害
                    ---贴吧极速版 For UWP


                    IP属地:广东来自WindowsPhone客户端10楼2016-03-11 16:45
                    收起回复
                      我手机(安卓5.0)没有core.jar这个文件,只修改services.jar有效果吗?


                      来自Android客户端11楼2017-01-02 13:10
                      收起回复