前言
前段时间电脑重装了系统,最近准备调试一个apk,没想到装环境的过程并不顺利,很让人火大,于是记录一下。
反编译工具下载
下载apktool.bat和apktool.jar 官网地址:https://ibotpeaches.github.io/Apktool/install/
把这两个下载后记得配置一下环境变量。
里面的资料相当全,Androidkiller这些都有,不过根据本人实际测试,jeb、Android stdio不能正常使用。
当然,sdk里的工具都能正常使用,例如ddms。
汇编层分析工具ida
由于apk的逆向构建在so层,所以还需要分析so层的工具:
[IDA] 加密与解密-ida的下载及详细安装过程(附有下载文件)_ida安装教程-CSDN博客
以上工具都是偏静态分析,我们还需要下载一些工具应对复杂的逆向。
动态调试环境
现在我们还需要动态调试的环境:一台ROOT后的手机、合适的ide等等。
手机调试环境
由于笔者使用的真机是小米8,因此记录一下ROOT过程,因为网上很多资源不好找。
首先先解锁bl,这个不用多讲了,教程很多。
然后需要刷入twrp,因为我们要通过 TWRP 安装 Magisk。
我们前往该地址:Download TWRP for dipper 下载twrp-3.5.2_9-0-dipper.img
参考教程:通过 TWRP 安装 Magisk 操作指南 – MIUI历史版本
至于magisk,笔者选择在Release Magisk v26.3 · topjohnwu/Magisk下载
我们还需要xposed框架,方便使用算法助手这些工具,在这里下载即可:Welcome to the Xposed ! | Xposed delta
算法助手下载地址:算法助手2.1.2.apk - 蓝奏云
安装xposed框架的教程,参考:Xposed下载与安装 - 陈晓猛 - 博客园
原博客的资源链接已经失效了,看看步骤就好。
安装完后,显示框架未激活,解决办法:XP已安装但未激活 解决方法【xposed框架吧】_百度贴吧
不过其实这是文件权限的问题,鉴于原帖太麻烦,所以直接使用shell命令chmod权限711即可。
以上手机调试环境就搭建完毕了。
像ddms这些东西,在sdk里,不过多赘述。
hook工具frida:Releases · frida/frida · GitHub
由于笔者还需要合适的ide动态调试apk,原本android stdio是一个很好的选择,但是大家都知道谷歌有点小毛病,导致配置过程有点玄学,jeb虽然功能很强大,但可能是笔者更换了系统的原因,一时间居然没找到可用的版本,因此笔者考虑使用idea。
idea动态调试
这里笔者就讲详细一点了。
idea的下载之旅居然也不顺畅,笔者直接从官网下载了最新版本,然后寻找脚本,奈何找了一个又一个,像是脚本执行、激活码这些,居然都不成功,顿时笔者人都麻了,当时准备更换旧版本,幸好,通过这篇博客成功了:IDEA 2024 安装激活教程(附激活补丁,亲测有效) - 码路编程 - 博客园
idea调试smali语言
我们需要下载smaliidea,虽然导入文件时idea会提醒我们并帮助我们下载smali support,但是这个插件会报错,因此我们需要额外下载,下载地址:JesusFreke / smali / Downloads — Bitbucket
选择smalidea-0.05.zip即可,在idea内进入File -> Settings -> Plugins 然后点击 Install plugin from disk,然后安装插件。
顺便一提,记得在File -> setting -> Editor -> file Types 里面找smali ,如果发现有两个,去掉自带的 *.smali。
然后给smaliidea加上*.smali。
创建一个”Remote” (Run->Edit Configurations),
我们在sdk文件夹内启动ddms,由于它使用8700端口,因此配置如下:
启动ddms,电脑连接手机,在ddms内点击对应的进程,idea点击调试按钮,就可以开始在idea内打断点开始调试了。
总结
介绍了安卓逆向的基本环境搭建,下载了各种静态分析工具,并使用idea作为smali的调试工具。