apk加固后再签名

简介: apk加固后再签名

前言

apk更新之前需要做安全检测,检测之前一版会做加固处理,加固后还需要重新进行签名。本文介绍一下v1签名和v1+v2签名两种方式。
有文章说需要把apk原来的签名文件,即META-INF文件夹删除,实测不删好像也不会影响。
签名之前需要准备好keystore文件、加固后的apk包

v1签名

v1签名实际是使用jarsigner签名
基本语法如下:

jarsigner -verbose -keystore $1 -storepass $2 -signedjar $3 $4 $5 -digestalg SHA1 -sigalg MD5withRSA
  • $1:keystore文件路径
  • $2:keystore文件密码,如果命令中没带,回车后系统会提示你输入对应密码
  • $3:签名后apk包路径
  • $4:要签名的apk包路径
  • $5:keystore的别名

示例如下:

jarsigner -verbose  -keystore my-release-key.jks -storepass pass -signedjar demo_signed.apk demo.apk alias_name -digestalg SHA1 -sigalg MD5withRSA

v1+v2签名

v1+v2签名就是使用apksigner签名,需要使用到apksigner.jar。这个jar包可以在SDK目录下获取,比如 ~\Android\Sdk\build-tools可以找到几个版本,选择最新的版本即可,拷贝到apk同一目录。
其基本语法如下:

java -jar apksigner.jar sign --ks $1 --ks-key-alias $2 --out $3 $4
  • $1:keystore文件路径
  • $2:keystore的别名
  • $3:签名后apk包路径
  • $4:要签名的apk包路径

此时需要输入keystore文件的密码

示例如下:

java -jar apksigner.jar sign --ks my-release-key.jks --ks-key-alias alias_name --out demo_signed.apk demo.apk

验证签名是否成功命令

java -jar apksigner.jar verify -v --print-certs $1
  • $1:签名后apk包路径

示例:

java -jar apksigner.jar verify -v --print-certs demo_signed.apk

如果显示v1 scheme和v2 scheme都成功即可
image.png

相关文章
|
6月前
|
安全 Java 图形学
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
82 0
|
3月前
|
Java Android开发 Windows
使用keytool查看Android APK签名
本文介绍了如何使用Windows命令行工具和keytool查看APK的签名信息,并提供了使用AOSP环境中的signapk.jar工具对APK进行系统签名的方法。
335 0
使用keytool查看Android APK签名
|
12月前
查看apk的sha1签名
查看apk的sha1签名
123 0
|
安全 Windows
使用jks文件为apk签名
使用jks文件为apk签名
325 0
|
6月前
|
Android开发 数据安全/隐私保护
打包 android apk签名
打包 android apk签名
72 0
|
11月前
|
安全 Java 图形学
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿失了,这篇文章就是解决Unity打包出来的包进行代码加固和混淆。
|
Android开发
apk系统签名小技巧
apk系统签名小技巧
132 0
给apk去签名、重新签名
给apk去签名、重新签名
200 0
给apk去签名、重新签名
|
Web App开发 Java 开发工具
友盟在AS中利用Gradle进行多渠道打包和APK签名发布( 五 )
这篇是直接给大家上代码,希望让大家了解到友盟
658 0
|
Web App开发 Java 开发工具