首页
学习
活动
专区
工具
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.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

为你APK进行数字签名

所有 Android(APK)文件在部署之前都需要被数字签名,Android使用一个已有的密钥签发调试 APK。你可以使用 Java提供 keytool命令来查看。...默认情况下,调试密钥存储库在你用户目录下 .Android子目录下面。默认名字叫作 debug.keystore,并且其密码是 Android。下面示例显示了怎么列举默认证书。 示例....这个密钥库中有一个自签名证书,别名为 Androiddebugkey,当 APK被部署到连接设备或者模拟器上时,其被用于签名调试 APK。...为了重设调试密钥库,简单地删除 debug.keystore文件,下次部署 app时会重新创建。 你不能部署一个发布版本 app除非你对其签名了,意味着生成一个发布用密钥。...如果丢了,你将不能发布任何关于你 app更新,因为所有的版本都必须要用同样密钥签名

63910

Android 简谈安全那点事

应用加固(应用安全): 应用加固包括,防注入、防纂改、反调试,病毒扫描(云扫描); 防注入: 注入就是指的当前APP进程呗其他程序使用特定方法(ptrce,Dlopen等)插入不属于当前APP 模块...,这些模板一般都是具有特殊行为, 如收集App隐私数据, 使用Hook等方法劫持app正常运行流程等,其中Hook是最主要安全风险。...反篡改: 传统判断app是否盗版方法, 业界惯用做法是事先收集大量正版应用信息去做白名单,然后利用当前app名、签名等信息去做匹配, 该方法准确度依赖于白名单库大小,并且需要网络连接,但是现在我了解到一种新型防纂改...反调试调试就是当前app被其他程序使用特定方法(调试器,ptrace )跟踪劫持,被调试app一切行为都可以被其他程序查看和修改,大家可以联想一下平时通过gdb调试程序。...防止重打包; 每一个apk都会有个签名签名只有这个开发者才拥有,如果别人修改了代码,也必须要签名才能运行,但是修改者签名与官方签名是不一致,我们在so里面存储了应用程序官方签名hashcode值

21510

activity组件导出实验

指定可以处理数据类型,允许使用通配符方式进行指定。...同一个签名文件 可以正常启动 打正式 不同签名文件 不可以启动 报错java.lang.SecurityException: Permission Denial: starting Intent {...同一个签名文件 可以正常启动 打正式 不同签名文件 不可以启动 报错java.lang.SecurityException: Permission Denial: starting Intent {...); signature:这种权限级别,只有当发请求应用和接收此请求应用使用同一签名文件,并且声明了该权限才会授权,并且是默认授权,不会提示用户授权 signatureOrSystem:这种权限应该尽量避免使用...,偏向系统级,同一签名或系统级 activity导出-拒绝服务 如果intent传入空,类型错误等数据,导致activity报错,就存在拒绝服务漏洞 activity拒绝服务 activity

1K20

认识并理解 JSON Web Tokens (JWT)

在此文章中,我们将深入了解 JWT 工作原理,并使用 Go 语言来演示其应用。...声明是关于实体(通常是用户)和其他数据陈述。 Signature:签名是由 header、payload、一个密钥和 header 中指定算法生成。它用于验证消息完整性。...每一部分都是通过 Base64Url 编码,这样可以方便地在网络上发送。 使用 Go 创建 JWT 首先,你需要安装 JWT Go 。...().Add(time.Hour * 24).Unix(), // 设置过期时间 Issuer: "test", }) // 使用指定密钥签名令牌并生成一个编码字符串 tokenString...在实际应用中,你需要注意保护签名密钥,防止它们被泄露,同时也需要注意设置和验证令牌过期时间,以防止旧令牌被重新使用

18620

安卓应用安全指南 5.3.3 将内部账户添加到账户管理器 高级话题

表 5.3-1 账户管理器函数以及权限 账户管理器提供函数 权限 方法 AUTHENTICATE_ACCOUNTS(只有由认证器相同密钥签名软件才可以使用。)...AUTHENTICATE_ACCOUNTS权限方法组情况下,存在软件签名密钥以及权限相关限制。...具体来说,提供认证器签名密钥,和使用方法应用签名密钥应该是相同。...在 Android Studio 开发阶段,由于固定调试密钥库可能会被某些 Android Studio 项目共享,开发人员可能只考虑权限而不考虑签名,来实现和测试帐户管理器。...特别是,对于对每个应用使用不同签名密钥开发人员来说,因为这种限制,在选择用于应用密钥时要非常小心。

64010

百步穿杨-看我如何在APP中getshell

如下: 由于请求和响应数据都进行了加密,并且使用同样数据进行请求时候,每次密文都不一样,很显然,数据加密密钥是动态变化。此处阻碍让我有点方了。...服务端先用相应私有密钥打开数字信封,得到对称密钥,然后使用对称密钥解开加密信息。 但是,抓过程中发现,它首先有一个从服务端获取密钥过程。发现每次请求前,客户端都要向服务端发送请求,获取Key。...我们通过脱壳、反编译,拿到了java core代码,成功破解了数据加解密逻辑。接下来可以进行漏洞挖掘。但是在客户端安全方面,上述过程还可能会遇到反调试、反HOOK、完整性校验、重签名检测等威胁。...并且在传递过程中,对数据使用非对称算法进行签名验签,避免数据在传输过程中被篡改。 应用调试:在应用逆向分析过程中是静态分析与动态调试相结合,其中静态分析就是上面所说代码反编译。...应用调试就是动态分析一种重要方式,这里主要是基于无源码进行调试,这里分为SO调试与smali调试,其中SO调试主要使用是GDB、LLDB、IDA pro等工具,调试smali使用是IDEA、AndroidStudio

53430

完全可复制、经过验证 Go 工具链

另一个我们不得不复制是 compress/zlib,因为链接器会写入压缩调试信息,而对压缩库优化可能会更改精确输出。随着时间推移,我们还将其他添加到了这个列表[4]中。...Source directory(源代码目录):Go程序包含了运行时和调试元数据中完整路径,以便在程序崩溃或在调试器中运行时,堆栈跟踪包含源文件完整路径,而不仅仅是文件名。...Cryptographic signing keys(加密签名密钥):macOS上Go工具链除非我们使用获得苹果批准签名密钥对二进制文件进行签名,否则不会在最终用户系统上运行。...我们使用一个内部系统来使用Google签名密钥对它们进行签名,显然,我们不能分享该秘密密钥以允许其他人复制已签名二进制文件。...我们不希望验证器需要完全相同版本这些工具,所以我们采用了与加密签名密钥相同方法,编写了一个验证器,可以查看软件内部并检查工具链文件是否与预期完全相同。

28310

Android应用apk程序签名

这条规则适用于任何运行Android系统地方,不管是真机还是模拟器。因此必须在模拟器或真机上运行/调试程序之前对程序进行签名。 可以使用自己证书来签名。不需要任何授权中心。...可以使用标准工具——Keytool和Jarsigner生成Key并签名apk文件。 一旦为应用程序签名了,一定要使用zipalign工具来优化最终APK。...然后这个Debug key会自动用于apk签名,这样就不需要手动为应用程序签名了。...运行或是调试应用程序 时,ADT会使用Debug证书进行签名,并运行zipalign,然后安装到选择模拟器或是已连接设备。整个过程不需要人工干预。...Release模式下签名 应用程序准备发布给其它用户时,需要: 获取一个合适密钥 在Release模式下编译程序 使用密钥签名程序 对齐APK 如果使用Eclipse ADT插件开发,可以使用导出向导来完成编译

1.9K10

Android APK编译流程

APK 打包器使用调试或发布密钥库为 APK 签名: 3.1. 如果您构建调试版应用(即专用于测试和分析应用),则打包器会使用调试密钥库为应用签名。...Android Studio 会自动使用调试密钥库配置新项目。 3.2. 如果您构建是打算对外发布发布版应用,则打包器会使用发布密钥库为应用签名。 4....系统资源是ox01,SharedLibrary类型资源是0x00, 普通App则是0x7f; // 次一位字节01表示typeID,用来表示资源类型,如drawable、layouts、anims...得到一个签名apk(signed.apk) apksigner 是google 退出V2签名方式 Jarsigner 是之前一直使用V1签名方式 可以通过在命令行中输入apksigner --...(对齐) release mode 下使用 aipalign进行align,即对签名apk进行对齐处理 所谓对齐,主要过程是将APK中所有的资源文件距离文件起始偏移为4字节整数倍,这样通过内存映射访问

1.9K20

Android签名校验机制(数字证书)

这个数字证书并不需要权威数字证书签名机构认证,它只是用来让应用程序自我认证。...签名两种模式 调试模式(debug mode) 在调试模式下,ADT会自动使用debug密钥为应用程序签名,因此我们可以直接运行程序。...发布模式(release mode) 发布程序时,开发者需要使用自己数字证书给apk签名使用自己数字证书给APK签名有两种方法。将在下文描述。...invalid entry compressed size (expected 19384 but got 19942 bytes) 出现该错误原因是因为对一个已经使用DEBUG权限数字签名...,使用jarsigner再次签名导致,建议用V2重新签名或者导出一个未签名apk重新签名即可,如果一定要对当前重新签名,可以选择将文件修改为.zip后缀,然后解压缩,删除META-INF目录,然后再次压缩为

6.3K110

Android逆向 | 基础知识篇 - 03 - 关于 Android 体系结构学习

APK 打包器使用调试或发布密钥库签署您 APK: 如果您构建调试版本应用(即专用于测试和分析应用),打包器会使用调试密钥库签署您应用。...Android Studio 自动使用调试密钥库配置新项目。 如果您构建是打算向外发布发布版本应用,打包器会使用发布密钥库签署您应用。...要创建发布密钥库,请阅读在 Android Studio 中签署您应用 在生成最终 APK 之前,打包器会使用 zipalign 工具对应用进行优化,减少其在设备上运行时内存占用。...或release签名 通过zipalign工具,将签名apk进行对齐处理。...简单来说,apk就是一个带有签名zip格式压缩签名为了保护开发者权益和标识apk。做为android逆向学习第一步,了解apk文件结构和生成过程是很有必要

1.3K40

x.509 简介

1. x.509 简介 X.509是一种公共密钥基础设施(PKI)标准,用于证书格式、结构和管理。X.509证书是用于数字身份验证、数据加密和数字签名关键组件。...•证书扩展(Extensions):包括可选扩展字段,如密钥用途、基本约束、主题备用名称等。•签名算法(Signature Algorithm):指定用于对证书进行签名算法,通常由颁发者签署。...•颁发者数字签名(Issuer's Digital Signature):颁发者使用其私钥对证书内容进行签名,以验证证书真实性。...2. golang 中使用 x.509 Go语言x509是一个用于处理x.509证书和密钥标准库,提供了一组功能,允许你解析、验证和生成x.509证书: •解析证书:x509允许你将X.509...2.2 证书验证 证书验证是一个重要任务,特别是在TLS/SSL通信中。Gox509提供了强大证书验证功能,它允许你验证证书有效性、主机名等信息。

24220
领券