手机端APP抓包环境的探索(安卓模拟器)

手机端APP抓包环境的探索(安卓模拟器)

简单记录一下自己的探索,干货没多少,但是工具都找齐了。系统:Mac ;安卓模拟器:MuMu

一、初级

一般情况下pc、手机在同网端下,手机端设置代理指向电脑,电脑端开burp开代理,就可以抓包了

但是有些特殊app,做了代理检测和检测手机是否root

1.对于做了代理检测的app,我们可以通过安装proxy dorid/drony,把安卓全局的代理指向pc端,就可以抓包了

2.有一些app还会检测root状态,可能会对分析有影响,我们可以安装xPosed框架,然后安装“HiddenCore Module”、“RootCloak”、“XPrivacyLua”模块

  • - XPrivacyLua:禁止 “读取应用列表”。
  • - RootCloak:将App”包名”加入。
  • - HiddenCore Module:无需任何设置。

这样操作之后,这种app就无法检测root状态了

二、进阶

进阶部分涉及到apk的逆向分析和frida hook。

1.apk的逆向分析:

必要时对APK进行脱壳后才能分析,安装反射大师3.apk,在反射大师里选定apk,打开apk,长按“写dex”一键脱壳(有的apk可能会生成多个壳)得到dex。dex2jar 2.1将dex转换为jar,jdgui打开就可以看源码了。

2.frida hook:

xposed+justtrustme(或同类的sslunpinning之类的插件)在绕过sslpinning这种技术时,原理就是hook sslpining中的check函数;所以在面对混淆过的app时,会hook不到混淆后的check函数。此时可以引入frida。frida可以在apk运行时,通过自己编写的代码去hook特定函数,可以理解为可以帮助你方便的写外挂。

frida安装:

  • 第一部分
pip install frida-tools # CLI tools
pip install frida       # Python bindings
npm install frida       # Node.js bindings
  • 第二部分

下载并安装手机端apk:https://github.com/frida/frida/releases

三、总结

但是后来我找到一个大佬写的改进版的JustTrustMe——JustTrustMe Plus,通过规则自动hook可能是sslpinning的函数:https://bbs.pediy.com/thread-254114.htm。简单总结就是:模拟器+xposed+JustTrustMePlus,设代理就在电脑上抓包了,实现的原理就是hook掉sslpinning功能的函数,如果遇到一些特别的apk,可能会需要使用frida自己编写插件去识别特定的sslpinning功能的函数,这个就需要功夫学习了。

你可能感兴趣的:(环境搭建)