解决微信班级魔方打卡定位难题!AutoCheckBJMF 项目详解 + 抓包核心实战

在日常学习生活中,不少同学会被班级魔方的 GPS 定位打卡、二维码打卡所困扰,异地打卡、忘记打卡的情况屡见不鲜。今天给大家介绍一款基于 Python 开发的班级魔方自动签到神器 ------AutoCheckBJMF,同时手把手教大家抓包获取班级魔方打卡核心字段,彻底解决定位打卡的痛点问题。

一、AutoCheckBJMF 项目核心介绍

1. 项目基础信息

AutoCheckBJMF 是由开发者 JasonYANG170 开源在 GitHub 的班级魔方自动签到脚本,项目发布于 2024 年 4 月 24 日,基于 Python 语言开发,完全开源免费,支持 Windows、Mac、Linux 全平台运行,目前在 GitHub 上已有不少开发者关注使用。项目地址:https://github.com/JasonYANG170/AutoCheckBJMF

2. 支持的打卡模式

该项目几乎覆盖了班级魔方主流的打卡方式,且均经过验证可用,唯一待开发的是密码签到模式,核心支持:

  • ✅ 二维码签到(完美适配)
  • ✅ GPS 定位签到(支持自定义经纬度,解决异地打卡)
  • ✅ GPS + 拍照签到(一站式完成定位 + 拍照打卡)
  • 🚧 密码签到(开发中)

3. 核心功能亮点

这款脚本的强大之处在于自动化、无人值守、高自定义,核心功能如下:

  1. 定时开启签到:可自定义打卡时间,告别手动定闹钟;
  2. 24 小时无人值守:部署后无需人工干预,自动完成打卡任务;
  3. 一键安装:支持 msi 安装包,小白也能快速上手,无需复杂配置;
  4. 自定义经纬度:核心解决 GPS 定位打卡问题,想定位哪里就填哪里;
  5. 循环检测任务:自动检测是否有未完成的 GPS / 扫码打卡,发现即完成;
  6. 配置文件自动管理:支持 data.json 配置文件的导入和信息自动保存,一次配置永久使用;
  7. Cookie 持久化:无需重复抓包获取 Cookie,一次抓取即可连续签到,大幅降低操作成本。

4. 项目文件结构

项目的文件结构简洁明了,核心文件少,易二次开发和调试:

  • .github/workflows:GitHub Actions 工作流配置,支持自动化部署;
  • main.py:项目核心脚本文件,所有打卡逻辑均在此实现;
  • main.spec:打包配置文件,用于将 Python 脚本打包为可执行文件;
  • README.md:项目说明文档,包含基础使用教程;
  • LICENSE:开源协议文件。

二、核心关键:抓包获取班级魔方打卡真实字段

想要让 AutoCheckBJMF 脚本正常工作,抓包获取班级魔方打卡的核心请求字段是重中之重。班级魔方的打卡请求基于 HTTP/HTTPS 协议,所有的定位信息、用户认证信息、打卡指令都藏在请求包中,我们需要通过抓包工具提取真实字段,才能让脚本模拟正常的打卡请求。

1. 准备抓包工具

推荐使用Fiddler(全平台适配,操作简单),也可使用 Charles、Wireshark,本文以 Fiddler 为例,工具免费下载,无需付费激活。

2. 抓包环境配置

(1)Fiddler 基础配置
  1. 打开 Fiddler,进入Tools → Options → Connections,勾选Allow remote computers to connect,默认端口 8888,记住电脑的局域网 IP(如 192.168.1.100);
  2. 进入Tools → Options → HTTPS,勾选Capture HTTPS CONNECTsDecrypt HTTPS traffic,安装根证书并信任,解决 HTTPS 加密请求无法解析的问题;
  3. 确保 Fiddler 左下角显示Capturing,表示抓包功能已开启。
(2)微信小程序代理配置(关键)

班级魔方打卡多为微信小程序端,需将微信的网络请求代理到 Fiddler:

  1. 确保手机(运行微信)和电脑(运行 Fiddler)连接同一 Wi-Fi
  2. 打开手机 Wi-Fi 设置,找到当前连接的 Wi-Fi,开启手动代理,输入电脑局域网 IP(如 192.168.1.100)和 Fiddler 端口(8888);
  3. 打开手机浏览器,访问http://电脑IP:8888,下载并安装 Fiddler 根证书,完成 HTTPS 解密授权。

3. 抓取班级魔方打卡核心字段

配置完成后,开始抓包操作,全程需保证 Fiddler 处于抓包状态:

  1. 打开微信,进入班级魔方小程序 ,登录自己的账号,找到需要打卡的 GPS 定位打卡 / 二维码打卡入口,点击打卡但不要确认
  2. 回到 Fiddler,在左侧请求列表中,筛选包含banjimofang(班级魔方域名)的请求,重点关注POST/GET 类型的请求(打卡请求多为 POST);
  3. 点击目标请求,查看右侧Inspectors 面板,依次提取以下核心字段 (打卡的关键,缺一不可):
    • Request Headers 中的Cookie:用户身份认证信息,脚本通过 Cookie 识别账号,AutoCheckBJMF 支持 Cookie 持久化,一次抓取即可重复使用;
    • Request Body 中的经纬度字段:通常为latitude(纬度)、longitude(经度),这是 GPS 定位的核心,也是自定义定位的修改目标;
    • 请求 URL:班级魔方的打卡接口地址,脚本需要通过该地址发送模拟打卡请求;
    • 其他参数 :如userId(用户 ID)、taskId(打卡任务 ID)、sign(签名,部分请求有),需完整提取并保留。
抓包关键注意事项
  1. 抓包时尽量清空 Fiddler 原有请求 (点击Clear Cache),避免无关请求干扰;
  2. 若未找到班级魔方相关请求,可刷新小程序或重新点击打卡按钮,触发请求;
  3. 提取字段时严格保留格式,尤其是 Cookie 和经纬度,不要修改字符大小写和符号;
  4. 若遇到sign签名参数,无需破解,直接将抓取的 sign 值填入脚本配置文件即可。

4. 字段验证

抓取字段后,可在 Fiddler 中重放请求,验证字段的有效性:

  1. 右键点击目标打卡请求,选择Replay → Reissue Request
  2. 若重放后返回打卡成功或状态码 200,表示字段抓取正确;
  3. 若返回失败,检查是否漏抓字段、Cookie 是否过期,重新抓包即可。

三、AutoCheckBJMF 项目使用步骤

1. 环境准备 / 一键安装

  • 小白推荐:直接下载项目的 msi 安装包,双击一键安装,无需配置 Python 环境;
  • 开发者推荐 :克隆项目到本地,安装 Python3.8 + 环境,执行pip install -r requirements.txt安装依赖包。

2. 配置核心字段

  1. 打开项目的data.json配置文件;
  2. 将抓包获取的Cookie、打卡接口 URL、userIdtaskId等字段依次填入对应位置;
  3. 自定义 GPS 定位:将latitudelongitude修改为目标位置的经纬度(可从高德 / 百度地图获取任意地点的经纬度);
  4. 保存配置文件,完成核心设置。

3. 运行脚本 / 设置定时

  • 直接运行 :双击安装后的可执行文件,或在终端执行python main.py,脚本将自动检测打卡任务并完成;
  • 定时打卡:在配置文件中设置打卡时间,脚本将按照设定时间自动执行,实现 24 小时无人值守;
  • 自行打包 :若需自定义修改脚本,修改完成后执行pyinstaller main.spec,即可将脚本打包为全平台可执行文件。

四、项目二次开发与注意事项

1. 二次开发

项目核心代码在main.py中,基于 Python 的requests库实现网络请求,time库实现定时,json库实现配置文件管理,代码注释清晰,开发者可根据需求修改:

  • 新增打卡模式:如密码签到,可基于抓包的密码签到请求字段,在main.py中添加对应的请求逻辑;
  • 新增提醒功能:可结合smtplib库,添加打卡成功 / 失败的邮件 / 短信提醒;
  • 多账号打卡:修改data.json配置文件,支持多账号的字段配置,实现批量打卡。

2. 重要使用须知

  1. 合规使用:开发者明确声明,严禁将本程序用于违法用途,需遵守平台法规,若违背班级魔方平台利益,开发者将撤销支持;
  2. Cookie 有效期:虽然脚本支持 Cookie 持久化,但 Cookie 仍有过期时间,若打卡失败,需重新抓包获取最新 Cookie;
  3. 防检测:请勿频繁、大量使用脚本打卡,避免因请求频率过高被班级魔方平台检测到,导致账号受限;
  4. 问题反馈:若使用过程中遇到问题,可在 GitHub 项目的 Issues 中向开发者反馈,开发者会及时回复。

五、总结

AutoCheckBJMF 是一款解决班级魔方打卡痛点的优秀开源项目,凭借全平台支持、多打卡模式适配、自定义定位、无人值守 等特性,大幅提升了打卡的便捷性。而整个项目使用的核心,就是抓包获取真实的打卡请求字段------ 只要能准确提取 Cookie、经纬度、接口地址等关键信息,就能让脚本完美模拟人工打卡请求,轻松解决 GPS 定位打卡的难题。

该项目不仅适合普通用户使用,也适合 Python 初学者学习网络请求模拟、抓包分析、配置文件管理、脚本打包等知识点,感兴趣的同学可以去 GitHub 点个 Star,支持一下开发者的开源工作。

最后再次提醒:技术本身是中性的,请大家将该项目用于合法合规的场景,切勿利用技术进行违规操作!

项目地址:https://github.com/JasonYANG170/AutoCheckBJMF官方使用教程:https://github.com/JasonYANG170/AutoCheckBJMF/wiki

相关推荐
懂软件的胡子个哥1 天前
微信二次开发如何保护接口安全,Token、权限和重放防护都要考虑
微信·自动化·wechatapi·个人微信号二次开发·微信群管理
deepfu1 天前
微信 API 消息模块:发送视频消息的流程与优化点
微信·机器人
iPad协议个微协议1 天前
用 WechatApi 搭建微信自动化系统,需要哪些工程能力
微信·自动化·微信开发·wechatapi·个人微信号二次开发·微信ai客服·微信智能体ai
微信ipad协议开发2 天前
微信机器人 SaaS 还是私有化部署?两种模式对比选型
微信·机器人
懂软件的胡子个哥2 天前
微信二次开发如何设计高可用架构,服务器故障时消息不能跟着丢
微信·自动化·wechatapi·个人微信号二次开发·微信群管理
懂软件的胡子个哥2 天前
微信二次开发如何接入 AI,真正可用的不是简单自动回复
运维·微信·wechatapi·个人微信号二次开发·微信群管理
懂软件的胡子个哥2 天前
微信二次开发如何设计统一消息中心,让后期扩展更简单
微信·自动化·wechatapi·个人微信号二次开发·微信群管理
SXkehuirongsheng3 天前
APP定制开发怎么判断服务商的技术实力
百度·微信·app·网站建设·文心一言·微信公众平台
iPad协议个微协议3 天前
微信二次开发如何做好日志和监控,很多线上问题不是接口本身
微信·自动化·微信开发·wechatapi·个人微信号二次开发
iPad协议个微协议3 天前
微信二次开发如何用 WechatApi 打通消息、客户和业务系统
运维·微信·自动化·微信开发·wechatapi·个人微信开发