当前位置: 首页 > news >正文

大良企业网站建设/网络营销的基本方法有哪些

大良企业网站建设,网络营销的基本方法有哪些,网站建设的广告语,企业网站建设费怎么核算Android5.1.1 - APK签名校验分析和修改源码绕过签名校验作者:寻禹阿里聚安全APK签名校验分析找到PackageParser类,该类在文件“frameworks/base/core/java/android/content/pm/PackageParser.java”中。PackageParser类的collectCertificates方法会对APK…

Android5.1.1 - APK签名校验分析和修改源码绕过签名校验

作者:寻禹@阿里聚安全

APK签名校验分析

找到PackageParser类,该类在文件“frameworks/base/core/java/android/content/pm/PackageParser.java”中。PackageParser类的collectCertificates方法会对APK进行签名校验,在该方法会遍历APK中的所有文件,并对每个文件进行校验。下面是该方法的部分源码:

42i165r54dv0.JPG

APK是一个ZIP格式的文件所以使用ZIP相关的类进行读写。上面代码中调用了loadCertificates方法,这个方法返回一个二维数组,如果APK中的文件签名校验失败那么loadCertificates方法会返回一个空数组(可能是null,可能是数组长度为0),按照上面代码的逻辑如果数组为空则会抛出异常。

loadCertificates方法的代码见下:

42i167jp2un0.JPG

上面代码中is是JarFile.JarFileInputStream类的对象。loadCertificates方法中调用了readFullyIgnoringContents方法,在readFullyIgnoringContents方法中会调用JarFile.JarFileInputStream.read方法读取APK中一项的数据,在read方法中会校验读取到的数据项的签名,如果签名校验失败,则会抛出SecurityException类型的异常,即签名校验失败。

JarFile类在“libcore/luni/src/main/java/java/util/jar/JarFile.java”文件中。

上面代码中调用了StrictJarFile.getCertificateChains方法,下面是它的代码:

42i1691aqf90.JPG

上面代码中isSigned的值是这么来的:

42i16aj6rm60.JPG

当证书读取成功,并且当前APK经过了签名,则isSigned为true。

回到StrictJarFile.getCertificateChains方法中,当isSigned为true时会调用JarVerifier.getCertificateChains方法,下面是它的代码:

d1pn16k50ji.JPG

下面是类成员变量verifiedEntries的声明:

d1pn1a32ig0.JPG

verifiedEntries是一个键值对,键是APK中经过了签名的文件名,如:classes.dex文件,值是证书数组。如果向已经签过名的APK中新添加一个文件然后安装这个APK,当程序逻辑执行到JarVerifier.getCertificateChains方法中时,在verifiedEntries变量中无法找到新添加的文件名(因为这个新文件是在APK签名之后添加),那么JarVerifier.getCertificateChains方法将返回null。

绕过签名校验

源码修改点一

找到PackageParser.loadCertificates方法,下面是部分源码:

42i16e77h7c0.JPG

将上面代码catch块中的throw语句替换为:return null;

下面是修改后的代码:

42i16faptnb0.JPG

代码修改完后,当APK中文件签名校验失败时不会抛出异常,APK还会继续安装。

源码修改点二

找到PackageParser.collectCertificates方法,找到代码中调用loadCertificates方法的地方:

42i16g2482f0.JPG

将上面的throw语句替换为:continue;

修改后的代码:

42i16gp6oq80.JPG

代码修改完后,当遇到APK中没有经过签名的文件时不会抛出异常,APK还会继续安装。

作者:寻禹@阿里聚安全,更多技术文章,请访问阿里聚安全博客

http://www.jmfq.cn/news/5066209.html

相关文章:

  • 做电影ppt模板下载网站/搜狐综合小时报2022113011
  • 国企怎么做网站/seo关键词排名优化联系方式
  • 网站维护员招聘/空间刷赞网站推广
  • 黄山网站建设有哪些/知乎推广公司
  • 专业柳州网站建设公司/百度免费推广平台
  • 专门做音乐的网站/精准网站seo诊断报告
  • 重庆网站建设外包公司哪家好/外贸网站建设流程
  • wordpress 付款插件/网站seo优化免费
  • 权重的网站/免费建站哪个网站最好
  • 上海市建设和城乡建设委员会网站/seopeix
  • 做外贸的网站如何选择服务器/合肥seo按天收费
  • 写作网站哪个名声好/搜狗网站收录提交入口
  • 五路居网站建设/手机如何做网站
  • 做户外的网站/优化工作流程
  • 做网站怎么上传图片/建网站教程
  • 做cms网站/简易的旅游网页制作
  • wordpress 显示备案信息/长沙网站托管优化
  • 免费申请一个qq号/百度seo关键词排名价格
  • 产品设计经典案例/湖南网络优化服务
  • 服务器运行一段时间网站打不开/成都seo整站
  • 搭建网站软件/广东seo推广方案
  • 阿里云主机安装wordpress/淘宝seo搜索排名优化
  • 做蛋糕招聘网站/常州网站建设
  • 成全视频免费观看在线看中国片/seo全称是什么意思
  • 许昌市建设局网站/网络营销策划书封面
  • 老河口市网站/百度首页百度一下
  • 传奇私服的网站是怎么做的/南宁seo服务优化
  • 小本本教你做网站/优秀的营销案例
  • 辛集哪做网站/厦门网站建设
  • 艾艺公司团队定制/seo推广思路