# pycatch **Repository Path**: lmx12330/pycatch ## Basic Information - **Project Name**: pycatch - **Description**: 通过python的mitm库抓包指定网址,将其中的{ans content}替换成指定内容。用于破解打题网站 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-31 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PyCatch - 网络抓包与内容替换工具 PyCatch 是一个基于 通过python的mitm库抓包指定网址,将其中的{ans content}替换成指定内容。用于破解打题网站 ## 功能特性 - ✅ 捕获指定地址的 HTTP/HTTPS 请求 - ✅ 支持 WebSocket 连接捕获 - ✅ 自动替换请求内容中的 `{ans content}` 为用户指定内容 - ✅ 实时显示抓包信息 - ✅ 将抓包内容保存到文件 - ✅ 自动检测并提示证书安装 - ✅ 监护进程确保程序异常退出时重置代理 ## 使用方法 ### 基本用法 下载dist.zip 双击 `mitmproxy-ca-cert.p12` 文件,按照以下步骤安装: 1. 选择 "安装证书" 2. 选择 "本地计算机" → 下一步 3. 选择 "将所有证书放入下列存储" 4. 点击 "浏览",选择 "受信任的根证书颁发机构" 5. 完成安装并重启浏览器 程序会显示主窗口,您可以: 1. 在 "抓包网页" 输入框中输入要抓包的 URL 或正则表达式(如 `pintia.cn`) 2. 在 "替换内容" 文本框中输入要替换的内容(支持多行) 3. 点击 "开始抓包" 按钮开始抓包 4. 点击 "打开抓包控制台" 按钮查看详细的抓包信息 ### 替换功能 当捕获到包含 `{ans content}` 的请求或 WebSocket 消息时,程序会自动将其替换为您在 "替换内容" 文本框中输入的内容。 ## 常见问题 ### 1. 无法捕获 HTTPS 请求 - 确保已正确安装 mitmproxy 证书 - 确保浏览器已重启 - 检查是否以管理员身份运行程序 ### 2. 替换内容不生效 - 确保替换内容已正确输入 - 确保请求中包含 `{ans content}` 字符串 - 查看抓包控制台的输出,确认替换操作是否执行 ### 3. 程序异常退出后网络无法使用 - 程序会自动启动监护进程,确保异常退出时重置代理 - 如果网络仍然无法使用,可以重新打开一次程序,开启抓包再关闭,或者手动重置代理设置 ## 技术原理 - 使用 mitmproxy 作为代理服务器捕获网络请求 - 使用 tkinter 创建图形界面 - 使用 psutil 监控进程状态 - 使用 JSON 转义确保替换内容格式正确 ## 注意事项 - 本工具仅用于学习和开发测试,请勿用于非法用途 - 运行时可能需要管理员权限以修改系统代理设置 - 证书安装可能会触发系统安全提示,请根据提示操作 ## 许可证 本项目采用 MIT 许可证。