android v2签名 对齐,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");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值