首页
学习
活动
专区
工具
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 两个签名文件 ; 然后再次执行程序 , 程序可以正常运行 ;

1.1K30

JAR 文件规范详解

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

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

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

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日志输出,语法高亮,基于关键字项目内搜索,可自定义外部工具,简化了用户在应用中各种琐碎工作。

89420

浅入浅出 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)。...每个条目包含清单文件中条目的摘要以及相应文件名。

34230

【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 虚拟机 ;

1K31

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)。...每个条目包含清单文件中条目的摘要以及相应文件名。

98510

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

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

2.5K30

逆向系列篇:工具总结

文章首发于奇信攻防社区 原文链接: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

8.8K31

移动安全(二)|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

96710

MANIFEST.MF文件(PDB文件)

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

65320

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.1K20

Android Recovery升级原理

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

4.5K30

详解Android v1、v2、v3签名(小结)

当然,可以采用强力攻击方法,即尝试每一个可能信息,计算其摘要,看看是否与已有的摘要相同,如果这样做,最终肯定会恢复出摘要消息。...但实际上,要得到信息可能是无穷个消息之一,所以这种强力攻击几乎是无效。 好摘要算法,没有人能从中找到「碰撞」。或者说,无法找到两条消息,使它们摘要相同。...\zipalign.exe) 对齐主要过程是将APK包中所有的资源文件距离文件起始偏移4字节整数倍,这样通过内存映射访问apk文件速度会更快。...其中,v1 到 v2 是颠覆性主要是为了解决 JAR 签名方案安全性问题,而到了 v3 方案,其实结构上并没有太大调整,可以理解 v2 签名方案升级版。...他内容可以包含多个签名签名信息,每个签名信息下包含signed data、signatures、public key,其中,signed data主要存放摘要序列、证书链、额外属性,signatures

2.6K10

Android APK 签名校验

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

4K10

笔记 | 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 被视为一种很好做法。

23.9K20

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.3K40

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

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

1.5K70

app加固_360加固保手机版

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

5.8K30
领券