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

Android 对apk进行重签名和查看签名(window 和mac)及生成签名

生成签名文件:其实是有很多工具可以做到,这里不过是想用命令来生成 其命令如下:生成的签名默认c盘根目录下 keytool -genkey -alias aaaa.keystore -keyalg...destkeystore newandroid.keystore -deststoretype pkcs12 将上面的android.keystore签名迁移到newandroid.keystore,...直接运行keytool命令时不可行的 需要配置环境,将keytool.exe所在的目录配置到环境变量 可以直接下jdk安装配置,也可以用as自带的目录:\jre\bin 命令:keytool...下的.RSA文件 第三步:mac终端或者window控制器上输入命令: keytool -printcert -file xxx.RSA回车,即可查看签名文件.将.RSA文件拖入到-file后面...such file or directory) keystroe的拓展名 可以为.jks(或者是.store 未验证) 但是不能为.txt 否则会报错误 第二种报错: jarsigner: 找不到

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

JAR 文件规范详解

一个JAR文件本质上是包含可选目录META-INF的zip文件,可以通过命令行jar工具或者Java平台上使用java.util.jar的API来创建。...名称-值对和节我们深入每个配置文件的细节之前,需要定义一些格式约定。大部分场景,包含在清单文件和签名文件的信息表示为受RFC822标准启发的所谓的“名称:值”对。...03数字签名数字签名是. sf签名文件的已签名版本。这些是二进制文件,人类无法解释。....这个目录信息存储根jar文件的META-INF目录的一个名为INDEX.LIST的简单文本文件。...如果结果URL无效或引用了无法找到的资源,则将忽略它。生成的URL用于扩展应用程序、applet或servlet的类路径,方法是类路径紧跟着包含JAR文件的URL插入URL。省略任何重复的url。

1.3K10

乐固加固常见问题

一旦出现该情形,建议您检查应用是否存在违规行为。若您将该应用发布出去,极大可能被渠道市场拒绝、无法在用户手机安装。...cmd执行:keytool -printcert -jarfile *.apk即可看到apk的签名MD5字段信息。确认加固前后apk的签名信息是否一致。...cmd执行:keytool -printcert -jarfile *.apk即可看到apk的签名MD5字段信息。确认加固前后apk的签名信息是否一致。...4.签名不成功,META-INF文件夹不完整。应删除META-INF文件夹的.MF文件,再重新签名。 4.加固失败并提示“应用存在安全风险”是什么原因?...cmd执行:keytool -printcert -jarfile *.apk即可看到apk的签名MD5字段信息。确认加固前后apk的签名信息是否一致。

6.3K90

Android V1及V2签名签名原理简析

image.png 可以看到,如果只有V2签名,那么APK包内容几乎是没有改动的,META_INF不会有新增文件,按Google官方文档:使用v2签名方案进行签名时,会在APK文件插入一个APK签名分块...APK签名分块内,签名和签名者身份信息会存储APK签名方案v2分块,保证整个APK文件不可修改,如下图: ?...摘要 如果对APK的资源文件进行了替换,那么该资源的摘要必定发生改变,如果没有修改MANIFEST.MF的信息,那么安装时候V1校验就会失败,无法安装,不过如果篡改文件的同时,也修改其MANIFEST.MF...没有私钥的前提下,非对称加密算法能确保别人无法伪造签名,因此数字签名也是对发送者信息真实性的一个有效证明。...知道了摘要跟签名的概念后,再来看看Android的签名文件怎么来的?如何影响原来APK包?通过sdk的apksign来对一个APK进行签名的命令如下: .

2.5K40

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

应用程序签名过程,jarsigner创建META-INF目录, Android 通常包含以下文件:清单文件(MANIFEST.MF),签名文件(扩展名为.SF)和签名块文件(.RSA或.DSA)...代码 6.2:签名文件的摘录 最后一部分是签名块文件(.DSA或.RSA)。 这个二进制文件包含签名文件的签名版本; 它与相应的.SF文件具有相同的名称。...在这种情况下,META-INF目录中将有几个.SF和.DSA或.RSA文件(它们的数量将等于应用程序签名的次数)。...在上一节,我们注意到 Android ,可以使用多个不同的证书签署相同的应用程序。这解释了为什么该方法使用两个签名数组作为参数。...尽管该方法 Android 安全规定占有重要地位,但其行为强烈依赖于平台的版本。

34530

Android 安全之APK签名过程

本篇,我们会涉及到与 Android 安全相关的其他主题,这些主题不直接属于已经涉及的任何主题。...应用程序签名过程,jarsigner创建META-INF目录, Android 通常包含以下文件:清单文件(MANIFEST.MF),签名文件(扩展名为.SF)和签名块文件(.RSA或.DSA)...在这种情况下,META-INF目录中将有几个.SF和.DSA或.RSA文件(它们的数量将等于应用程序签名的次数)。...在上一节,我们注意到 Android ,可以使用多个不同的证书签署相同的应用程序。这解释了为什么该方法使用两个签名数组作为参数。...尽管该方法 Android 安全规定占有重要地位,但其行为强烈依赖于平台的版本。

99410

【错误记录】exe4j 打包程序无法设置 jar 包依赖的问题 ( 将源码 和 依赖库打包到同一个 jar 包 )

一、问题描述 【错误记录】IntelliJ IDEA 导出可执行 jar 包执行报错 ( java.lang.ClassNotFoundException | 打包时没有选择依赖库 ) 博客遇到...exe4j ; exe4j 执行时 , 会报错 , 无法找到依赖 , 自然也不能找到相关的类 ; java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver...IntelliJ IDEA , 导出 jar 包时 , 选择第一种方案设置 , 然后将所有的 java 源码打包在一起 ; 打包后的效果如下 , 所有的 Java 源码都打包在了一个 jar 包...; 注意 , 要删除 META-INF 目录下的签名文件 ; 【错误记录】IntelliJ IDEA 打包包含依赖库的 Jar 包执行报错 ( Invalid signature file...digest for Manifest main attribute ) 博客 , 遇到了签名文件出错的问题 ;

45020

Android改包3

用WinRAR打开刷机补丁文件CWM_Update.zip,看到有两个目录:    META-INF     刷机脚本文件和签名    system         要复制的补丁内容 继续打开...然后进入META-INF目录(见截图),我们看到有三个文件和一个字文件夹com。这三个文件是签名文件,是签名操作产生的。Android手机里,所有要刷入手机或在手机里运行的程序都必须经过签名。...从com继续向下走,/META-INF/com/google/android目录下看到有两个文件:    update-binary 刷机包用的二进制文件    updater-script 刷机包脚本文件...我的做法是把META-INF的整个目录内容都一起复制过了,里面已经有了三个签名文件和刷机包用的二进制文件update-binary,一次搞定,省事。不要碰再它们了。...实际制作时,可以直接从已有的刷机补丁META-INF目录完全复制过来,连签名过程都省了。但是注意检查一下updater-script的内容,以防造成错误后果! 2.

2K10

Android APK 签名校验

该块有一个“Name”属性,其值就是该文件apk包的路径。...最后,如果你还不死心,继续计算MANIFEST.MF的摘要值,相应的更改CERT.SF里面的值,那么数字签名值必定与CERT.RSA文件记录的不一样,还是失败。 那么能不能继续伪造数字签名呢?...我们还是用前面的例子分析,假设签名后,apk文件多了一个META-INF目录,里面有三个文件,分别是MANIFEST.MF、CERT.SF和CERT.RSA: 通过前面的分析,我们可以知道,MANIFEST.MF...首先,使用证书文件(META-INF目录下,以.DSA、.RSA或者.EC结尾的文件)检验签名文件META-INF目录下,和证书文件同名,但扩展名为.SF的文件)是没有被修改过的。...然后,使用签名文件,检验MANIFEST.MF文件的内容也没有被篡改过; JarVerifier.VerifierEntry.verify做了最后一步验证,即保证apk文件包含的所有文件,对应的摘要值与

4.2K10

探究 Android 签名机制和原理

Android 签名机制和原理 Android系统安装APK的时候,首先会检验APK的签名,如果发现签名文件不存在或者校验签名失败,则会拒绝安装,所以应用程序发布之前一定要进行签名。...对CERT.SF文件做签名,内容存档到CERT.RSA 对一个APK文件签名之后,APK文件根目录下会增加META-INF目录,该目录下增加三个文件,分别是:MANIFEST.MF、CERT.SF...如果改变了APK包的文件,apk安装校验时,改变后的文件摘要信息与 MANIFEST.MF 的检验信息不同,程序就不会安装成功。假如攻击者修改了程序的内容,又重新生成了新的摘要,就可以通过验证。...如果在这一步,开发者修改了程序内容,并生成了新的摘要文件,但是攻击者没有开发者的私钥,所以不能生成正确的签名文件。...系统在对程序进行验证的时候,用开发者公钥对不正确的签名文件进行解密,得到的结果和摘要文件对应不起来,导致不能通过检验,不能成功安装文件。

3K10

4.Android-adt安卓打包过程、adb指令学习

本章学习adt安卓打包过程、adb指令学习、并通过adb将打包的APK发给设备 1.打包 eclipse已经帮我们实现打包了. 具体打包流程如下: ?...) uncompiled resources文件 (未被编译的文件,比如视频等) META-INF签名文件夹 ecilipse打包过程如下: 点击export signed application...然后这个界面让我们填写证书信息的,我们选择"Create new keystore"新建一个签名(keystore:用于对APP签名的),选好保存位置,写好密码,密码默认123456吧,点击继续"next...注意: validity: key的有效期,如果填的年份短,到时候key过期了,则发布新版本APP时,只能换个key,从而导致APP无法升级,只能重装APP才行, 因为一个APP...提示:ADT界面上也可以使用push/pull. push如下图所示: ? pull如下图所示: ?

91510

手把手教你逆向分析 Android 程序

以手机XX应用为例,当你按照上述步骤反编译,重新编译,签名之后,进入 APP 会出现这个页面,无法正常使用。 因为你并没有这个 APP 的正版签名文件(关于签名相关的东西,在后面我再仔细讲)。 ?...我们先通过方法拿到正版的签名md5,然后反编译后的代码搜索一下这个值。 ?...我们可以看到签名前和签名后比较,签名后的文件多了一个文件夹“META-INF”,里面有三个文件 MANIFEST.MF 、 CERT.SF 、 CERT.RSA。...在跟代码的过程也找到了签名对比的函数 compareSignatures ,有空自己看看就好了。 OK,绕了这么久我们终于找到源头了,获取签名就是 META-INF 寻找,并解析。...试想一下,如果我们修改了这个函数,让他解析原来正版的 META-INF 的 CERT.RSA 文件,这样就可以伪造为真正的签名了。

3.2K181

android 获取sha1值的详细说明

我们开发过程,用到很多三方sdk申请一些key值都需要我们提供一个sha1值,例如 百度地图  高德地图。...一.eclipse 开发的小伙伴 调试版本(debug版)sha1获取方式 方法一:打开命令行工具 弹出的命令行程序输入 cd .android 定位到 .android 文件夹(cd和.android...windows->preferences  然后选择 Android—>Build debug版本这两种方法都可以获取到sha1 发布版本(release版)sha1获取方式 和上面的方法一类似打开命令行工具 弹出的命令行程序输入...方法二:Studio工具右侧找到菜单栏“Gradle”—>”APP名”—>“Tasks”—>“android”—>双击“signReport”即可。...特别技巧: 为了避免注册时弄错签名,建议直接用打包出来的apk查看签名,具体如下:  1) 将apk修改后缀为 .rar文件后解压;  2) 进入解压后的META-INF目录,该目录下会存在文件CERT.RSA

2.4K10

Android APK 加固重新签名

加固完成后有加固结果显示 查看加固结果 此时加固就完成了,下载加固包就行了 重新签名 由于腾讯云应用安全需要将APK签名信息删除后才能加固,所以加固后的安装包是没有签名信息的,现在需要对加固包重新签名 使用 JDK 的签名工具...签名命令 jarsigner -verbose -keystore keystore文件路径 -signedjar 签名后生成的apk路径 待签名的apk路径 alias别名 个人本地apk添加签名,签名文件...keystore 和 apk 都在同一个目录下, 签名后的 apk1.apk 也本地 $ jarsigner -verbose -keystore ....\myapp.apk my-key-alias 输入密钥库的密码短语: 正在添加: META-INF/MANIFEST.MF 正在添加: META-INF/MY-KEY-A.SF 正在添加...: META-INF/MY-KEY-A.RSA 正在签名: lib/arm64-v8a/libbetter.so 正在签名: lib/arm64-v8a/libc++_shared.so

3.4K30

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

装逼的解答: Android 系统,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel...常见问题 jarsigner: 找不到XXXX的证书链。XXXX必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目。...出现该错误是因为命令输入的最后一个参数填写的是签名私钥的alias,而不是私钥的文件名称 jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException:...DEBUG权限的数字签名的包,使用jarsigner再次签名导致的,建议用V2重新签名或者导出一个未签名的apk重新签名即可,如果一定要对当前包重新签名,可以选择将文件修改为.zip后缀,然后解压缩,删除META-INF...,即将安装的应用使用自定义签名文件签名,需要卸载原有apk重新安装新签名的apk。

6.4K110
领券