引言:每一期都有相同的内容部分,主要为了让大家单独看一期依旧能看懂!!!

0x01 APK文件

  1. 依然从APK文件开始说起,相信大家看我之前的帖子,已经知道APK文件怎么看里面的文件内容了。这里还是啰嗦一下吧!

  2. APK文件(全称:Android Application Package),是安卓系统使用的一种应用程序包文件格式,也就是说可以将apk文件双击对其进行安装。既然说是包文件格式,说明apk文件应该是一个将其他文件进行整合压缩后的一个压缩包。既然是压缩包,就可以利用winrar软件对其进行解压并得到里面的软件。

0x02 利用工具

  1. 本次的利用工具:apktool,SignAPK,ApkBurster

  2. apktool:这个工具就不多解释了,就是一个解包工具。或者修改尾部扩展名,一样的哈

  3. SignAPK:这是个新名词,我也是有幸第一次接触到,这是一个对未签名的APK问价进行签名的工具。

  4. 神器之ApkBurster:这也是个新名词,作用是加载APK时会自动进行解包,使用“解包目录”功能打开文件夹进行修改后,使用重“打包安装”即可自动完成打包,签名,覆盖安装操作。

0x03 开始切入正题了-----测试步骤

  1. 第一步当然是利用apktool进行解包咯。当然也是可以修改尾部扩展名,将.apk修改为.zip的哦

  2. 先附上apktool的解包公式。然后我们找一款android进行解包。(当然,涉及敏感信息的地方我会打马赛克的)

java -jar apktool.jar d -f apk文件路径 -o 解包目标文件夹

0x04 找到res文件,并修改里面的图片

  1. 为啥是修改里面的图片?而不是修改里面的数据呢?其实修改logo图片首先是最简单。其次是最容易看到效果的。

  2. 首先,先找到res文件夹。这个文件夹里面存放着大量的图片。很容易就可以找到logo的图片

  3. 其次,从网站上下载好一个图片(随便大小,别超过手机屏幕就行),然后与本身里面的logo进行替换。(注意哦,替换的名字也必须是一样的,因为程序会以名字调用的)

0x05 封装

  1. 我们把APK解压出来,是否要对整个信息进行封装了呢?其实封装就是要对apk文件进行签名。如果无法签名的话,apk文件是不会正常运行的。那我把他们再压缩成zip压缩包,然后再改成apk可以吗?我这里告诉你,我试过了,不行的。

  2. 但是还有一个方法可以做掉。你当初把apk扩展名改为zip的那个包,是可以利用的,直接整个替换里面的或部分替换后,再改为.apk就行了。(亲测可用)

  3. 封装命令我还是照常给出,便于大家去测试方便一些

java -jar signapk.jar testkey.x509.pem testkey.pk8 待签名的APK路径 签名后输出apk路径
  1. 从这里面看来,我们的逆向的,基本都是要用到java程序耶!所以大家一定要装好java程序。另外,建议大家装一下java1.8,因为java版本高会不支持很多的软件和工具的。

  2. 同时,这个命令,又多出了2个文件,一个叫testkey.x509.pem,另外一个叫testkey.pk8。这2个文件是用来给apk文件签名用的,不知道大家是否用burpsuite抓过https的包。我们是先要去burp上下载一个CA证书,然后将CA证书安装到浏览器并添加信任。抓取https的包的时候,就是利用burp官网下载的CA证书,去骗取浏览器的信任,让浏览器误认为这是一个真证书。而apk里的这个签名也是同样的道理

0x06 安装前和安装后进行对比

  1. 对比是肯定要的,可以看一下安装前和安装后的差异,那。。。。我们以我们这个软件进行测试一下!

  2. 这个截图是安装前的画面。基本没有什么变化,是一个正常的软件

  3. 这个截图是安装后的画面。我们把里面的logo的图片改了,打开后,安装卸载的图标都发生了变化。是不是很好玩啊!

0x07 解决方法

  1. 有的人说,看了文章,也会了。但是遇到些解决方法反而就不会了。远离说不清楚。这里也给大家写出来了。

  • 解决方法:客户端再没次开机启动时,实际上都会对客户端自身的应用完整性进行校验的。再验证逻辑中,不使用MANIFEST.MF中的数据作为验证凭证。并且需验证是否有不属于该客户端版本的新文件添加,验证过程于服务器完成即可

  • 通俗说法:客户端没有对自己的程序进行校验,导致攻击者可以任意修改里面的内容。本次虽然是改了图片。那如果真正的攻击者是改了数据呢?

未封装的扩展程序是什么意思_Android漏洞挖掘第三期:客户端完整性未校验相关推荐

  1. 未封装的扩展程序是什么意思_“冰壶见底未为清,少年如玉有诗名”这句诗是什么意思?...

    "冰壶见底未为清,少年如玉有诗名." 出自韦应物的<杂言送黎六郎(寿阳公之子)>,全诗如下: 冰壶见底未为清,少年如玉有诗名.闻话嵩峰多野寺,不嫌黄绶向阳城.朱门严训朝 ...

  2. 未封装的扩展程序是什么意思_晶圆级封装是什么意思?

    一.晶圆级封装(Wafer Level Packaging)简介 晶圆级封装(WLP,Wafer Level Package) 的一般定义为直接在晶圆上进行大多数或是全部的封装测试程序,之后再进行切割 ...

  3. 未封装的扩展程序是什么意思_网线上面的标识代表什么意思?网线的九大扩展应用...

    网线也称双绞线,在网线的外护套上每隔2英尺会印刷上一些标识.一般包含双绞线的类型.NEC/UL防火测试和级别.CSA防火测试.长度标志.生产日期.生产商和产品型号等信息.CAT6 代表六类,UTP:非 ...

  4. 未封装的扩展程序是什么意思_伊能静双11买900件商品,张萌发文去年快递未收到,什么意思?...

    昨天凌晨,伊能静发文报告双11购物战况,整个双十一大约购入900件,11月11日单日用了三个号码购入397件商品. 双十一期间,小编专门挑有需要的.便宜的买,狠心狠心再狠心最后才买了不足100件. 妈 ...

  5. 未封装的扩展程序是什么意思_伊能静双11买900件商品,张萌发文去年快递未收到什么意思?...

    昨天凌晨,伊能静发文报告双11购物战况,整个双十一大约购入900件,11月11日单日用了三个号码购入397件商品. 双十一期间,小编专门挑有需要的.便宜的买,狠心狠心再狠心最后才买了不足100件. 妈 ...

  6. [转载]谷歌浏览器无法添加扩展程序的解决方案

    - "#[转载]谷歌浏览器无法添加扩展程序的解决方案" 有时候刚下载的Chrome浏览器,无法通过拖拽方式添加扩展程序时(提示"无法从该网站添加应用.扩展程序和用户脚本& ...

  7. 关于 Chrome 谷歌浏览器 安装未封装插件的问题

    谷歌浏览器 安装插件 一般来说安装插件 插件后缀名为 .crx  打开扩展程序 如图: 一般 通过鼠标拖拽 进此页面 可以直接安装 但是     如果你的谷歌浏览器版本 高于73   通过鼠标拖拽 行 ...

  8. 尝试做了个Chrome浏览器的扩展程序,显示extensions的页面

    最近firefox用的不爽,决定换下口味,装了个Chrome玩玩.不过,Chrome的用户体验不是那么让我满意,特别是管理扩展程序的时候需要操作三次,实在不爽,那就自己做个扩展程序解决这个问题吧.分三 ...

  9. Chrome插件安装失败,此扩展程序可能已损坏。

    文章目录 问题描述 解决方案 实用插件 油猴脚本 参考文献 问题描述 新版Chrome装插件常常出现问题--Chrome插件安装失败,此扩展程序可能已损坏. 解决方案 打开 Chrome 所在位置,默 ...

最新文章

  1. 解决Mysql:unrecognized service错误的方法(CentOS)附:修改用户名密码
  2. ORACLE执行计划的一些基本概念
  3. MySQL优化篇:慢查询日志
  4. 【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )
  5. PAT甲级 -- 1090 Highest Price in Supply Chain (25 分)
  6. MySQL日期类型的处理总结
  7. JS面向对象的实现和原理
  8. mysql 产品表 myisam好还是innodb好_mysql两种表存储结构myisam和innodb的性能比较测试...
  9. 20181211HW
  10. ajax——优化0126(增删改查:添加查看详情,返回结果类型为JSON型,在窗口显示)...
  11. 小于等于0_从0开始学ARMARM汇编指令其实很简单
  12. bzoj 3437: 小P的牧场(斜率DP)
  13. LAMP架构调优(五)——网页缓存设置
  14. ftp导入oracle,ftp向linux虚拟机传oracle安装包
  15. linux 终止作业任务命令,linux-尝试终止进程时出错—“ kill:pid:参数必须是进程或作业ID”...
  16. 完全二叉树的叶子节点数公式_二叉树基础知识
  17. 【数据库系统概念】数据库基本概念
  18. 怎么给新版edge换皮肤外观? | 怎么给edge添加chrome插件?
  19. 嵌入式软件开发到底是干什么的?
  20. python英语词汇量测试_python英语单词测试小程序

热门文章

  1. cocos2d-x初探学习笔记(18)--Lable
  2. 内网突破SSL嗅探的探究
  3. vc得到屏幕的当前分辨率方法
  4. 一种 Android 用户事件的自适应分发方法
  5. Log4j执行漏洞修复教程
  6. 第02讲:夯实根基,Web 网页基础
  7. 面试官问:ZooKeeper是强一致的吗?怎么实现的?
  8. 【城市沙龙】LiveVideoStack Meet | 长沙:多媒体与广电
  9. 网易云信今年发布的WE-CAN有哪些亮点?
  10. ffmpeg内存模型及AVPacket和AVFrame API基本使用