微信小程序自动化采集方案
本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,拒绝转载,若有侵权请联系我删除!
一、引言
1、对于一些破解难度大,花费时间长的目标,我们可以先采用自动化点击触发请求,拦截数据包的方式先将程序跑起来,今天分享某外卖小程序自动化点击采集方案。
2、拦截数据包,使用Fiddler Script
3、PC端模拟点击使用:pyautogui
4、手机端模拟点击使用:autoxjs
二、Fiddler Script
1、Fiddler Script使用 JScript.NET语言编写。点击Fiddler右上角的FiddlerScript即可进入编写,或者依次点击Fiddler左上角的Rules - Customize Rules 进入编写

2、Fiddler 包含了一个脚本文件可以自动修改Http Request 和Response
修改Request的内容: OnBeforeRequest
修改Response的内容: OnBeforeResponse
3、示例
fiddler中显示为红色:在OnBeforeRequest中添加
if (oSession.HostnameIs("www.baidu.com")) {oSession["ui-color"] = "red";}
修改Request中的body
if(oSession.uriContains("http://www.baidu.com")){// 获取Request 中的body字符串var strBody=oSession.GetRequestBodyAsString();// 用正则表达式或者replace方法去修改stringstrBody=strBody.replace("1111","2222");// 弹个对话框检查下修改后的body FiddlerObject.alert(strBody);// 将修改后的body,重新写回Request中oSession.utilSetRequestBody(strBody);}}
域名重定向
//将此段代码放在OnBeforeRequest方法下if(oSession.HostnameIs("www.baidu.com")){oSession.hostname = "www.hao123.com";
}
替换请求地址
if(oSession.fullUrl.Contains("wx.waimai.meituan.com/weapp/v1/user/favorite/getmyfavorite")){oSession.fullUrl = "http://127.0.0.1:8080/fiddler/getRest";
}
获取Response的内容:在OnBeforeResponse中
oSession.GetResponseBodyAsString()
三、PC端自动化点击
1、使用 python的pyautogui模块实现自动化点击触发请求
2、安装:pip install pyautogui
如果安装不上,一般是网络超时,可以使用:
pip install pyautogui -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
3、示例:
打印鼠标的坐标:
mouse = pyautogui.position()array[i][0] = mouse.xarray[i][1] = mouse.yprint(mouse)
调整窗口大小,移动窗口位置:
import pygetwindow as gw# 调整窗口大小
title = "窗口名称"
title_window = gw.getWindowsWithTitle(title)
print(len(title_window))
for window in title_window:# window.moveTo(0, 0)window.resizeTo(250, 500)
获取窗口的坐标
title = "窗口名称"
window = gw.getWindowsWithTitle(title)[0]
print(window.left, window.top)
点击:
pyautogui.click(x, y)
四、autoxjs
1、手机端模拟点击推荐使用autoxjs, 官网:主页 | autoxjs,文档:http://doc.autoxjs.com/
2、根据教程一步步安装,开启无障碍,编写JS文件,AutoX.js 使用 JavaScript 作为脚本语言,支持 ES5 与部分 ES6 特性。自动操作模块:基于控件,基础坐标。
3、示例
使用前请先开启无障碍(重要)
auto();
log("点击测试开始!");
launchApp("APP名称");
sleep(5000);
常用方法;
-
back() 返回上一个页面
-
sleep(3000) 单位是毫秒
-
launchApp("APP名称"); 打开该APP
-
click("美食", 0) 点击屏幕上识别到的第一个美食
-
click(221, 1323) 点击该坐标
五、Fiddler抓不到微信小程序包的情况需要将Fiddler证书push到系统证书目录
1、Fiddler证书导出到桌面
2、安装 openssl:http://slproweb.com/products/Win32OpenSSL.html
3、将Fiddler cer证书转pem证书:
openssl x509 -inform DER -in FiddlerRoot.cer -out FiddlerRoot.pem
4、显示pem证书的hash值
openssl x509 -inform PEM -subject_hash_old -in FiddlerRoot.pem
5、生成Fiddler证书的hash值是269953fb ,重命名pem
ren FiddlerRoot.pem 269953fb.0
6、我们需要将该证书文件push到 /system/etc/security/cacerts目录下,需要先获取该目录的写权限,进入 /system/etc/security目录执行 chmod 777 cacerts
7、如果提示该文件只读,执行以下命令重新挂载
mount -o remount,rw /
或:
mount -o remount,rw /system
8、执行 adb push 269953fb.0 /system/etc/security/cacerts
9、如果直接push提示没有权限,可以先将证书push到 /data/local/tmp目录,再复制到/system/etc/security/cacerts目录
相关文章:
微信小程序自动化采集方案
本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,拒绝转载,若有侵权请联系我删除! 一、引言 1、对于一些破解难度大,花费时间长的目标,我们可以先采用自动化点击触发请求&…...
操作系统第三章王道习题_内存管理_总结易错知识点
1. 静态重定位和动态重定位 静态重定位(可重定位装入):作业在装入内存的时候,就修改它的物理地址. 静态重定位进程数据一旦确定位置,就不能再移动 动态重定位(动态运行时装入):作业装入内存的时候,不修改物理地址,直到运行的时候,根据重定位寄存器再修改地址. 对…...
uniapp刻度尺的实现(swiper)滑动打分器
实现图(百分制):滑动swiper进行打分,分数加减 <view class"scoring"><view class"toggle"><view class"score"><text>{{0}}</text><view class"scoreId&quo…...
cordova Xcode打包ios以及发布流程(ionic3适用)
第一步 1、申请iOS证书 2、导入证书到钥匙串 第二步 1、xcode配置iOS证书 1.1用Xcode打开你的项目(我的Xcode版本是新版) 修改如下图 回到基本信息设置界面,Bundie 这项填写,最先创建的那个appid,跟创建iOS描述文件时选…...
idea中的.idea文件夹以及*.iml文件(新版idea没有*.iml文件了),新旧版idea打开同一个项目会不会出现不兼容
一、背景 我们有可能会在同一台电脑上安装2个 intellj idea。比如一个community edition一个ultimate edition(一个安装板一个绿色解压版) 当然了,两个idea之间可能版本号也会有差。 这篇文章就来讨论两个问题,一是关于idea产生…...
高性能网络编程 - The C10K problem 以及 网络编程技术角度的解决思路
文章目录 C10KC10K的由来C10K问题在技术层面的典型体现C10K问题的本质C10K解决思路思路一:每个进程/线程处理一个连接思路二:每个进程/线程同时处理多个连接(IO多路复用)● 实现方式1:直接循环处理多个连接● 实现方式…...
uniapp u-tabs表单如何默认选中
首先先了解该组件;该组件,是一个tabs标签组件,在标签多的时候,可以配置为左右滑动,标签少的时候,可以禁止滑动。 该组件的一个特点是配置为滚动模式时,激活的tab会自动移动到组件的中间位置。 …...
2023年腾讯云双11活动入口在哪里?
2023年双11腾讯云推出了11.11大促优惠活动,下面给大家分享腾讯云双11活动入口、活动时间、活动详情,希望可以助力大家轻松上云! 一、腾讯云双11活动入口 活动地址:点此直达 二、腾讯云双11活动时间 腾讯云双11活动时间跨度很长…...
Windows 下编译 TensorFlow 2.12.0 CC库
大体参考 Windows 下编译 TensorFlow 2.9.1 CC库-CSDN博客 这个版本不完整,需要从 TensorFlow 2.14.0 根目录复制 WORKSPACE 覆盖原同名文件,还需要复制TensorFlow 2.14.0 的 tensorflow\tools\toolchains\python 到相同目录。...
Spring Boot 中自动装配机制的原理
(摘自mic老师面试题) 最近一个粉丝说,他面试了 4 个公司,有三个公司问他:“Spring Boot 中自动装配 机制的原理” 他回答了,感觉没回答错误,但是怎么就没给 offer 呢? 对于这个问题…...
如何安装Wnmp并结合内网穿透实现外网访问内网Wnmp服务
文章目录 前言1.Wnmp下载安装2.Wnmp设置3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 WNMP是Windows系统下的绿色NginxMysqlPHP环境集成套件包,安装完成后即可得到一个Nginx MyS…...
网工内推 | 上市公司,云平台运维,IP认证优先,13薪
01 上海新炬网络信息技术股份有限公司 招聘岗位:云平台运维工程师 职责描述: 1、负责云平台运维,包括例行巡检、版本发布、问题及故障处理、平台重保等,保障平台全年稳定运行; 2、参与制定运维标准规范与流程&#x…...
Linux安装DMETL4
Linux安装DMETL4 产品与环境介绍1 规划安装路径2 DM8安装路径2.1 达梦数据库程序安装路径2.2 初始化达梦数据库2.3 创建数据库用户名 DMETL 3 安装DMETL3.1 查看安装包与授权3.2 安装DMETL程序3.3 DMETL安装日志 4 启动DMETL5 DMETL连接数据库后会自动创建相关资源表6 达梦数据…...
Python中编码声明的方法
编码声明主要是为了解决编码问题。由于Python 3的默认编码是UTF-8,因此在使用Python 3编写源代码时,通常不需要在文件开头添加编码声明。但是,如果您使用的编码不是UTF-8,则需要在文件开头添加编码声明,以确保Python解…...
css设置浏览器表单自动填充时的背景
浏览器自动填充表单内容,会自动设置背景色。对于一般的用户,也许不会觉得有什么,但对于要求比较严格的用户,就会“指手画脚”。这里,我们通过css属性来设置浏览器填充背景的过渡时间,使用户看不到过渡后的背…...
windows系统下查看安卓apk的sha1
1.在apk所在文件夹打开cmd或者powershell 2.输入 certutil -hashfile xxx.apk SHA1 这样就可以了 3.指令格式 certutil -hashfile FileName [HashAlgorithm] certutil -hashfile:原样输入 FileName:文件名 HashAlgorithm:可选项包括&…...
openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述
文章目录 openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述116.1 背景信息116.2 操作步骤 openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述 116.1 背景信息 数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作…...
python编程复习系列——week2(Input Output (2))
文章目录 一、多行代码语句二、Escape序列三、字符串格式四、数值运算课后作业 一、多行代码语句 🥞使用反斜杠\来表示在下一行中继续使用一条语句。 subject_code "CSCI111" subject_mark 80 subject_grade "D" result "Subject re…...
为什么HTTP用得很好的,开始普及HTTPS呢?
显而易见,现在的HTTP早已不安全,当我们在浏览各个网站时会发现HTTP前面都会显示不安全,因为HTTP是明文传输,一旦电脑被植入了木马,木马程序就会主动周期性发消息给Internet的控制终端,这样NAT小洞会一直敞开…...
C++day6作业
1.思维导图 2.编程题: 以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在&am…...
从“点灯”到“调灯”:用Keil uVision5的调试窗口,像侦探一样排查你的STM32程序
从“点灯”到“调灯”:用Keil uVision5的调试窗口,像侦探一样排查你的STM32程序 当LED灯第一次在你的STM32开发板上闪烁时,那种成就感就像解开一道数学难题。但真正的嵌入式开发者知道,这只是开始——当程序复杂度增加,…...
【后端开发】(真实场景/面试题) 从 1 亿用户表聊起:手机号字段到底该用 varchar、char 还是 bigint?
文章目录前言1 手机号到底是不是“数字”?1.1 为什么不能直接用 int?1.2 bigint 能存,为什么也不推荐?1.3 手机号更像身份证号,而不是年龄2 在 1 亿用户表下,字段类型怎么选?2.1 varchar(11) 够…...
Win11Debloat:3步完成Windows系统清理与性能提升的终极指南
Win11Debloat:3步完成Windows系统清理与性能提升的终极指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter a…...
byp4xx:自动化绕过HTTP 40X状态码的Go语言工具详解
1. 项目概述:byp4xx,一个专为绕过HTTP 40X状态码而生的工具在Web应用安全测试,尤其是渗透测试和漏洞赏金(Bug Bounty)的日常工作中,遇到403 Forbidden或404 Not Found这样的HTTP状态码是家常便饭。很多时候…...
CitySim交通数据集:如何为自动驾驶安全研究提供革命性数据支持?
CitySim交通数据集:如何为自动驾驶安全研究提供革命性数据支持? 【免费下载链接】UCF-SST-CitySim1-Dataset Official github page of UCF SST CitySim Dataset 项目地址: https://gitcode.com/gh_mirrors/ucf/UCF-SST-CitySim-Dataset 随着自动驾…...
为什么92%的MCP 2026升级失败源于配置漂移?——5个被忽略的systemd服务依赖陷阱及修复checklist
更多请点击: https://intelliparadigm.com 第一章:MCP 2026安全漏洞修复教程导论 MCP(Modular Control Protocol)2026 是工业物联网(IIoT)场景中广泛部署的轻量级设备通信协议,其设计目标为低功…...
从变频器维修师傅的视角,聊聊PWM死区那些“坑”与实战经验
变频器维修实录:PWM死区设置不当引发的血案与生存指南 1. 当示波器成为"凶案现场":三起真实炸机案例分析 那是个闷热的周五下午,某化工厂的160kW变频器在启动瞬间爆出刺眼的火花,伴随着IGBT模块炸裂的闷响,…...
顺丰面单打印踩坑记:Clodop插件与105丰密面单的实战调试心得
顺丰105丰密面单打印实战:Clodop插件深度调优与避坑指南 1. 环境准备与插件初始化 在电商订单处理系统中集成顺丰面单打印功能,首先需要确保Clodop插件正确安装。许多开发者遇到的第一个坑就是插件检测逻辑不严谨。原始代码中简单的if(!!getLodop())判…...
从零到CI/CD:给你的GitLab服务器装上GitLab Runner(含避坑指南)
从零到CI/CD:给你的GitLab服务器装上GitLab Runner(含避坑指南) 在当今快节奏的软件开发环境中,持续集成和持续部署(CI/CD)已成为提升团队效率的必备实践。想象一下,每次代码提交后都能自动运行…...
NanoBot 安装部署完全指南:从零开始配置你的 AI 助手
本博客全部操作流程均由 DeepSeek V4 全程辅助完成 对话链接:https://chat.deepseek.com/share/qhmrckf3owsl8zako5,https://chat.deepseek.com/share/1xpi1lj19omi88np1l 🚀 NanoBot 安装部署完全指南:从零开始配置你的 AI 助手 …...
