• 绕过百度云的签名认证


    用apktool 反编译出smali, 然后再打包回去时,因为不知道百度的签名,所以必须用另外的签名。

    java -jar sign.jar .aiduyundistBaiduYun_7.12.1.apk

    然而,百度的程序内部还是会认证签名,从而导致打包的程序不能运行。

    跟踪smali文件,可以看到这段代码

    .class public final Lcom/baidu/bdcvf/CertVerifier;
    .method public _(Landroid/content/Context;Lcom/baidu/bdcvf/CertVerifier$ResultListener;)V
        .locals 0
    
        .prologue
        .line 54
        invoke-static {p1, p2}, Lcom/baidu/bdcvf/N;->a(Ljava/lang/Object;Ljava/lang/Object;)V
    
        .line 55
        return-void
    .end method
    [com/baidu/bdcvf/N;->a] 函数是用来调用libarmeabilibbdcvf.so 来验证签名的。

    如果成功, 会调用
    CertVerifier$ResultListener的 _()V 函数, 如果失败 调用 _(I)V 函数。

    因此,所有应用了CertVerifier$ResultListener的类,用以下改法即可。
    (测试时,因为com/baidu/netdisk/ui/Navigate 启动Active 用到了 com/baidu/netdisk/ui/bg
    所以就改了这一个)
     .method public _(I)V
        .locals 2
        .line 71
        .prologue
         invoke-virtual {p0}, Lcom/baidu/netdisk/ui/bg;->_()V
         return-void
    .end method
    
    .method public _222(I)V
        .locals 2
    
        .prologue
        <省略>
        return-void
    .end method

    新的 _(I)V 函数,调用了_()V 函数, 就通过了。老的函数命名为 _222(I)V 以防改错。

  • 相关阅读:
    MySQL执行计划解读(转载)
    排序算法
    Linux下在防火墙中开启80端口、3306端口
    Android APN
    PB之——DropDownListBox 与 DropDownPictureListBox
    CSS总则。
    WIN7系统中设置默认登录用户
    Javascript日期比较
    myeclipse中UTF-8设置
    webview loadUrl() 弹出系统浏览器解决办法
  • 原文地址:https://www.cnblogs.com/johnsonshu/p/5560320.html
Copyright © 2020-2023  润新知