Android APP 渗透测试方法大全

by backlion

一、Android APP 渗透测试方法

1.测试环境

SDK : J a JDK , Android SDK。

工具: 7zip, dex2jar ,jd -gui, apktool, IDA pro (6.1), ApkAnalyser , Eclipse,

dexopt-wrapper ,

010 editor , SQLite Studio, ApkIDE。

apk 工具: android 组件安全测试工具, activity 劫持测试工具, android 击键记录

测试工具,

工具(proxydroid), MemSpector, Host Editor

2.客户端程序安全测试

2.1 数字签名检测

C:\ Program Files\J a\jdk1.8.0_111\ bin\jarsigner.exe -verify APK 文 件 路 径

-verbose –certs

当输出结果为“jar 已验证”时,表示签名正常

检测签名的 CN 及其他字段是否正确标识客户端程序的来源和发布者身份

如上图,说明测试结果为安全。

要说明的是,只有在使用直接客户的 签名时,才认为安全。 Debug 、第 (如

开发方) 等等均认为风险。

2.2.反编译检测

把 apk 当成 zip 并解压,得到 classes.dex 文件(有时可能不止一个 dex 文件,但文

件名大多类似)

使用 dex2jar 执行如下命令:

dex2jar.bat classes.dex 文件路径

得到 classes.dex.jar

然后使用 jd -gui 打开 jar 文件,即可得到 J A 代码。【注: 直接使用 smali2j a 或

者 APKAnalyser 打开 apk 文件,也可反编译回 J a 代码】

【注:有时用apktool 能够解包并查看 smali,但 dex2jar 却不行。如果 dex2jar 反编

译失败,可以试试看能 恢复 smali 代码。】逆向后发现是没混淆的情况,是不安全的。

如果代码经过混淆,或者有加壳措施, 完整恢复源代码的,都可以认为此项安全 ,混淆

后的代码样例,除了覆写和接口以外的字段都是无意义的名称。如下图已加密混淆 ,除了覆

写和接口以外的字段都是无意义的名称::

反编译为 smali 代码

使用 apktool 工具可以对 apk 进行解包。具体的解包命令格式为:apktool d[ecode]

[OPTS] [

1.如果只需要修改 smali 代码,不涉及资源文件的修改,可以在解包时加入 -r 选项(也

以直接使用 baksmali 将 dex 反编译为 smali 代码,见 5.3),不解码 apk 中的资源。

在打包时可以避免资源方面的问题(如 aapt 报的各种错误)。

2. 如果只需要反编译资源文件,可以在解包时加入-s 选项,不对 classes.dex 进行反编译。

3. 如果在 5.6.1 使用 apktool 打包 smali 代码中出现资源相关的错误,可能是需要较新

framework 文件。可 此处,添加 framework 文件。例如,添加 Android 4.4.2 SDK

中的 framework 文件,命令如下:

4. 解包时指定相应的 framework (上面命令中的tag0 是对添加的 framework 的标记,

用于标识不同的 framework),如图所示:

解包完成后,会将结果生成在指定的输出路径中,其中,smali 文件夹下就是最终生成的

Dalvik VM 汇编代码,AndroidManifest.xml 文件以及 res 目录下的资源文件也已被解

码。如图:

处 理 odex 文

android app 渗透测试,android app渗透测试方法大全.pdf相关推荐

  1. Android渗透测试Android渗透测试入门教程大学霸

    Android渗透测试Android渗透测试入门教程大学霸 第1章  Android渗透测试 Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机.平板等.目前 ...

  2. 渗透测试基础 - APP渗透测试(上)

    渗透测试基础- APP渗透测试(上) 简介 抓取手机数据包 实战APP渗透测试 漏洞总结 只为对所学知识做一个简单的梳理,如果有表达存在问题的地方,麻烦帮忙指认出来.我们一起为了遇见更好的自己而努力

  3. MSF渗透测试android手机

    今天继续给大家介绍渗透测试相关知识,本文主要内容是MSF渗透测试android手机. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调: ...

  4. 渗透测试工作流程渗透测试类型法律边界

    渗透测试工作流程渗透测试类型法律边界 渗透测试工作流程 渗透测试与其它评估方法不同.通常的评估方法是根据已知信息资源或其它被评估对象,去发现所有相关的安全问题.渗透测试是根据已知可利用的安全漏洞,去发 ...

  5. 06- 移动端APP兼容性测试以及APP兼容性测试手机选择与云测试技术

    在开始测试APP之前,应该考虑什么问题?或者如何选择设备?多少部手机测试兼容性最佳? 兼容性测试手机数量:主测手机 1 ,2(根据人员),辅助测试手机:用于兼容性测试.(50-60台最佳,至少5-20 ...

  6. android apk兼容性测试工具,APP兼容性测试工具有哪些?

    有一句话说得好,巧妇难为无米之炊,这句话用来说到兼容性测试上面,可以说是比较应景了.因为做兼容性测试,离不开兼容各种手机硬件设备,并且需要借助一些平台和工具来辅助我们更容易和更有效率地完成兼容性测试. ...

  7. android 通知灯 测试,Android灯光系统通知灯【转】

    标签: 一.通知灯应用程序的编写 1.首先实现一个按钮功能 xmlns:tools="http://schemas.android.com/tools" android:layou ...

  8. 渗透测试php靶场,渗透测试靶场初体验

    声明本文仅供学习和研究,由于传播.利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,海青实验室及文章作者不承担任何责任. 安全狗海青实验室拥有此文章的修改和解释权,如欲转载 ...

  9. android应用 暴力测试,Android 关于Monkey暴力测试

    现在的好多应用市场上架之前都有经过Monkey的暴力测试,我们作为android的开发人员最后上线前再给测试人员测试的时候最好也要进行一下Monkey压力测试.废话不多说,今天就讲一下如何进行测试: ...

最新文章

  1. 两个线程同时访问一个变量_百战程序员:Java多线程对象及变量的并发访问
  2. 厦大计算机研究生和福大,考研:只知道厦门大学?福建还有这些211值得你了解...
  3. python cgi nginx_nginx uwsgi和cgi python脚本
  4. mac git命令按tab键自动补全
  5. 华为被上汽狂DISS:智能驾驶时代车企呼唤“主权”?
  6. VisualBox中增大linux硬盘空间的方法
  7. java虚拟机规范 51cto_java虚拟机
  8. 搜索框中“请输入搜索keyword”
  9. Sitecore 8.2 页面架构设计:模板与组件
  10. JavaScript:三大家族
  11. 记录一个好用的压缩软件 HandBrake
  12. 中国所有省市区的ip经纬度接口
  13. cpi计算机性能指标,将CPU时间=(CPI指令总数).ppt
  14. Shannon-Fano编码——原理与实现
  15. JavaSE基础(134) 打印流
  16. 通过身份证号得到年龄、性别和出生日期
  17. 一键装机linux_教你如何使用u盘安装Linux系统
  18. Windows游戏编程学习笔记
  19. 微型四轴DIY机架,轻巧稳固耐摔,通用720空心杯电机,9厘米轴距
  20. linux dns慢导致ftp慢,ftp登陆慢,登陆超时,上传速度慢解决方法

热门文章

  1. 《Unity API常用方法和类详细讲解—Siki学院》课程学习笔记03
  2. springboot+maven/gradle整合swag及生成静态文档
  3. 11款物联网开发平台对比:功能孰优孰劣?
  4. JavaScript打印页面的出错异常与IE调用其他网页
  5. 国家测绘地理信息局黑龙江基础地理信息中心----网站访问情况
  6. axios请求与proxy代理配置
  7. 服务器端验证表单_Web表单开发之实时格式化显示——Cleave.js
  8. IE 错误的数量词(正则报错)
  9. 《道德经》第三十二章
  10. [附源码]计算机毕业设计springboot在线票务系统