Android逆向环境搭建

946 阅读2分钟

我正在参加「掘金·启航计划」

俗话说:工欲善其事,必先利其器。逆向也是,想要逆向你需要搭好逆向的环境,准备逆向的工具,好用的工具会节省不少时间,站在巨人的肩上你会看的更远。

逆向工具

手机root

Android逆向必要条件是你需要有个Root的手机,最好是真机。没有root的手机,逆向工作很难继续下去,手机的话,能解锁OEM的都可以。手机Root的话一般有以下几步:

  1. 解锁OEM
  2. 解锁BootLoader
  3. 安装Magisk
  4. 制作root包
  5. 刷入手机

详细的内容可以参考这篇文章

Android系统的话,不推荐用最新的,因为有的逆向工具没有支持最新版的系统。

反编译工具

反编译工具有很多,老牌的apktool、jeb及一些小众的反编译工具,这里我推荐使用MT文件管理器,真的很好用,可以提取apk、反编译、查看源码、smali转java,打包签名等,功能很多,使用起来也很方便,美中不足的就是需要开通会员,不过终身会员也很便宜。还是那句话,好的工具可以省很多时间。

Hook工具

Hook的工具也有很多,Android的话有分为jvm层的Hook和native层的Hook。这里我只列举一些我常用的Hook工具

  • java层的Hook工具有:算法助手.apk、JSHook.apk,Frida
  • native层的Hook工具有:Frida、Unidbg

这些工具都可以在星球中获取。

WebView工具

我这里说的WebView的工具,指的是可以使应用内的H5可以调试,这样就可以使用inspect来做调试了。

这类的工具有:

  • 算法助手.apk
  • WebViewPP.apk

抓包工具

抓包工具的话,也分两类,一类是手机端,一类是电脑端。

  • 手机端:HttpCanary(android)、Stream(ios)
  • 电脑端:Charles、Fiddler

动态调试工具

先说下什么是动态调试,动态调试就是在程序运行的时候,在代码中下断点,这时可以一步步的调试,看一些变量的值及代码的业务逻辑。

Android逆向常用的动态调试工具有:AndroidStudio和IDA,AS主要是动态调试smali语言,IDA的话是调试so库,汇编语言。

总结

磨刀不误砍柴工,在开始逆向前,先把逆向的环境和工具准备好,在逆向的过程中才会得心应手。本篇主要是介绍逆向用到的工具,一些工具的使用方法会在后面的文章中讲解。

本文已由公众号“爱码者说”首发