Android一键V2签名,校验

一般Android加固都自带重签名功能,但是有的加固只加了V1签名,所以还是得自己手动签名下,下面是我用python写的签名以及校验脚本

一键V2签名

# -*- coding: utf-8 -*-
#python2.7
import os
import os.path

#Android BuildTools路径
buildToolDir='...\\build-tools\\27.0.3\\'
#keyStore路径
keyStorePath='your jks file path'
#keystore密码
keyStorePassword = 'your keystore password'
#key别名
keyAlias = 'your key alias'
#key密码
keyPassword = 'your key password'

zipalignPath=buildToolDir+'zipalign.exe';
apksignerPath=buildToolDir+'lib\\apksigner.jar';

if (not os.path.exists('signed')):
    os.mkdir('signed')

if (not os.path.exists('aligned')):
    os.mkdir('aligned')


workDir = os.path.dirname(__file__)
signedDir = os.path.join(workDir, "signed")
alignedDir = os.path.join(workDir, "aligned")
apkDir = os.path.join(workDir, "apks")

#获取要签名的apk文件列表
apkFileList = os.listdir(apkDir)
for fileName in apkFileList:
    apkFilePath=os.path.join(apkDir, fileName)
    alignedFilePath=os.path.join(alignedDir, fileName)
    signedFilePath=os.path.join(signedDir, fileName)

    
    # zipalign
    print("start align:" + fileName)
    aligncmd = '%s -f 4 "%s" "%s"' % (zipalignPath,apkFilePath,alignedFilePath)
    os.system(aligncmd)

    # v1+v2签名
    print("start sign:" + fileName)
    signcmd = '%s sign --ks "%s" --ks-key-alias %s  --ks-pass pass:"%s"  --key-pass pass:"%s"  --out "%s" "%s"' %\
    (apksignerPath,keyStorePath,keyAlias,keyStorePassword,keyPassword,signedFilePath,alignedFilePath)

    os.system(signcmd)

    print(fileName + " sign finish!\n")
os.system("pause");

一键校验对齐与签名

# -*- coding: utf-8 -*-
#python2.7
import os
import sys
import os.path

#Android BuildTools路径
buildToolDir='...\\build-tools\\27.0.3\\'

zipalignPath=buildToolDir+'zipalign.exe';
apksignerPath=buildToolDir+'lib\\apksigner.jar';



if (len(sys.argv)>1):
    apkFilePath=sys.argv[1]
    
    print("start verify:" + apkFilePath)
    # zipalign 校验
    aligncmd = '%s -c -v 4 "%s"' % (zipalignPath,apkFilePath)
    os.system(aligncmd)

    # v1+v2签名校验
    signcmd = 'java -jar %s verify -v --print-certs "%s"' %(apksignerPath,apkFilePath)
    os.system(signcmd)

    print("verify finish!")
os.system("pause");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值