我正在参加「启航方案」

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

逆向东西

手机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库,汇编语言。

总结

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

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