首页
学习
活动
专区
圈层
工具
发布

Apk 签名验证

当app进行反编译后修改,再回编译,若出现闪退的情况时,则有可能是由于程序本身已存在签名验证,才会出现闪退,今天分享如何解决因签名验证而出现的闪退现象。...,就是获取包管理等的操作 10.通过字符串定位,移动到这个类 11.找到类后,开始获取签名 12.获取签名时,会发现下面还有一个isOwnapp方法,进行一个是否相等的判断...1.安装程序霸哥磁力,直接拖进雷电模拟器,打开程序 2.打开androidkiller,对程序进行重新签名 3.重新签名过后,再次拖入,点击执行 4.将原有程序卸载,安装签名后的程序...5.安装完成,运行程序,提示:很抱歉,“霸哥磁力搜索”已停止运行 6.这里继续分析,首先将原版程序拖到androidkiller中进行反编译 7.反编译完成后,判断程序崩溃在打开程序时...,找到后分析这个函数的引用,进而可以采取手段过掉签名验证。

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

    APK签名原理

    在了解APK签名原理之前,首先澄清几个概念: 消息摘要 -Message Digest 简称摘要,请看英文翻译,是摘要,不是签名,网上几乎所有APK签名分析的文章都混淆了这两个概念。...数字签名 – Signature 数字签名,百度百科对数字签名有非常清楚的介绍。我这里再罗嗦一下,不懂的去看百度百科。...需要注意的是Android APK中的CERT.RSA证书是自签名的,并不需要这个证书是第三方权威机构发布或者认证的,用户可以在本地机器自行生成这个自签名证书。...APK签名过程分析 摘要和签名的概念清楚后,我们就可以分析APK 签名过程了。...Android提供了APK的签名工具signapk ,使用方法如下: signapk [-w] publickey.x509[.pem] privatekey.pk8 input.jar output.jar

    99830

    Android APK 签名原理

    Android APK 签名原理涉及到密码学的加密算法、数字签名、数字证书等基础知识,这里做个总结记录。...Android APK 签名流程 为了防止 APK 在传送的过程中被第三方篡改,Google 引入了签名机制。...签过名的 APK 文件比未签名的 APK 文件多了一个 META-AF 文件夹,包含以下三个文件。签名的信息就在这三个文件中。...2、APK 作者身份唯一性校验 当在 Android 设备上安装 APK 包时,会从存放在 CERT.RSA 中的公钥证书中提取公钥,进行 RSA 解密来校验安装包的身份。...使用不同的 key 生成的签名信息会不同,不同的私钥对应不同的公钥,因此最大的区别是签名证书中存放的公钥会不同,所以我们可以通过提取 CERT.RSA 中的公钥来检查安装包是否被重新签名了。

    3.9K30

    android apk 签名(平台和普通签名)

    签名的用处: 1.应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名。这是由于只有以同一个证书签名,系统才会允许安装升级的应用程序。...如果你采用了不同的证书,那么系统会要求你的应用程序采用不同的包名称,在这种情况下相当于安装了一个全新的应用程序。如果想升级应用程序,签名证书要相同,包名称要相同!...举个例子,如果你里面的apk是签名A,但是外面同包名的apk是签名B,那是install不进去的; 再比如一个apk你使用它自身的签名预置进系统,那它只会有普通权限,而如果签了平台签名,则会有很多系统权限...执行签名操作: java -jar signapk.jar platform.x509.pem platform.pk8 input.apk(原始的apk) output.apk(生成的apk...) 然后apk就相当于系统签名了,获取了系统权限(以后会有一篇讲权限的)。

    5.9K30

    【原创】Apktools反编译APK,查看apk信息,常用于安装apk失败原因分析。

    反编译介绍 背景:在adb install安装apk时我们通常出现各种各样的无法安装的问题。...目的:鉴于部分apk无法安装我们又无法知道原因时,我们需要用到工具apktools进行Apk的反编译 使用原因:为什么要反编译APK呢?...直接将Apk的后缀改成.zip不是也可以直接查看需要的内容吗?...答案:更改apk的后缀.apk为.zip时打开zip中的文件时你会发现是乱码,所以我们需要使用工具进行反编译 需要环境:Window+jdk8 实战教程 测试apk:小米运动 apktool工具下载地址...的版本,sdk版本和对应手机Android版本不同时,则存在兼容性问题,即无法正常安装。

    2.5K10

    APK签名流程介绍

    实际上,现在Android开发IDE自带签名功能,但是有时我们还是可能遇到自己签名apk的场景的,比如你有一个未签名的apk,但是你要adb install到device上,这时我们在adb install...之前就必须对该apk进行签名处理才能install成功,这篇文章就简单的介绍下apk签名流程吧。...2、对apk进行签名 对apk签名还是利用JDK下的jarsigner工具来进行,我们通过如下命令来签名 jarsigner -verbose -keystore yjing.keystore -signedjar...表示进行签名操作 signed.apk 生成的签名文件(不是当前路径时,需添加路径) unsigned.apk 表示未签名文件 yjing.keystore 签名证书文件 keyAlias 生成签名时候的别名...通过以上命令也就能成功生成签名apk文件signed.apk了 参考文献 1、手把手,教你怎样用命令行给apk签名 2、生成签名证书keystore 发布者:全栈程序员栈长,转载请注明出处:https

    2.1K20

    Android APK 签名校验

    数字签名及数字证书 数字证书 1.证书发布机构 2.证书的有效期3 3.消息发送方的公钥 4.证书的所有者 5.数字签名所使用的算法 6.数字签名 APK签名前 APK签名后 META-INF文件夹...首先,如果你改变了apk包中的任何文件,那么在apk安装校验时,改变后的文件摘要信息与MANIFEST.MF的检验信息不同,于是验证失败,程序就不能成功安装。...最后,如果你还不死心,继续计算MANIFEST.MF的摘要值,相应的更改CERT.SF里面的值,那么数字签名值必定与CERT.RSA文件中记录的不一样,还是失败。 那么能不能继续伪造数字签名呢?...所以,如果要重新打包后的应用程序能再Android设备上安装,必须对其进行重签名。...到这里,apk安装时的签名验证过程都已经分析完了,来总结一下: 所有有关apk文件的签名验证工作都是在JarVerifier里面做的,一共分成三步; JarVeirifer.verifyCertificate

    6.1K10

    android apk获取系统签名

    android 打包系统APK 插入获取root权限: 一 准备材料 1 signapk包 1)通常在源码环境的build\tools\signapk目录下,包含如下文件: 拿到上述文件之后还不能直接签名...最终需生成signapk.jar文件,但在过程中遇到问题,可以通过直接下载signapk.jar文件(http://www.top139.com/down/signapk.jar.zip) 2 签名文件...APK文件 1 在E盘中创建目录signapk (E:\signapk),把下载到的signapk.jar解压到该目录下: 2 系统的签名和需要打包的APK文件放到signapk同一个目录中:...3 使用cmd命令进入该目录 执行命令:java -jar signapk.jar platform.x509.pem platform.pk8 E:\signapk\a.apk launcherApp.apk...然后发现生成一个launcherAPP.apk文件,这就是经过系统签名的文件了。

    3.4K20

    Android 安全之APK签名过程

    签名过程 Android 应用程序以 Android 应用包文件(.apk文件)的形式分发到设备上。...清单文件(MANIFEST.MF)由主属性部分和每个条目属性组成,每个包含在未签名的apk中文件拥有一个条目。 这些每个条目中的属性存储文件名称信息,以及使用 base64 格式编码的文件内容摘要。...代码 6.2:签名文件的摘录 最后一部分是签名块文件(.DSA或.RSA)。 这个二进制文件包含签名文件的签名版本; 它与相应的.SF文件具有相同的名称。...相同的apk文件有可能签署几个不同的证书。 在这种情况下,在META-INF目录中将有几个.SF和.DSA或.RSA文件(它们的数量将等于应用程序签名的次数)。...这种行为允许系统安装升级,即使它们已经使用原始应用程序的证书子集签名[2]。 在几种情况下,需要同一开发人员的应用程序之间的信任关系。

    1.3K10

    Android应用apk的程序签名

    Android应用apk的程序签名 关于Android应用程序签名主要有以下几个重点: 所有的应用程序都必须签名。系统不会安装任何一个没有签名的程序。...系统只在安装应用程序的时候检测证书的有效期。如果应用程序在安装之后证书失效了,应用程序依然可以正常工作。 可以使用标准工具——Keytool和Jarsigner生成Key并签名apk文件。...当程序准备发布时,必须在Release模式下使用密钥来为apk文件签名。有以下两种方式可以做到: 命令行中使用Keytool和Jarsigner。 这个方法中,首先需要编译出一个未签名的apk。...然后这个Debug key会自动用于apk的签名,这样就不需要手动为应用程序包签名了。...运行或是调试应用程序 时,ADT会使用Debug证书进行签名,并运行zipalign,然后安装到选择的模拟器或是已连接的设备。整个过程不需要人工干预。

    2.3K10

    使用jks文件为apk签名

    参与的项目近期要求安全检测,apk不达标并且无法修复的话会要求使用官方加固包。加固之后的包签名会失效,所有需要重新进行签名。今天借此机会记录一下整个操作流程。...原来apk是使用jks格式的签名文件来操作的,还有一种是keystore文件格式。...} -storepass { 签名密码} -signedjar { 签名之后的包名} { 需要签名的apk} { 别名} 这里很多人说签名文件及需要签名的apk要使用绝对路径...2、示例 #先进入目录,如D:\sign_test cd D:\sign_test #再敲入下面的签名指令,签名文件是sign.jks,apk包名sign_test_2.41.apk jarsigner...包名} { 要签名的apk包路径} { 别名} 2、示例 #先进入目录,如D:\sign_test cd D:\sign_test #再敲入下面的签名指令,签名文件是sign.keystore

    1.5K20
    领券