如何开始对Android应用的逆向分析?
副标题[/!--empirenews.page--]
技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战
本文是我的关于如何开始Android逆向系列文章的第一部分。在文末提供了一个文档,你可以根据该文档说明部署同我一样的实验环境。 在了解android应用的逆向之前,你必须对android平台及其架构和android应用程序的构建块(组件)已有了一个较好的理解。如果你并不了解这些,那么我建议你先参阅以下链接,然后再继续浏览本文。
我当前的实验室环境如下:
注:该设置并非固定,你可以根据自身需求环境进行调整。例如,你也可以使用kali linux作为你的主机系统,并在上面安装genymotion。 在正式开始我们的逆向之旅前,我想先向大家介绍一下名为adb(android debugger bridge)的工具/服务器。它可以帮助我们连接,获取数据并将指令传递给远程Android设备(调试模式可以通过设备设置中的开发者模式打开)。当前情况下,我们将使用genymotion设备(虚拟设备)。 对于安卓应用的逆向,这里有一个非常好的可供我们学习和练习的apk - DIVA ( Damn insecure and vulnerable mobile Application )。这是一个由Payatu的安全分析师开发的脆弱安卓应用。下面我们也将以该应用为例: 首先,让我们来启动genymotion设备:
选中你想要启动的设备,然后点击Start按钮。 如果你以上步骤正确执行,则应该能看到类似以下的界面: 可以看到Android设备已经启动,现在我们来启动虚拟机中的kali linux。步骤如下:
注:这两个虚拟机处于桥接模式。如果有DHCP服务器,则需要连接到路由器或网络。 现在两台机器都已启动,下面让我们来检查下kali和Android设备之间的连接情况。为此,我们需要获取Android设备的IP地址。
获取IP后我们回到kali终端,并键入以下命令检查连接情况:
如果命令正确执行,你将会看到以下输出。 现在让我们通过执行以下命令,来验证设备是否真正连接:
通过确认我们得知设备已连接到IP地址192.168.20.74和5555端口(adb默认的连接端口为5555)。 现在,我们就可以在Android设备上执行不同的adb命令了。通过-h选项查看可用参数:
在帮助信息中会为你列出所有可用的参数选项。下面是一些在逆向中时常会用到的命令: ADB 调试
无线
包管理器
(编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |