手机抓包简单示范

作为一个米忽悠的玩家,少不了每天去my社签到。但是每天都要重复 打开mysAPP,选择游戏进行签到的动作。让人十分不爽,而且国服玩家貌似只能在APP端进行签到。国际服的可以在web端。

所以就想抓包进行自动签到,解放生产力嘛。

准备工作

  1. 电脑上下载一个模拟器,随便哪家都行 我用的夜神
  2. 模拟器安装mysAPP
  3. pc端安装抓包工具,我这里用的mitmproxy 官网

接下来就正式进入抓包工作了

打开抓包工具

mitmproxy 有终端版和web版,我们可以打开web版 web版端口是8081 image-20230816212907273
而 mitmproxy 的代理端口默认是8080

给模拟器设置代理

为了能抓到接口,就需要将流量代理到我们的抓包工具里了

设置代理

首先在模拟器里搜索wifi设置

image-20230816212633837

点击连接的wifi,进入编辑

image-20230816212719558

image-20230816212708425

选择手动代理

image-20230816212752202

看到如下界面

image-20230816213039274

代理主机填写自己电脑的ip地址,不知道可以在命令行中输入ipconfig进行查看,或者在自己的网络设置里查看

image-20230816213153789

代理端口就填写8080 ,点击保存,完事儿。

之后就可以打开APP进行访问了,然后我们的mitmproxy web端就会出现一堆请求了,这里我打开了fgowiki
image-20230816213356519

当然简单的http请求是可以随便抓的

但是mysAPP的全是https的请求,我们的代理工具这样简单的设置就抓不到了,所以我们需要设置证书绕过https加密认证

安装证书

首先我们需要下载mitmproxy的证书 链接

在模拟器的浏览器里打开上述的链接,长这样:

image-20230816213732886

我这里是安卓模拟器,就选择安卓平台

点击下载,然后安装,注意,目前安卓默认会将证书安装在用户安全凭证里,这样是不会起作用的,所以我们还需要将证书移动到系统证书里

如何移动

可以使用一些文件移动管理器 比如MT管理器 这个在手机应用商店里找得到 image-20230816213955449

将证书移动到从用户目录移动到系统目录:

用户目录的路径如下:

image-20230816214429945

如果有多个证书分不清那个是mitmproxy的话,也可以打开上述文件目录下的文件,看看是否有mitmproxy关键字,有就是mitmproxy的证书

image-20230816214528661

确定好证书文件后,将其移动到系统证书目录下:

image-20230816214614767

可以看到系统目录下有很多,之后就可以再次打卡mysAPP进行抓包了。https的请求也一览无余。这里我就不展示了

遇到的问题:

Q: 为什么开启代理后APP打开就断网了。

A:这里就是一些APP的安全策略了,但是一般你按照上述的方式安装完证书就没问题了,还是有问题就说明这个APP有点东西(我也是初入茅庐==)

Q:mysAPP在开启代理的环境下时不时闪退。

A:这个我在抓包的时候经常遇到,估计也是APP内部的安全策略。所以我当时就是快速找到需要抓包的地方记录好数据。

自动化调用API

最后你成功的抓到了签到的API,并且已经测试好可以进行请求了,这时候就可以还部署自动化调用。

这里我使用的是阿里云的函数计算

创建函数

image-20230816221547670

可以看到我这里已经创建好了一个,

填写必填项

image-20230816221647014

设置触发器

image-20230816221719252

可以根据示例设置cron表达式,一天执行一次函数即可,

image-20230816221818484

最后点击创建。

之后我们就可以来到代码编辑也买你,将你调试好的代码放进去 测试好后,发布版本即可

image-20230816222019132

当然自己还可以设置邮件提示服务,这里就不赘述了。

最后是我每天签到的邮件提示:

image-20230816222200864

当然这个签到失败的概率也是有的,估计是触发了验证码机制,得手动回手机上通过验证码再签到了。。。

所以mys这个自动签到功能还不能很完美的运行。。。

如果大家有更好的解决方式可以一起来分享下。

Last modification:August 16, 2023
如果觉得我的文章对你有用,请随意赞赏