美文网首页
MAC反编译APK

MAC反编译APK

作者: Ivan_hua | 来源:发表于2016-04-14 15:52 被阅读0次

    环境配置

    Apktool的安装

    1. 官网链接里下载一个shell脚本,保存的名字就是”apktool”,不要带.sh后缀。
    2. 下载最新的apktool-2,在bitbucket上,并重命名为:"apktool.jar"。
    3. 将”apktool”和”apktool.jar”放到 “/usr/local/bin”目录下
    4. 增加这两个文件可执行权限,chmod a+x apktool ;chmod a+x apktool.jar
    5. 执行apktool(测试:apktool -version可以看到版本信息)。

    dex2jar和JD-GUI的安装

    直接下载并解压:dex2jar JD-GUI

    反编译步骤

    1. 新建个apk文件夹,将待破译的apk放进去,之后进到这个目录运行命令: apktool d test.apk
    2. 再运行命令回编译apk: apktool b test,build和dist就是回编译apk过程中生成的东西,dist里的apk文件是没有签名的。
    3. 我们要用dex2jar将apk转成jar文件,将dex2jar里的d2j_invoke.sh、d2j-dex2jar.sh增加可执行权限。然后进到dex2jar这个文件夹下运行: ./d2j-dex2jar.sh /Users/xxx/apk/test.apk ,得到test-dex2jar.jar文件。
    4. 打开JD-GUI,将hongbao-dex2jar.jar拖进去就看到源码了。通过看java源码对比smali文件,修改后回编译就ok了!

    回编译apk签名

    回编译后的apk是安装不成功的,总是提示:Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION] 实质是没签名。

    1. 生成签名:keytool -genkey -keystore test.keystore -keyalg RSA -validity 10000 -alias test
    2. 为apk增加签名:jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa -keystore test.keystore -signedjar test-signed.apk test.apk test

    注意:

    • 最后的”test”就是-alias后面带的,必须保持一致。
    • 如果不带-digestalg SHA1 -sigalg MD5withRSA签名后的apk安装也是不成功的,说INSTALL_PARSE_FAILED_NO_CERTIFICATES的错误,如果不带-tsa会报一个时间方面的警告。

    相关文章

      网友评论

          本文标题:MAC反编译APK

          本文链接:https://www.haomeiwen.com/subject/kfbglttx.html