首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【错误记录】IntelliJ IDEA 打包包含依赖库的 Jar 包执行报错 ( Invalid signature file digest for Manifest main attribute )

: Invalid signature file digest for Manifest main attributes jar 包中的签名文件是无效的 , 删除 META-INF 目录下的签名文件即可...; 打开压缩包 , 删除这两个 签名文件 ; 一、报错信息 ---- 处理依赖库时 , 选择将 依赖库 打包到 Jar 包内 , 配置如下 : 如果使用第二种方式 , 会在打包时 , 只对核心的主程序代码进行打包..., 将依赖库拷贝到同级目录中 ; 如果这样 , 将程序拷贝到其它目录时 , 还需要单独拷贝依赖库 , 这样操作比较繁琐 ; 这是使用第二种方式 , 输出的 jar 包 , 要独立管理一堆 jar 包...: Manifest主属性的签名文件摘要无效 该错误提示很明显 , 就是说 jar 包中的 META-INF 信息签名文件无效 ; 签名文件 无效 , 就不用签名文件 , 直接删除这两个签名文件 ; 使用压缩工具打开..., 这里我使用的是 7-zip 压缩工具打开了 jar 包 , 删除 MANIFEST.MF 和 MSFTSIG.RSA 两个签名文件 ; 然后再次执行程序 , 程序可以正常运行 ;

2.1K30

JAR 文件规范详解

如果不使用jarsigner,签名程序必须同时构造签名文件和签名块文件。对于签名JAR文件中的每个文件条目,会在清单文件中为它创建一个单独的清单条目。...2.1签名验证如果签名是有效的,并且在签名生成之后,JAR文件中的任何文件都没有被更改,那么就会发生成功的JAR文件验证。JAR文件验证包括以下步骤:① 在第一次解析清单时,验证在签名文件上的签名。...注意,此验证仅验证签名说明本身,而不是实际的归档文件。② 如果签名文件中存在x-Digest-Manifest属性,则根据根据整个清单计算的摘要验证该值。...条目,则根据根据清单文件中的主要属性计算的摘要验证该值。...Ⅱ.根据根据清单文件中相应条目计算的摘要值,验证签名文件中每个源文件信息部分中的摘要值。如果任何摘要值不匹配,则JAR文件验证失败。

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    安卓逆向系列篇:基本概念&环境配置

    lib文件夹中存放的是当前apk需要的so文件,so文件是利用底层的C/C++代码实现的 META-INF文件是所用到的证书签名文件,包含几个文件MANIFEST.MF (摘要文件) :程序遍历APK包中的所有文件...,对非文件夹非签名文件的文件,逐个用SHA1生成摘要信息,再用Base64进行编码。...CERT.SF (对摘要文件的签名文件) :对于生成的MANIFEST.MF文件利用SHA1-RSA算法对开发者的私钥进行签名。在安装时只有公共密钥才能对其解密。...hl=zh-cn 1)下载解压至C盘 2)配置环境变量 C:\android-ndk-r10e 3)构建build 4、Android Killer安装 Android Killer是一款安卓逆向工具...,集Apk反编译、Apk打包、Apk签名、编码互转、ADB通信等特色功能于一身,支持logcat日志输出,语法高亮,基于关键字项目内搜索,可自定义外部工具,简化了用户在安卓应用中的各种琐碎工作。

    97320

    浅入浅出 Android 安全:第六章 Android 安全的其它话题

    在应用程序签名过程中,jarsigner创建META-INF目录,在 Android 中通常包含以下文件:清单文件(MANIFEST.MF),签名文件(扩展名为.SF)和签名块文件(.RSA或.DSA)...清单文件(MANIFEST.MF)由主属性部分和每个条目属性组成,每个包含在未签名的apk中文件拥有一个条目。 这些每个条目中的属性存储文件名称信息,以及使用 base64 格式编码的文件内容摘要。...在 Android 上,SHA1 算法用于计算摘要。 清单 6.1 中提供了清单文件的摘录。...主要部分包含清单文件的主要属性的摘要(SHA1-Digest-Manifest-Main-Attributes)和内容摘要(SHA1-Digest-Manifest)。...每个条目包含清单文件中的条目的摘要以及相应的文件名。

    35630

    Android 安全之APK签名过程

    在应用程序签名过程中,jarsigner创建META-INF目录,在 Android 中通常包含以下文件:清单文件(MANIFEST.MF),签名文件(扩展名为.SF)和签名块文件(.RSA或.DSA)...清单文件(MANIFEST.MF)由主属性部分和每个条目属性组成,每个包含在未签名的apk中文件拥有一个条目。 这些每个条目中的属性存储文件名称信息,以及使用 base64 格式编码的文件内容摘要。...在 Android 上,SHA1 算法用于计算摘要。 清单 6.1 中提供了清单文件的摘录。...主要部分包含清单文件的主要属性的摘要(SHA1-Digest-Manifest-Main-Attributes)和内容摘要(SHA1-Digest-Manifest)。...每个条目包含清单文件中的条目的摘要以及相应的文件名。

    1K10

    【Android 安装包优化】APK 打包流程 ( 文件结构 | 打包流程 | 安装流程 | 安卓虚拟机 )

    文章目录 一、APK 文件结构 二、APK 打包流程 三、APK 安装流程 四、安卓虚拟机 一、APK 文件结构 ---- Android 应用的安装包时 以 " .apk " 为后缀的 APK 文件...的签名文件 ; CERT.SF : 摘要加密 , 使用私钥 对 摘要明文 加密后的 密文信息 , 是加密文件 , 如果要解密该文件 , 必须使用与私钥配对的公钥进行解密 ; CERT.RSA : 文件是签名证书文件..., 存放的是公钥和加密算法的描述 ; MANIFEST.MF : 文件摘要 , 存放程序清单文件 , 包含了 APK 安装包 中所有文件的 摘要明文 ; 剩余文件 : 都是可忽略的资源文件 ; ④...源码为 class 字节码文件 ; ④ 使用 dx 工具将 class 字节码文件打包成 dex 字节码文件 , 这是 Dalvik 虚拟机字节码文件 ; ⑤ 使用 apkbuilder 工具生成未签名的...; 四、安卓虚拟机 ---- 虚拟机是一个可以运行 class , odex , oat 可执行文件的运行环境 ; 常见的虚拟机有 Java 虚拟机 , Dalvik 虚拟机 , ART 虚拟机 ;

    1.3K31

    【字节码插桩】Android 签名机制 ( 生成 Android 签名文件 | 分析签名文件 | 签名文件两个密码的作用 | 三种签名方式 )

    文章目录 一、Android 签名机制 二、生成 Android 签名文件 三、分析签名文件 四、签名文件两个密码的作用 五、三种签名方式 一、Android 签名机制 ---- APK 文件签名 是为了保证...使用私钥对原始数据再次进行加密 ; 校验时 , 使用公钥对原始数据进行解密 ; ③ 写入签名 : 将签名写入签名区块 ; 签名时 , 输入签名文件 keystore 的密码后 , 还要输入的别名 和...别名密码 ; 一个 keystore 可以存放多个密钥 ; 签名相当于一个指纹 , 对 APK 的任何修改 , 哪怕在任意资源文件上加上一个空格 , 都会导致签名被破坏 , 无法通过校验 ; 签名时 ,...使用私钥对 APK 加密 ; 安装 APK 包时 , 系统会使用公钥解密 ; 二、生成 Android 签名文件 ---- 生成签名密钥 : 在 Android Studio 中 , 选择 " 菜单栏..., 在弹出的对话框中 , 点击绿色的安卓图标 , 生成在工程根目录 , 输入密码和别名密码 , 都设置为 123456 , 点击 " OK " 即可生成该签名文件 ; 签名文件生成在工程根目录中

    2.7K30

    安卓逆向系列篇:安卓工具总结

    文章首发于奇安信攻防社区 原文链接:https://forum.butian.net/share/648 一、安卓开发工具 安卓开发工具主要是一些Java开发环境、集成开发环境和安卓开发环境等 1、JDK...代码 简单使用 在smali文件中按q可以反编译回java代码 按Ctrl+b下断点 三、安卓调试工具 这部分为安卓调试工具,主要先介绍下载及安装,JEB动态调试在本文的第六节中介绍,其余的IDEA和...四、安卓辅助工具 这部分主要是一些辅助工具,查询信息、是否加壳等。....apk文件导入至JEB中 2)简单查看反编译后的Java代码 关键点在于checkSN函数,传入两个参数arg11和arg12,分别对应用户名和注册码 MessageDigest类为应用程序提供信息摘要算法的功能...跟进equalsIgnoreCase()函数找到生成的注册码即可,接下来交给动态调试 3、动态调试 1)雷电模拟器中启动注册机apk 随意尝试用户名和注册码进行注册,返回提示无效用户名或注册码 2)JEB

    9.1K31

    移动安全(二)|APK打包流程及签名安全机制初探

    META-INF目录存放的是所用到的证书签名文件,包括:MANIFEST.MF(摘要文件)、CERT.SF和CERT.RSA。...安装时把apk文件复制到此目录data/data ---------------存放应用程序的数据data/dalvik-cache--------将apk中的dex文件安装到dalvik-cache目录下...里面的签名证书文件就是对apk进行签名过程中生成,apk签名过程可以总结如下: 1、对Apk中的每个文件做一次算法(数据SHA1摘要+Base64编码),保存到MANIFEST.MF文件中,具体作法可以理解为程序遍历...APK包中的所有文件,对非目录、非签名文件的文件,逐个用SHA1生成摘要信息,再用Base64进行编码后保存。...2、对MANIFEST.MF整个文件做一次算法(数据SHA1摘要+Base64编码),存放到CERT.SF文件的头属性中,再对MANIFEST.MF文件中各个属性块做一次算法(数据SHA1摘要+Base64

    1.1K10

    MANIFEST.MF文件(PDB文件)

    Signature-Version 定义jar文件的签名版本 4. Class-Path 应用程序或者类装载器使用该值来构建内部的类搜索路径 二. 应用程序相关属性 1....这是 JAR 文件的签名文件。占位符 xxx标识了签名者。 xxx.DSA。 与签名文件相关联的签名程序块文件,它存储了用于签名 JAR 文件的公共签名。...要运行存储在非可执行的 JAR 中的应用程序,必须将它加入到您的类路径中,并用名字调用应用程序的主类。但是使用可执行的 JAR 文件,我们可以不用提取它或者知道主要入口点就可以运行一个应用程序。...在验证一个签名的 JAR 时,将签名文件的摘要值与对 JAR 文件中的相应项计算的摘要值进行比较。 清单 1....一个数字签名是.SF 签名文件的已签名版本。

    83020

    android签名原理

    指纹写入以后,Apk中有任何修改,都会导致这个指纹无效,Android系统在安装Apk进行签名校验时就会不通过,从而保证了安全性。 apk组成 dex:最终生成的Dalvik字节码。...META-INF:存放签名信息 MANIFEST.MF(清单文件):其中每一个资源文件都有一个SHA-256-Digest签名,MANIFEST.MF文件的SHA256(SHA1)并base64编码的结果即为...最后,将其与未加密的摘要信息(MANIFEST.MF文件)进行对比,如果相符,则表明内容没有被修改。 androidManifest:程序的全局清单配置文件。...不可逆性 签名和校验的主要过程 签名就是在摘要的基础上再进行一次加密,对摘要加密后的数据就可以当作数字签名。 签名过程: 1、计算摘要:通过Hash算法提取出原始数据的摘要。...jarsigner和apksigner的区别 Android提供了两种对Apk的签名方式,一种是基于JAR的签名方式,另一种是基于Apk的签名方式,它们的主要区别在于使用的签名文件不一样:jarsigner

    1.2K20

    Android Recovery升级原理

    摘要 Recovery模式指的是一种可以对安卓机内部的数据或系统进行修改的模式(类似于windows PE或DOS)。...也可以称之为安卓的恢复模式,在这个所谓的恢复模式下,我们可以刷入新的安卓系统,或者对已有的系统进行备份或升级,也可以在此恢复出厂设置(格式化数据和缓存)。 1....类似Android应用的mainfest.xml文件。 CERT.RSA:与签名文件相关联的签名程序块文件,它存储了用于签名JAR文件的公共签名。...CERT.SF:这是JAR文件的签名文件,其中前缀CERT代表签名者。...(5)updater-script:updater-script是我们升级时所具体使用到的脚本文件,具体描述了更新过程,它主要用以控制升级流程的主要逻辑。

    4.9K30

    笔记 | Xamarin

    Shell 应用程序时,Shell.CurrentItem 属性将设置为子类化的 Shell 对象中的第一个 FlyoutItem 对象。...Shell 应用程序时,Shell.CurrentItem 属性将设置为子类化的 Shell 对象中的第一个 Tab 对象。...使用此签名文件,对酷安给的未签名apk ( CoolApkDevVerify_no_sign.apk )签名,生成 签名的 signed.apk jarsigner -verbose -keystore...signed.apk:代表你apk的签名包 CoolApkDevVerify_no_sign.apk:代表酷安提供给你的未签名包 输入上面的命令后你桌面要上传到酷安的apk会变成已签名(并且和酷安提供的未签名安装包差不多大...Android 清单包含 android:debuggable 属性,该属性控制是否可以调试应用程序。 将 android:debuggable 属性设置为 false 被视为一种很好的做法。

    24K20

    Android APK 签名校验

    或者SHA256)消息摘要算法提取出该文件的摘要然后进行BASE64编码后,作为“SHA1-Digest”属性的值写入到MANIFEST.MF文件中的一个块中。...首先,如果你改变了apk包中的任何文件,那么在apk安装校验时,改变后的文件摘要信息与MANIFEST.MF的检验信息不同,于是验证失败,程序就不能成功安装。...其次,如果你对更改的过的文件相应的算出新的摘要值,然后更改MANIFEST.MF文件里面对应的属性值,那么必定与CERT.SF文件中算出的摘要值不一样,照样验证失败。...主要做了两步。...然后,使用签名文件,检验MANIFEST.MF文件中的内容也没有被篡改过; JarVerifier.VerifierEntry.verify做了最后一步验证,即保证apk文件中包含的所有文件,对应的摘要值与

    5.1K10

    Android逆向 | 基础知识篇 - 01

    RSA APK基本结构 lib:各种平台下使用的对应的so文件 META-INF文件夹:存放工程一些属性文件 CERT.RSA:公钥和加密算法描述 CERT.SF:加密文件,他是使用私钥对摘要明文加密后得到的密文信息...,只有使用私钥配对的公钥才能解密该文件 MANIFEST.MF:程序清单文件,他包含包中所有文件的摘要明文 resource.arsc:资源加密(语言包)对res目录下的资源的一个索引文件,保存了原工程中...strings.xml等文件内容 drawable:图片 layout:布局 menu:菜单 AndriodMainfest.xml:清单文件(图标、界面、权限、入口),安卓工程的基础配置属性文件。...一般来说,除了音频和视频资源(需要放在raw或asset下),用java开发的安卓工程使用到的资源文件都会放到res下;使用c++游戏引擎的资源文件均需要放在asset下。...Dalvik是google专门为安卓操作系统设计的一个虚拟机,经过深度的优化,虽然安卓上的程序是使用java来开发的,但是Dalvik和标准的java虚拟机JVM还是两回事,Dalvik VM是基于寄存器的

    1.1K40

    安卓应用告别APK格式

    从接触安卓系统开始,APK就一直陪伴着我们,可现在,属于APK的时代恐怕真得要过去了…… 01q 因安卓而被熟知的APK格式 APK全称Android application package,意为“Android...02 安卓宣布启用AAB格式 据悉,安卓早在2018年推出了AAB新格式(AAB全称为“Android App Bundles”),安卓声称这种新格式将使应用程序文件更小。...一旦上传用于发布,Google Play 就会处理 APK 的签名和生成,这个过程称为动态交付 (Dynamic Delivery)。动态交付的用途是,根据用户的设备配置为用户生成优化的 APK。...当用户下载应用程序安装包时,Google Play 会自动识别用户的语言和 CPU 架构,自动将对应平台 SO 和资源的 APK 下发给用户。...目前鸿蒙 OS 的软件大多还是以安卓应用为主。所以如果谷歌全面使用 .aab ,肯定会对鸿蒙产生不利条件。 当然,这样的想法或许是我们多心了,究竟安卓应用这一次改变剑指何处,恐怕还需要时间来验证。

    1.5K40

    BlackHat议题解析:Windows程序的数字签名校验“漏洞”

    找一个带有数字签名的程序来实验,就以微软官方的库文件msvcr100.dll为例。...右键点击文件属性,可以看到有一个数字签名的标签,依次点击可以查看到下面的签名有效状态,表示这个程序的数字签名验证成功,“程序数据没有被篡改”(这里加引号说明理解需要谨慎,详看下文)。 ?...然后修改这个文件,比如在尾部随便添加几个字节的数据,再次查看数字签名的状态后如下图所示,说明系统检测到文件被篡改,数字签名验证为无效。 ?...这就给我们造成一种感觉,数字签名真的可以保证数据不被篡改,只要数据受到篡改,就会被系统的验证机制检测到并提示签名无效。...另一种Windows程序的签名“漏洞” 经过以上的分析,所谓的签名“漏洞”,其实是数字签名文件组织上的概念误区,导致将签名的正常状态和签名文件的完整性混淆在一起。

    1.7K70

    app加固_360加固保手机版

    反编译的方法? 反编译是指apk文件通过反编译工具(例如ApkTool,BakSmali,dex2jar等)对其进行反编译, 反编译后会失去原版APP的什么属性?...一、激活成功教程者如何盗取移动支付用户账号密码–防劫持和校验技术 1.界面劫持:在登陆界面上布置一层透明的UI界面,当用户输入密码时是输入在透明UI界面上,获取用户账户密码。...2.2签名校验:判断应用签名,是否为正版签名,否则提示或退出。...关于第三方的加固方案 安卓dalvik虚拟机要求dex文件在内存中以明文形式存在,那么任何加壳方法,到头来到了内存还是明文存在,各种dump方法终究是可以获得它的.那么APP究竟应该如何加固才能防止APP...另外有一种办法,处理编译后的二进制AndroidManifest.xml文件,添加无效的参数,使反编译得到错误的清单文件,篡改者用这个错误的清单文件回编译会使app在一个错误的上下文中运行,可检测到。

    6.2K30

    CoreOS那些事之Rkt容器尝鲜(下) 转

    值得一提的是,即便使用本地镜像,AppC同样要求镜像有签名认证,关于签名文件的细节在后面的内容里会详细讨论。...其中还详细约定了,对于镜像属性清单中的诸多属性,执行器应当如何进行处理。这些内容对大部分的使用者而言都只能作为参考,还是需要以具体实现的容器产品文档为准。...因此当下的情况是,构建AppC镜像还只能手工创建镜像属性清单文件,拷贝容器中所需的文件,然后直接打包生成镜像。...然后就获得了hello.aci镜像的签名文件hello.aci.asc。...再次尝试运行容器: $ sudo rkt run hello.aci openpgp: signature made by unknown entity 这次提示的错误是,签名文件虽然找到了,但是这个签名的来源并没有在信任列表中

    88120
    领券