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

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

: Invalid signature file digest for Manifest main attributes jar 包中的签名文件是无效的 , 删除 META-INF 目录下的签名文件即可...; 打开压缩包 , 删除这两个 签名文件 ; 一、报错信息 ---- 处理依赖库时 , 选择将 依赖库 打包到 Jar 包内 , 配置如下 : 如果使用第二种方式 , 会在打包时 , 只对核心的主程序代码进行打包...: Invalid signature file digest for Manifest main attributes 错误:发生了一个JNI错误,请检查您的安装并重试 java.lang.SecurityException...: Manifest主属性的签名文件摘要无效 该错误提示很明显 , 就是说 jar 包中的 META-INF 信息签名文件无效 ; 签名文件 无效 , 就不用签名文件 , 直接删除这两个签名文件 ; 使用压缩工具打开..., 这里我使用的是 7-zip 压缩工具打开了 jar 包 , 删除 MANIFEST.MF 和 MSFTSIG.RSA 两个签名文件 ; 然后再次执行程序 , 程序可以正常运行 ;

2.1K30

JAR 文件规范详解

主节和单独节都遵循上面指定的节语法。它们都有自己特定的限制和规则。主节包括包括JAR文件自身的安全和配置信息,以及此JAR文件所属应用程序及扩展。清单文件同样定义了每个单独清单条目的主属性。...02签名文件x-Digest-Manifest-Main-Attributes: 其中x是java.security.MessageDigest算法的标准名称,此属性的值是清单文件的主属性的摘要值。...注意,此验证仅验证签名说明本身,而不是实际的归档文件。② 如果签名文件中存在x-Digest-Manifest属性,则根据根据整个清单计算的摘要验证该值。...如果签名文件中不存在x-Digest-Manifest-Main-Attributes条目,那么它的不存在不会影响JAR文件验证,并且清单的主属性也不会被验证。...Ⅱ.根据根据清单文件中相应条目计算的摘要值,验证签名文件中每个源文件信息部分中的摘要值。如果任何摘要值不匹配,则JAR文件验证失败。

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

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

    清单文件(MANIFEST.MF)由主属性部分和每个条目属性组成,每个包含在未签名的apk中文件拥有一个条目。 这些每个条目中的属性存储文件名称信息,以及使用 base64 格式编码的文件内容摘要。...在 Android 上,SHA1 算法用于计算摘要。 清单 6.1 中提供了清单文件的摘录。...主要部分包含清单文件的主要属性的摘要(SHA1-Digest-Manifest-Main-Attributes)和内容摘要(SHA1-Digest-Manifest)。...每个条目包含清单文件中的条目的摘要以及相应的文件名。...代码 6.2:签名文件的摘录 最后一部分是签名块文件(.DSA或.RSA)。 这个二进制文件包含签名文件的签名版本; 它与相应的.SF文件具有相同的名称。

    35630

    Android 安全之APK签名过程

    清单文件(MANIFEST.MF)由主属性部分和每个条目属性组成,每个包含在未签名的apk中文件拥有一个条目。 这些每个条目中的属性存储文件名称信息,以及使用 base64 格式编码的文件内容摘要。...在 Android 上,SHA1 算法用于计算摘要。 清单 6.1 中提供了清单文件的摘录。...主要部分包含清单文件的主要属性的摘要(SHA1-Digest-Manifest-Main-Attributes)和内容摘要(SHA1-Digest-Manifest)。...每个条目包含清单文件中的条目的摘要以及相应的文件名。...代码 6.2:签名文件的摘录 最后一部分是签名块文件(.DSA或.RSA)。 这个二进制文件包含签名文件的签名版本; 它与相应的.SF文件具有相同的名称。

    1K10

    activity组件导出实验

    遇到这样的问题,如果它们只被同一个软件中的代码调用,将activity属性改为android:exported=”false”,如果组件需要对外暴露,应该通过自定义权限限制对它的调用。...属性指定的响应数据类型,在网页中也能得到响应例如: <a href="tea://......可以正常启动 打正式包 不同签名文件 不可以启动 报错java.lang.SecurityException: Permission Denial: starting Intent { act=com.demo.homeapp.test...可以正常启动 打正式包 不同签名文件 不可以启动 报错java.lang.SecurityException: Permission Denial: starting Intent { act=com.demo.homeapp.test...activity导出-拒绝服务 如果intent传入空的,类型错误的等数据,导致activity报错,就存在拒绝服务漏洞 activity拒绝服务 activity导出-泄露数据 如跟其他配置不当组合从而发生泄漏数据风险

    1.2K20

    android签名原理

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

    1.2K20

    MANIFEST.MF文件(PDB文件)

    MD5 SHA-Digest: AjR7RqnN//cdYGouxbd06mSVfI4= MD5-Digest: ZnTIQ2aQAtSNIOWXI1pQpw== 这段内容定义类签名的类名、计算摘要的算法名以及对应的摘要内容...假设应用程序中的主类是com.mycompany.myapp.Sample 。您要创建一个包含应用程序代码的 JAR 文件并标识出主类。...在验证一个签名的 JAR 时,将签名文件的摘要值与对 JAR 文件中的相应项计算的摘要值进行比较。 清单 1....如果类装载器试图寻找一个不存在的资源,那么在应用程序或者 applet 中的所有 JAR 文件都会下载。对于大型的网络应用程序和 applet,这会导致启动缓慢、响应迟缓并浪费带宽。...,包含每个已索引的 JAR 文件中包含的包或者类的名字,如清单 2 所示: 清单 2.

    83020

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

    META-INF目录存放的是所用到的证书签名文件,包括:MANIFEST.MF(摘要文件)、CERT.SF和CERT.RSA。...APK包中的所有文件,对非目录、非签名文件的文件,逐个用SHA1生成摘要信息,再用Base64进行编码后保存。...2、对MANIFEST.MF整个文件做一次算法(数据SHA1摘要+Base64编码),存放到CERT.SF文件的头属性中,再对MANIFEST.MF文件中各个属性块做一次算法(数据SHA1摘要+Base64...编码),存到到一个属性块中。...如果我们只把原文件改动了(比如加入了自己的病毒代码),那么重新打包后系统就会认为文件的SHA1-Base64值和MF的不一致导致安装失败,既然这样,那我们就改一下MF让他们一致呗?

    1.1K10

    探究 Android 签名机制和原理

    背景 最近在调研一个测试工具的使用,在使用中发现被测试工具处理过的apk文件经安装后打开就会崩溃,分析崩溃日志后原因是签名不一致导致的。...对MAINFEST.MF整个文件做一次算法(数据摘要+B阿瑟64编码),存放到CERT.SF文件的头属性中,在对MAINFEST.MF文件中各个属性块做一次算法(数据摘要+Base64编码),存放到一个属性块中...META-INF/android.arch.core_runtime.version SHA1-Digest: BeF7ZGqBckDCBhhvlPj0xwl01dw= CERT.SF 这是对摘要的签名文件...如果在这一步,开发者修改了程序内容,并生成了新的摘要文件,但是攻击者没有开发者的私钥,所以不能生成正确的签名文件。...系统在对程序进行验证的时候,用开发者公钥对不正确的签名文件进行解密,得到的结果和摘要文件对应不起来,导致不能通过检验,不能成功安装文件。

    3.1K10

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

    右键点击文件属性,可以看到有一个数字签名的标签,依次点击可以查看到下面的签名有效状态,表示这个程序的数字签名验证成功,“程序数据没有被篡改”(这里加引号说明理解需要谨慎,详看下文)。 ?...然后修改这个文件,比如在尾部随便添加几个字节的数据,再次查看数字签名的状态后如下图所示,说明系统检测到文件被篡改,数字签名验证为无效。 ?...这就给我们造成一种感觉,数字签名真的可以保证数据不被篡改,只要数据受到篡改,就会被系统的验证机制检测到并提示签名无效。...另一种Windows程序的签名“漏洞” 经过以上的分析,所谓的签名“漏洞”,其实是数字签名文件组织上的概念误区,导致将签名的正常状态和签名文件的完整性混淆在一起。...总结 通过本文的分析,实际上这个程序签名的“漏洞”并算不上通常意义上的漏洞,但是却因为本身比较容易被概念混淆,使用可能没有充分得当,导致可能存在一些比较严重的可利用环节。

    1.7K70

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

    lib文件夹中存放的是当前apk需要的so文件,so文件是利用底层的C/C++代码实现的 META-INF文件是所用到的证书签名文件,包含几个文件MANIFEST.MF (摘要文件) :程序遍历APK包中的所有文件...,对非文件夹非签名文件的文件,逐个用SHA1生成摘要信息,再用Base64进行编码。...CERT.SF (对摘要文件的签名文件) :对于生成的MANIFEST.MF文件利用SHA1-RSA算法对开发者的私钥进行签名。在安装时只有公共密钥才能对其解密。...解密之后将其与未加密的摘要信息进行比对,如果相符则文件没有被修改。...另外单个dex文件的最大为65535KB,超出需要使用两个及以上的dex文件,这导致在启动时会有个合包的过程,使得apk启动慢。 ART ART指的是ART虚拟机,运行的也是.dex文件。

    97320

    IDEA2023 启动缓慢原因(一)

    博主猫头虎 带您 Go to New World.✨ 博客首页——猫头虎的博客 《面试题大全专栏》 文章图文并茂生动形象简单易学!...摘要: 本文讨论了IntelliJ IDEA启动缓慢的问题,探究了可能导致启动缓慢的原因,并提供了解决方法。...然而,有时用户可能会遇到IDEA启动缓慢的问题,这会影响到工作效率和开发体验。本文将探讨可能导致IDEA启动缓慢的一些原因,以及如何通过一些简单的方法来解决这个问题。...用户可以通过修改IDEA的配置文件,增加分配给IDEA的内存,提高启动效率。 磁盘碎片整理:磁盘碎片可能会影响文件读取速度,进而导致IDEA启动缓慢。...,刚开始iIDEA启动慢还没有在意,以为是加载maven依赖慢,后来发现越来越慢,甚至5-10分钟都无法打开,(给idea 增加运行内存的方式全部使用了,还是无效),昨天晚上我把所有插件都关闭后,idea

    1.5K10

    Intellij 14快捷键

    转载自http://www.wolfbe.com/detail/201608/283.html 摘要:IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的...java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。...IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit...、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。...     ALT + 上/下箭头:    光标跳转到上一个方法名、下一个方法名;      ALT + 1:     显示或隐藏工程面板;      ALT + 7:     显示类的所有属性和方法

    36910

    一起来学 SpringBoot | 第一篇:构建第一个 SpringBoot 工程

    摘要: 原创出处 http://blog.battcn.com/2018/04/20/springboot/v2-introducing/ 「唐亚峰」欢迎转载,保留摘要,谢谢!...设计的目标 前提 创建项目 目录结果 pom.xml 依赖 主函数入口 初窥配置文件 测试 拓展知识 自定义Banner 总结 说点什么 ---- SpringBoot 是为了简化 Spring 应用的创建...由于本人更习惯使用Maven所以后续案例都是基于Maven 与 IntelliJ IDEA,同时这里是基于最新的SpringBoot2编写的哦… 创建项目 初次接触,我们先来看看如何创建一个Spring...Boot项目,这里以IntelliJ IDEA为例,其他的IDE工具小伙伴们自行搜索创建方式。...:官方文档 主函数入口 注意事项: 一个项目中切记不要出现多个 main 函数,否在在打包的时候 spring-boot-maven-plugin将找不到主函数(主动指定打包主函数入口除外…) /**

    42110

    Spring Boot 2.4.3、2.3.9 版本发布,你准备好了吗?

    ”时会报错BeanCreationException的问题 16、修复集合属性对configtree配置无效的问题 17、修复用Option.IGNORE_IMPORTS配置容易引起NPE的问题 18、...导致的异常转换问题的问题 27、修复可以通过 org.springframework.cglib.core.ReflectUtils进行非法访问的问题 28、修复元数据日志会记录无效的java.nio.charset.Charset...指标文档 3、应用程序属性附录中整数属性的默认值表示调整为小数 4、阐明BufferingApplicationStartup的用法 5、优化文档索引格式 6、优化属性键中的字符需要使用括号表示法 7、...*属性 11、在参考文档中添加一些关于诊断意外属性值的指导 12、WebMvcProperties.MatchingStrategy记录为从2.4.0开始 13、CONTRIBUTING.adoc 包含了...spring-javaformat-intellij-idea-plugin的断开链接 14、将版本添加到参考文档索引 15、删除YAML部分 依赖项升级 1、 ActiveMQ 5.16.1 2、AppEngine

    2.2K20

    Android APK 签名校验

    或者SHA256)消息摘要算法提取出该文件的摘要然后进行BASE64编码后,作为“SHA1-Digest”属性的值写入到MANIFEST.MF文件中的一个块中。...2)计算这个MANIFEST.MF文件的整体SHA1值,再经过BASE64编码后,记录在CERT.SF主属性块(在文件头上)的“SHA1-Digest-Manifest”属性值值下。...其次,如果你对更改的过的文件相应的算出新的摘要值,然后更改MANIFEST.MF文件里面对应的属性值,那么必定与CERT.SF文件中算出的摘要值不一样,照样验证失败。...首先,使用证书文件(在META-INF目录下,以.DSA、.RSA或者.EC结尾的文件)检验签名文件(在META-INF目录下,和证书文件同名,但扩展名为.SF的文件)是没有被修改过的。...然后,使用签名文件,检验MANIFEST.MF文件中的内容也没有被篡改过; JarVerifier.VerifierEntry.verify做了最后一步验证,即保证apk文件中包含的所有文件,对应的摘要值与

    5.1K10

    《Android群英传 神兵利器》读书笔记

    关于签名 签名文件保存在住module的根目录下。...系统有一个默认的debug签名 Android Studio中签名文件是“.jks”文件 Eclipse中签名文件是".keystore"文件 配置签名: signingConfigs{ xys{...在清单文件创建占位符 -> 配脚本 -> 生成重命名包(注意AS3.0变化) 系统有一个BuildConfig类文件,是无法改变值的。...Debug Gpu Overdraw查看重绘界面 1、改善布局,避免重叠 2、控件与主背景颜色相同:可移除控件背景 3、自定义view背景,使用dipRect属性减少重绘区域 Profile Gpu...JNI:jni相关调用的引用、变量、参数。 Thread:活着的线程。 Stack:栈中的对象。 静态:方法区类的静态属性引用的对象。 常量:方法区中的常量引用的对象(final类型)。

    57610

    【Android 组件化】使用 Gradle 实现组件化 ( 组件模式与集成模式切换 )

    配置 1、Project 层级的 build.gradle 2、Project 层级的扩展变量定义 3、主应用的 build.gradle 4、Library 模块的 build.gradle 六、...中定义全局的变量 , 用于统一管理各个 Module 的编译相关版本号 ; 全局变量可以定义在 ext 扩展 中 , 也可以定义在 gradle.properties 属性 中 ; 组件化的本质就是可以实时切换依赖库...Module 的属性 , 该 Module 是 Application 可执行模块 , 还是 Library 依赖库模块 ; 一、模块化 与 组件化 模式控制 ---- 在顶层 build.gradle...都放在该目录中 ; 下图中 , 蓝色矩形框中是默认的清单文件 , 在 集成模式 下的 Library Module 中使用 ; 红色矩形框中是 组件模式 下使用的清单文件 , 在 Application..."appcompat" : "androidx.appcompat:appcompat:${androidxVersion}" ] } 3、主应用的 build.gradle

    77810
    领券