1.2 IDA调试工具IDA调试工具是一款支持多种文件格式的交互式逆向工具,它具有强大的功能和复杂的操作逻辑。在安卓逆向中,除了使用该软件进行动态调试之外,另外一个用途是使用32位的IDA调试工具将ARM汇编代码转换成C代码,方便进行逆向分析。
第一步,下载IDA的软件压缩包,下载链接放在文末,解压压缩包到本地。然后双击其中IDA的可执行文件进行安装。
第二步,依次点击“next”按钮和选择“I accept the agreement”选项,然后再次点击“next”按钮,进入到安装python的界面,勾选之后再次点击“next”,会进入到输入密码的界面。
这里建议联系正规厂商购买获取密码,也可从网上寻找已经购买过的密码。完成密码输入之后,再次点击“next”。接着需要选择软件安装路径,最后勾选创建桌面图标的选项,点击“Install”和“Finish”按钮完成安装。
2. 安卓辅助工具2.1 apkhelper辅助工具apkhelper可帮助安卓逆向分析的工作者快速查看apk的相关信息,例如包名、应用名、权限、证书等,也是安卓逆向中经常用到的分析工具。
第一步,下载apkhelper的可执行文件,下载链接放在文末,双击之后可直接运行。
第二步,将测试apk拖拽至apkhelper界面,软件会自动解析该apk的相关信息。
2.2 apk查壳辅助工具为保护apk源码,安卓apk的开发人员通常会对apk进行加壳处理。如果仍需要对apk的代码进行审计分析,首先要检测apk是否加壳,同时还需要研判出加壳的类型,以便针对特定的壳类型进行脱壳处理,在此基础上获得源代码。
第一步,下载apk查壳辅助工具的可执行文件,下载链接放在文末,双击之后可直接运行。
第二步,将测试apk拖拽至apk查壳辅助工具界面,软件会自动解析该apk的加壳信息。目前该软件支持了娜迦、梆梆、爱加密、通付盾、360加固、百度加固、阿里加固、腾讯加固、盛大加固、瑞星加固等多个大厂的加壳检测分析。
2.3安卓模拟器安卓模拟器的用途主要有两个,第一是辅助安卓逆向人员动态调试apk中的源代码,相当于将apK放在安卓虚拟机中执行来调试源代码逻辑;第二个,对app进行抓包分析,以间接辅助逆向app的源码逻辑。主要介绍雷电模拟器和逍遥模拟器的安装配置。
(1)雷电模拟器
雷电模拟器的优点是动态调试smali代码比较稳定,对apk修改之后无需重签名也可安装,缺点是安装较慢。
第二步,双击下载好的安装包文件,点击“浏览”按钮修改存储路径文件夹,最后点击“立即安装”。
第三步,稍等片刻,待完成安装之后,点击“立即体验”的按钮,进行相关配置。完成安装之后,在桌面会增加两个图标“雷电模拟器”和“雷电多开器”。通过“雷电多开器”可以新建多个系统版本的安卓模拟器。新建安卓模拟器的目的一方面是针对特定的apk做处理,抓包时确保一个相对“纯净”的环境;另一方面是可以满足特定apk的系统版本需求。打开雷电模拟器之后,可在“设置-关于平板电脑”中查看模拟器的系统版本。
(2)逍遥模拟器
逍遥模拟器的优点是安装apk速度快,同时支持xposed框架;缺点是jeb调试经常无法找到模拟器,动态调试不如雷电模拟器稳定。
第二步,双击下载好的安装包文件,勾选“同意用户协议”,点击“立即安装”按钮,这里也可点击“自定义”选项按钮进行自定义安装。