安卓逆向系列篇:安卓工具总结(三)

简介: 安卓逆向系列篇:安卓工具总结

五、安卓抓包工具

这部分介绍如何使用工具抓取安卓手机上的流量,主要是BurpSuite和Fiddler工具,还有安装证书抓取HTTPS的过程。

1、BurpSuite

BurpSuite抓取手机上的流量需要先设置手机和电脑为同一局域网

在BurpSuite中配置

设置一个新的代理监听器

87a0d60b9a1f1784d59fadd60dd4cc94_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

手机wifi设置代理

d57a8c85ec084699b5aac90fe6fb5b62_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

访问应用-抓取流量

在手机上随便访问一些app,可以在BurpSuite中看到抓取的包

10e88dfcba27473d3e73bca2f172f240_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

抓取HTTPS流量-下载证书

浏览器中输入代理IP和端口,点击右上角的CA Certificate按钮下载cacert.der证书。默认下载是.der格式的证书,手机上无法打开.der文件,下载好后需要将其改为.crt文件。

36b04e1bbb0aa145d6a5b5bb8b860837_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

抓取HTTPS流量-导入证书

在设置-安全-从存储设备安装中,选择cacert.crt证书,安装即可

eb1c167acb342b8438aa6cc1de815efc_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

访问https的网址

在浏览器中访问https://www.baidu.com,BurpSuite中成功抓取到。

87d2ab707be39d553526e07b2fc4a642_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2、Fiddler

先简单介绍Fiddler抓包工具的一些基础操作,稍微熟悉下

清除目前抓到的包

选项栏中选择Remove all删除所有的包

3039b13cae710a66cc407803995b8075_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

抓包及指定抓包

左下角的Capturing图标来关闭/开启抓包功能,旁边可以对包进行选择

9e2b89e7ff01e16adad5eb7cc13fc0cd_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

All Processes 抓取所有通过Fiddler代理的request包
Web Browsers  抓取PC中浏览器的代理请求包 (需要选中Capturing)
Non-Browser   抓取除浏览器外的代理请求包
Hide All      隐藏所有的代理请求包

配置抓取HTTPS流量

下载、安装证书,配置监听端口即可

1dbc94666a48b66947ceaf6b19297d04_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

3、HTTP Debugger Pro

下载地址:百度

直接双击安装

默认下一步简单安装

1ecc5ec4d7a367c64242a40e6953e6bd_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

解密SSL-添加证书

进入页面后,点击黄色框中的解密 SSL,选择添加证书即可。

6d64cf758ca542f3f43e004478d05379_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

之后即可抓包,也可以抓模拟器上的数据包

六、JEB静态分析+动态调试

1、简单介绍

本次调试的目的:实现任意用户注册,无视注册码

调试程序截图如下,失败返回无效用户名或注册码

6eac5d45c4b75ecd48e9d1fae8f2bb49_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2、静态分析

1)将注册机.apk文件导入至JEB中

9f0cad649fac3a0a653ffd4e2230a810_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2)简单查看反编译后的Java代码

关键点在于checkSN函数,传入两个参数arg11和arg12,分别对应用户名和注册码

MessageDigest类为应用程序提供信息摘要算法的功能,这里提供MD5算法
messageDigest.update(str)输入待加密的字符串
messageDigest.digest()加密后的字节数组

主要的逻辑就是:将输入的用户名作为参数1并进行MD5加密,之后进行处理得到一个注册码,也就是说这里的注册码是实时根据用户名生成的,之后在将输入的注册码进行比较,相同则返回True。

f141dd2a30c4f937cb254a16304f2c5b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

跟进equalsIgnoreCase()函数找到生成的注册码即可,接下来交给动态调试

3、动态调试

1)雷电模拟器中启动注册机apk

随意尝试用户名和注册码进行注册,返回提示无效用户名或注册码

16f8e9903197bd3a19bfc643ce8626fe_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2)JEB下断点

选定equalsIgnoreCase()函数,按q返回到对应汇编代码处,下好断点

26ff282fec73100e9031c5da35ae693b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

3)连接到模拟器进行动态调试

需要adb工具,在之前安装SDK时配带

选择Debugger -> Start,选择雷电模拟器和注册机apk的进程

92ee8f864b6abbac8b01614598ed37d0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

4)找到校验值(破解点)

发现equalsIgnoreCase()函数需要两个变量v6和p2,查看v6的值"222275aa4840481c"

70e0c55cc5005940866935daa1105690_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5)成功注册

重新启动注册机apk,输入admin和注册码222275aa4840481c,注册成功

58fee7cfe220044bc2d62eb3e029c541_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


4、小结

初入门移动安全逆向apk的第一个小项目,虽然简单,只是一个破解得到注册码,但学到JEB工具的静态分析及动态调试,简单分析Java代码等

相关文章
|
1月前
|
安全 Java Linux
Android反编译——jadx工具
Android反编译——jadx工具
40 1
|
22天前
|
Android开发 芯片 开发者
Android MediaTek bootloader 的序列号长度 & 移除非字母和数字限制 SN-Writer工具支持写入
Android MediaTek bootloader 的序列号长度 & 移除非字母和数字限制 SN-Writer工具支持写入
14 0
|
5月前
|
XML Java Android开发
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
Android App开发实战项目之模仿美图秀秀的抠图工具(附源码和演示视频 简单易懂 可直接使用)
56 0
|
8天前
|
Java Android开发
Android 反编译工具的使用
Android 反编译工具的使用
17 0
|
1月前
|
Android开发 开发者
Android开发之OpenGL的画笔工具GL10
这篇文章简述了OpenGL通过GL10进行三维图形绘制,强调颜色取值范围为0.0到1.0,背景和画笔颜色设置方法;介绍了三维坐标系及与之相关的旋转、平移和缩放操作;最后探讨了坐标矩阵变换,包括设置绘图区域、调整镜头参数和改变观测方位。示例代码展示了如何使用这些方法创建简单的三维立方体。
Android开发之OpenGL的画笔工具GL10
|
8月前
|
算法 安全 Java
android逆向必备工具
android逆向必备工具
102 0
|
10月前
|
前端开发 JavaScript Java
贼简单的Android计时工具,老铁,还不试用起来
今天呢,给大家带来的是一个非常好用的计时工具,真的非常好用,用过之后,你会发现,延时和定时,真的从未如此简单。
|
10月前
|
存储 XML JSON
Android端自动化测试工具源码分享
在上篇的效果中,我们可以发现,所有的触发控制,都是通过网页端进行下发的,而网页的展示又是通过手机端进行开启服务的,也就是说,必须要把手机做为一个服务器,进行指令的发送和获取。
|
11月前
|
Java 开发工具 Android开发
Android dx工具(jar包转成dex格式二进制jar包工具)
Android dx工具(jar包转成dex格式二进制jar包工具)
637 0
|
12月前
|
XML Java Android开发
Android 反编译工具
Android 反编译工具
86 0

相关实验场景

更多