急需安卓md5校验工具apk,希望有朋友可以为我提供一份,谢谢了!

做个记录  (这里只是java层的签名校验,java层容易被破解,我建议apk加固下)

获取md5值来进行Apk签名校验, 可以防止apk重新被打包。

下面我说说怎么获取apk签名的md5值(有三种方法)

使用keytool工具获取签名md5信息,下面 key是签名文件

}
  • 魔域永恒当神力达到5阶时就可以打5星副本了,通过活跃度领取5星通行证,即可开启5星副本,那么低战力怎么单刷5星副本呢?一起来看看吧!

  • 王者荣耀扁鹊能进行印记叠加,许多玩家都不知道怎么叠加,因此,Juxia.com 小编将为小伙伴带来了王者荣耀扁鹊怎么叠5层 扁鹊叠5层操作技巧推荐。

  • dnf魔界裂缝怎么打?dnf90版本新增了魔界裂缝副本,进图要求只需精炼的时空石。但是很多小伙伴都觉得太难了,一直嗑药都打不过。那么小编可以认为你还不了解其中的技巧。下面小编就为大家分享一个5000战力狂战过魔界裂缝的正确姿势。

  • 攻城掠地游戏中187副本怎么打?下面小编就为大家介绍下游戏中5.3珍宝过187副本的打法攻略。

  • md5校验工具是什么 大航海时代5当中酒馆女郎是游戏的重要组成部分,但是很多玩家不知道如何判断酒吧女好感度,不知道是否达到满值,并且不知道酒馆女的好感度是怎么提升的,下面聚侠网小编就来详细为大家解答酒馆女好感度的提升和判断的依据。

  • 《大航海时代5》即将开始一场海上的对决,海洋强国葡萄牙的诸位提督们将要进行奉命在阿拉伯半岛至印度洋进行大规模军演,在战火纷飞的【葡萄牙的自负】,一起来证明自己,拿到最强的荣誉!现在就来看看它有哪些全新内容吧!

  • 地球末日生存酸浴池是什么呢?酸浴池有什么作用呢?本篇文章为大家带来地球末日生存酸浴池的使用方法介绍。

  • 不思议迷宫伊甸园八个大厅有什么作用呢?伊甸园副本类似开荒副本,这个副本共有八个大厅区域,通过战斗清理并修复能恢复每个大厅的功能作用,那么这八个大厅各自的作用关系到我们修复的顺序,下面就来看看这八个大厅的功能作用吧!

  • 英雄联盟辅助的符文搭配很重要,关系到己方adc的发育及下路对拼耗血的优势,那么S8辅助符文怎么配?s8辅助通用符文用什么呢?一起来看看吧!

  • md5校验工具是什么 随着新版符文的上线,各路英雄好汉齐上场,一时可谓百花齐放。今天,小编就来为大家盘点一下那些趣味性十足也足够强力的英雄吧。

  • 地球末日生存A堡怎么刷呢?地球末日生存A堡会掉落什么呢?下面聚侠小编为大家带来地球末日生存A堡速刷技巧。

  • 随着科技的日益发展刷脸认证已经进入了我们的生活中,不管做什么都要一个通行证才能做你想要做的事情。当然在6399yx《蓝月传奇》中是没有要你刷脸认证才能玩某一关卡,但还是有点小酷炫哦,一起去见识一下吧!

  • 征战沙场的豪杰怎能少得了珍稀坐骑呢?8090霸将三国已经为你准备好,不仅仅是交通工具,同时更能让你的战力飞速飙升。而随着游戏的不断深入,坐骑还能通过多种手段进行升级,让你实力更强大!

  • 荒野行动缆车也是很重要的交通工具,那么缆车怎么使用呢?从缆车上掉下来怎么办呢?

  • md5校验工具是什么 飞机坦克火箭大炮宇宙飞船拖拉机,只要你能想到的交通工具,在《开心赛车》的游戏中就有一定能找到!腾讯平台《开心赛车》自上线以来持续推出近百款奇异赛车,超级颠覆常规的设计与超级拉风的特效外观,在异世界赛道上狂飙完全停不下来!腾讯《开心赛车》现于QQ游戏大厅火爆公测中!

  • 在我是皇游戏中,坐骑可以给玩家提供高额的属性加成,也是非常酷炫的代步工具!下面一起来了解一下坐骑进阶1-15阶所需进阶丹的详细数据吧!

  • 由GMGC、成都市经济和信息化委员会联合主办的第六届全球游戏开发者大会暨天府奖盛典(简称:GMGC成都2017)于2017年11月2日-3日在成都首座万豪酒店盛大召开,本届大会以“匠心无界”为主题。七麦科技联合创始人吴瑕出席GMGC成都,并在采访间内接受了记者的采访。

  • 在我是皇游戏中,坐骑可以给玩家提供高额的属性加成,也是非常酷炫的代步工具!由于坐骑在升至5阶后进阶添加了祝福值玩法,进阶丹的数量会不够稳定,下面一起先来了解一下坐骑进阶14-15阶所需进阶丹的问答帮助吧!

  • 《校花的贴身高手》游戏中怎样快速获取升级经验?下面小编就为大家介绍下游戏中可以获取超多经验的轩辕梦境活动。

  • md5校验工具是什么 《我叫MT》PC版的客户端一直有不少小问题,不过只要下载了最新客户端并校验好,就能成功安装。

  • 大航海时代5的商馆怎么玩呢,下面和聚侠网小编一起来看看商馆的玩法介绍和攻略。

  • 大航海时代5投资有什么技巧呢,新手要怎么投资才好呢,下面和聚侠网小编一起来看看攻略介绍吧。

  • 《攻城掠地》五级王朝初战怎么打?五级王朝初战怎样选择路线?下面小编就为大家介绍下游戏中五级王朝初战的打法攻略。

  • 奥雅之光,奥雅之光魔法学院攻略,奥雅之光魔法学院爱琴海之浪漫婚礼S级攻略 这次带来的是爱琴海之浪漫婚礼全S攻略。关卡可用套装后标注的具体数字为无执事、无等级加成的分数。套装风格符合任务要求的其中一个关键字,加上执事配合的话基本都可以到S级。攻略只放出最匹配(或得分最高)套装的图。

  • md5校验工具是什么 奥雅之光,奥雅之光魔法学院攻略,奥雅之光魔法学院蝶之睡美人S级攻略 这次带来的是蝶之睡美人全S攻略。关卡可用套装后标注的具体数字为无执事、无等级加成的分数。套装风格符合任务要求的其中一个关键字,加上执事配合的话基本都可以到S级。攻略只放出最匹配(或得分最高)套装的图。

  • 炫舞时代激萌5月,欢乐刮刮卡又迎来新一期啦!依然有小伙伴们喜爱的超多人气活动非卖套装任君兑换,人人都有机会拿永久!更有超赞非卖大奖,本期又会花落谁家呢?

  • 登录14天送神装,这是你想不到的福利吧,还在犹豫什么,现在就动手加入吧!在娱堂Game镇魔人中,除了送神装还有升级秘籍相送哦,接下来小编就给玩家说说吧!

  • 终结者2审判日游戏中有时候会有黑夜天气,那么在遇到这种天气该怎么办呢?什么都看不见啊。

  • 阴阳师针女御魂搭配什么好呢?很多人都是喜欢用针女和破势两套暴击御魂,但是具体的属性选择还是很难抉择的。

  • md5校验工具是什么 球球大作战魔灵材料怎么样?魔灵材料有什么作用?魔灵材料是否值得获得呢?赶快一起详细了解下吧!

}

 因为之前项目有动态热修复的功能,在修复的过程中会从服务器上下载一个新的dex文件来替换老的dex文件,所以就牵扯到文件身份效验的问题.通常接口会下发一个MD5值,只是一个MD5值的话就只能做一个完整性效验,并不能确定文件的合法性,如果攻击者模拟接口下发一个正确的MD5值,照样可以替换文件.所以这里就在效验MD5完整性之后再根据签名做合法性效验.

       这里字符串取MD5就不做赘述了.既然要效验文件的完整性,那么就牵扯到取文件MD5摘要,这里是用JDK中的MessageDigest通过读取文件的二进制流,使用update累计更新文件流的MD5摘要来获取整个文件的MD5摘要.拿到文件MD5之后跟接口下发的对比就OK了.所以单纯做文件完整性效验还是很简单的.

       文件合法性的效验相比完整性效验就要复杂不少,这里合法性是根据签名来做的,所以起码要简单了解签名的过程,签名之后文件发生了什么变化和怎么获取文件的签名信息等.

       生成签名文件和签名的过程这里就不细说了,主要分析一下签名之后的一些情况.解压签名之后的文件可以看到经过签名生成出来了一个META-INF文件夹,里面一般都是三个文件用来存放所有文件的效验以及签名信息.




 ANDROIDK.RSA:前面两个文件都只是对文件做了一个哈希摘要,并没有签名公钥等信息,RSA文件里面就包含了我们所需要的信息,其中包含有开发者信息,开发者公钥以及CA根据前两个文件的摘要信息经过私钥加密后的密文.RSA文件是不能查看明文的,这里可以使用openssl的命令来输出该文件的信息.openssl pkcs7 -inform DER -in ANDROIDK.RSA -noout -print_certs -text, 从这个文件的数据结构来看本章需要用到的其实就是公钥,获取文件自身证书信息的公钥,然后对比app自身的签名公钥就可以判断文件的合法性.


       通过上面的介绍可以了解到签过名的文件都可以获取到一个基于RSA算法的RSA public key,这里就通过效验这个公钥的方式来验证合法性,app自身的签名信息可以通过PackageInfo获取,获取到之后经过字符串转换和截取,将RSA public key部分摘取出来就OK了.

 获取外部文件签名的过程其实可以参考Android内部效验apk文件的过程,Android源码中的PackageParser类会在安装apk之前对apk文件做合法性效验,但是遗憾的是这个类被标注为hide了,所以我们不能直接使用.那么就只剩下两个方法了,一个是通过反射使用PackageParser的方法,一个看源码中效验这部分的实现然后抠出来自己实现. }       在当前的使用场景下不推荐使用反射,一是使用反射降低效率还有风险,二是效验这部分并没有依赖Android其他部分,只是依赖了JDK中的JarFile.所以扣源码自己实现来得比较实在,这里就不分析使用反射验证的过程了,直接上源码.

 从PackageParser类中的collectCertificates方法中可以看到如下代码片段.首先根据文件路径将签名后的apk,jar或zip文件装载到JarFile中(JarFile是继承自ZipFile),然后获取文件内容部的某个文件(这部分代码块是获取的manifest文件),再获取到该文件的证书信息.只要能拿到证书信息,那么拿到公钥什么的都是小case了.

 这个loadCertificates方法需要特别说一下,因为一开始我是看完源码之后自己写实现的,看这个方法的时候每注意注释,就把读文件流什么也没干的步骤略过了,直接通过JarEntry.getCertificates获取证书.结果换了好几个签过名的文件都获取不到证书,重新看了下源码才发现注释中的必须使用JarEntry读文件流才能接收到证书信息......不作死就不会死.拿到证书之后就跟之前2)中的步骤一样了,直接get公钥,然后截取字符串将RSA public key截出来,最后跟2)中的结果比对就可以做合法性效验了.
}

我要回帖

更多关于 md5校验工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信