我正在参加「启航方案」
俗话说:工欲善其事,必先利其器。逆向也是,想要逆向你需求搭好逆向的环境,准备逆向的东西,好用的东西会节省不少时刻,站在巨人的肩上你会看的更远。
逆向东西
手机root
Android逆向必要条件是你需求有个Root的手机,最好是真机。没有root的手机,逆向作业很难继续下去,手机的话,能解锁OEM的都可以。手机Root的话一般有以下几步:
- 解锁OEM
- 解锁BootLoader
- 装置Magisk
- 制造root包
- 刷入手机
详细的内容可以参考这篇文章。
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库,汇编语言。
总结
磨刀不误砍柴工,在开始逆向前,先把逆向的环境和东西准备好,在逆向的过程中才会得心应手。本篇主要是介绍逆向用到的东西,一些东西的运用方法会在后边的文章中解说。
本文已由大众号“爱码者说”首发