mac 系统下安卓模拟器抓包

avatar
Ctrl+C、V工程师 @豌豆公主

安装工具

  • 我们需要准备好官方提供的 Android studio
  • Charles

安装

创建新项目

打开 IDE 并创建一个新的项目


新建模拟器

我们先随意创建一个模拟器



完成了上诉的流程之后,我们可以发现 IDE 右边出现了可启动的模拟器。

配置运行环境

先把地址常用命令

vi .zshrc

export PATH=$PATH:/xxx/xxx/Library/Android/sdk/emulator:/xxx/xxx/Library/Android/sdk/platform-tools

如果是临时配置的话,可以如下:

export PATH=$PATH:/xxx/xxx/Library/Android/sdk/emulator

export PATH=$PATH:/xxx/xxx/Library/Android/sdk/platform-tools

具体的路径在安装 IDE 的时候会说明,一般是在 /Users/下边,配置完成之后,测试一下:

emulator -list-avds

adb

我们可以看到刚刚创建的模拟器列表

以及adb的命令生效

启动模拟器

模拟器我们通过命令行来启动。

emulator -avd xxx -writable-system

xxx 指的是刚刚通过-list-avds

配置root权限

启动模拟器成功之后,界面会弹出手机模拟器。启动成功之后,我们首先先给模拟器设置 root 权限

adb root
adb remount

命令执行完之后,模拟器会重新启动。如果启动成功,那么手机的root权限已开启。

配置抓包工具证书

因为我们要进行抓 https 的请求,所以需要安装代理工具的证书。流程差不多,这里用的是 Charles 。

下载证书


点击这个下载证书文件,下载之后查看证书。

openssl x509 -subject_hash_old -in charles-ssl-proxying-certificate.pem

-----BEGIN CERTIFICATE-----上边的字符串拷贝下来,之后会用。

安装证书

在命令行执行安装命令。xxx 就是刚刚证书中拷贝出来的字符串。

adb push charles-ssl-proxying-certificate.pem /system/etc/security/cacerts/xxx.0

但是一般情况下,大家会遇到以下报错。

remote couldn't create file: Read-only file system

这个说明没有权限在系统目录中写文件,一般情况下系统是只读的。所以还要给系统设置一下权限

adb disable-verity
adb reboot
adb root
adb remount

执行完之后,模拟器会再次重新启动。这个时候再次执行 push 操作。基本就没问题了。

配置代理

配置代理和手机上没有什么区别。从 Charles 中查看本机的代理端口号。

我配置的是 8888。接下来设置模拟器的代理

保存之后,这个在刷新目标软件,抓包成功!开始愉快的写爬虫吧~