java方式调用apksigner对Apk 检查是否签名异常 v1、v2、v3、v4 (JAVA)

apksigner

apksigner 是 Google 官方提供的针对 Android Apk 签名和验证的专用工具,位于 Android SDK / build-tools / SDK 版本 / apksigner 。

无论是 apk 包 还是 jar 包,其本质都是 zip 格式的压缩包,如果只针对 v1 签名的话,两者的签名过程其实差不多。

apksigner 工具默认同时使用 v1 和 v2 签名

在终端输入如下命令即可

java -jar apksigner.jar verify –print-certs –min-sdk-version=24 -v 11.apk

file

JAVA方式调用校验

jar包自己改过,之前只能man调用。修改后抽出了一个公共方法调用。

apksigner-1.1.jar包下载
链接: https://pan.baidu.com/s/1Z6QQA7870C-Y4MB_6K6zVg 提取码: ex92

测试代码:

package com.utils.sign;

import com.alibaba.fastjson.JSON;
import com.android.apksig.ApkVerifier;
import com.android.apksigner.ApkSignerTool;

public class ApkV2SignInfo {

    /**
     * 判断v1~v4签名是否通过
     */
    public static boolean getApkSingInfo(String apkPath) {
        String[] arg = {"--print-certs","--min-sdk-version=24","-v",apkPath};
        try {
             ApkVerifier.Result result = ApkSignerTool.verify2(arg);
             return (result !=null && result.isVerified())?true : false; 
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    //java -jar apksigner-1.0.jar verify --print-certs --min-sdk-version=24 -v 12.apk
    public static void main(String[] args) {
        String apkPath = "F:\\11.APK";
        String[] arg = {"--print-certs","--min-sdk-version=24","-v",apkPath};
        try {
//          ApkSignerTool.main(arg);
             ApkVerifier.Result result = ApkSignerTool.verify2(arg);
             System.out.println(result.isVerified());
             System.out.println(JSON.toJSONString(result));
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

运行得到结果
file

发布者:小站,转转请注明出处:http://blog.gzcity.top/4817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年12月6日 14:46
下一篇 2022年12月9日 17:51

相关推荐

  • chrome怎么导入证书 chrome导入证书的图文步骤

    我们在使用谷歌浏览器时,有时需要导入证书,但是很多人不知道怎么操作,那么Google浏览器怎么导入证书呢,下面本文就介绍一下。 我的Chrome的版本是 1.首先,打开电脑上面的Google之后,点击浏览器右上角的“三个点”按钮,如图所示。 2.然后选择下拉菜单中的“设置”,进入Google的系统设置,如图所示。 3.进入Google的设置之后,点击&quo…

    2022年9月13日
    78910
  • 【Vue学习总结】2. Vue目录结构分析

    接上篇《1.Vue环境搭建、运行第一个项目》 上一篇我们主要讲解了Vue的环境的搭建,本篇我们主要来分析Vue项目的目录结构。 一、Vue项目文件目录详情介绍 下面就是上一篇我们搭建的一个样例工程的完整结构(install后): 其中包括了node_modules、build、config、src、static以及test文件夹,还有index.html的超…

    2022年7月6日
    84610
  • Android版本 (1.0~12.0) 与API Level (SDK版本1~32) 对应表

    什么是 API 级别? API 级别是一个对 Android 平台版本提供的框架 API 修订版进行唯一标识的整数值。 Android 平台提供了一种框架 API,应用可利用它与底层 Android 系统进行交互。 该框架 API 由以下部分组成: 一组核心软件包和类 一组用于声明清单文件的 XML 元素和属性 一组用于声明和访问资源的 XML 元素和属性 …

    Java 2023年6月1日
    41.0K26240
  • 2022年Web前端开发流程和学习路线(详尽版)

    前言 前端侧重于人机交互和用户体验,后端侧重于业务逻辑和大规模数据处理。理论上,面向用户的产品里,所有问题(包括产品、设计、后端、甚至看不见的问题)的表现形式,都会暴露在前端,而只有部分问题(数据问题、计算问题、安全问题等)暴露在后端,这就意味着前端起到了至关重要的承载和连接作用。前端技术的更新日新月异;前端框架的技术选型百家争鸣;视觉审美的潮流不断更替;可…

    2022年7月6日
    98340
  • WebLogic中间件任意命令执行漏洞。

    一、背景简介 Weblogic是一款商用中间件应用服务器产品,可以为应用程序提供运行访问环境。 二、漏洞详情 公开日期:2022-07-29漏洞编号:暂无危害等级:高危漏洞描述:由于没有过滤危险字符,导致攻击者可以对T3/IIOP接口发送恶意内容,执行任意命令。 三、影响版本 未知 四、处置情况 1.暴露在公网的WebLogic应配置对外禁用T3和IIOP,…

    2022年8月3日
    4.5K8950

回复 mostbetnlKn

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1,196条)