airtest、mitmproxy,抖音app自动化模拟抓包

    xiaoxiao2024-11-02  191

    因为有的app安全参数特别复杂和多变性,所以想通过截取方式进行获取; 总体原理流程是: a、airtest进行自动化模拟手机操作,点滑等功能 b、mitmproxy进行手机app通信包的拦截分析 c、再通过pycharm对于拦截下来的包分析重新提交进行获取

    1、mitmproxy(也可以参考这篇文章https://blog.csdn.net/weixin_42357472/article/details/85068758) pip3 install mitmproxy 对于mitmproxy来说,如果想要截获HTTPS请求,就需要设置证书。mitmproxy在安装后会提供一套CA证书,只要客户端信任了mitmproxy提供的证书,就可以通过mitmproxy获取HTTPS请求的具体内容,否则mitmproxy是无法解析HTTPS请求的。

    首先,运行以下命令产生CA证书,并启动mitmdump:

    mitmdump 双击mitmproxy-ca.p12,就会出现导入证书的引导页按照下一步,这里不需要设置密码,直接点击“下一步”按钮即可。 接下来需要选择证书的存储区域,这里点击第二个选项“将所有的证书都放入下列存储”,然后点击“浏览”按钮,选择证书存储位置为“受信任的根证书颁发机构”,接着点击“确定”按钮,然后点击“下一步”按钮,到完成 Android 在Android手机上,同样需要将证书mitmproxy-ca-cert.pem文件发送到手机上,例如直接复制文件,或浏览器打开mitm.it网站

    (首先电脑运行起来端口监听) mitmdump -p 8889 然后模拟器安卓上连上同一网络,高级模式手动,ip为电脑ip,端口为上面8889

    2、airtest 网易出品的一款自动测试软件,可以用于模拟 ide连接模拟器参考;夜神端口62001 http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/2_device_connection/3_emulator_connection.html

    先点击Connect按钮旁的下拉菜单,勾选Javacap模式后,再点击 Conenct 按钮(如果没有勾选Javacap模式,会导致看到的手机画面是黑屏)。如果还是未能连接成功,可以补充勾选 use adb orientation 再连。

    ###自动向上滑动

    # -*- encoding=utf8 -*- __author__ = "lonng" from airtest.core.api import * auto_setup(__file__) #画面控件 for i in range(103): swipe((300,1500),(300,10)) sleep(1.0) swipe((300,1500),(300,10)) #popc控件 from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) # poco("小红书").click() # sleep(3) # poco("com.xingin.xhs:id/r4").click() # sleep(2) list=["资生堂","雅诗兰黛","迪奥"] for m in range(3): poco.swipe([0.5,0.1],[0.5,0.9]) poco("com.xingin.xhs:id/aeo").click() sleep(2) poco("com.xingin.xhs:id/ae8").set_text("%s"%(list[m])) poco("com.xingin.xhs:id/aea").click() sleep(6) for i in range(23): poco.swipe([0.5,0.9], [0.5,0.1])

    最新回复(0)