美文网首页
Android APK 加固重新签名

Android APK 加固重新签名

作者: 草帽lufei | 来源:发表于2022-02-08 18:08 被阅读0次

    APK 加固流程

    打包APK

    通过 ./gradlew assembleRelease 命令打包,此时的apk没有加固,不符合安全需要

    登录腾讯云执行加固操作

    加固使用 腾讯云 -> 移动应用安全 -> 应用安全 加固方案,加固服务需要认证,自行选择适合自己的方式就行了

    认证成功后,进入 应用加固 页面

    点击去加固,点击 立即加固 ,上传应用成功后如下

    确认加固信息1.png

    点击 确认加固, 在线加固需要几分钟,加固完成后有加固结果显示

    加固成功列表1.png

    查看加固结果

    加固结果.png

    此时加固就完成了,下载加固包就行了

    重新签名

    由于腾讯云应用安全需要将APK签名信息删除后才能加固,所以加固后的安装包是没有签名信息的,现在需要对加固包重新签名

    使用 JDK 中的签名工具 jarsigner

    运行 jarsigner,如果没有设置PATH环境变量,那可以从JDK安装路径下的bin目录中找到

    $ jarsigner -help
    用法: jarsigner [选项] jar-file 别名
           jarsigner -verify [选项] jar-file [别名...]
    
    [-keystore <url>]           密钥库位置
    
    [-storepass <口令>]         用于密钥库完整性的口令
    
    [-storetype <类型>]         密钥库类型
    
    [-keypass <口令>]           私有密钥的口令 (如果不同)
    
    [-certchain <文件>]         替代证书链文件的名称
    
    [-sigfile <文件>]           .SF/.DSA 文件的名称
    
    [-signedjar <文件>]         已签名的 JAR 文件的名称
    
    [-digestalg <算法>]        摘要算法的名称
    
    ...
    

    签名命令

    jarsigner -verbose -keystore keystore文件路径 -signedjar 签名后生成的apk路径 待签名的apk路径 alias别名
    

    个人本地apk添加签名,签名文件 keystore 和 apk 都在同一个目录下, 签名后的 apk1.apk 也在本地

    $ jarsigner -verbose -keystore .\my-release-key.keystore -signedjar .\myapp1.apk .\myapp.apk my-key-alias
    输入密钥库的密码短语:
       正在添加: META-INF/MANIFEST.MF
       正在添加: META-INF/MY-KEY-A.SF
       正在添加: META-INF/MY-KEY-A.RSA
      正在签名: lib/arm64-v8a/libbetter.so
      正在签名: lib/arm64-v8a/libc++_shared.so
      
      ...
      
        正在签名: assets/0OO00l111l1l
      正在签名: tencent_stub
        [可信证书]
    
    jar 已签名。
    
    警告:
    签名者证书为自签名证书。
    

    这样就签名成功了。

    如果喜欢,随手点个赞再走呗 ^-^

    相关文章

      网友评论

          本文标题:Android APK 加固重新签名

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