📘 ai-captcha-bypass
← 返回首页

AI 驱动的验证码求解器

本项目是一个基于 Python 的命令行工具,它使用大型多模态模型(如 OpenAI 的 GPT-4o 和 Google 的 Gemini)来自动求解各种类型的验证码。它利用 Selenium 进行 Web 浏览器自动化,以与网页交互并实时求解验证码。

成功的求解过程会以 GIF 格式记录在 successful_solves 目录中。

主要特性

  • 多 AI 提供商支持:支持 OpenAI(例如 GPT-4o)和 Google Gemini(例如 Gemini 2.5 Pro)模型。
  • 多验证码类型:能够求解各种验证码挑战。
  • 浏览器自动化:使用 Selenium 模拟人类与网页的交互。
  • 可扩展性:模块化设计使得添加对新验证码类型或 AI 模型的支持变得容易。
  • 基准测试:包含用于测试求解器性能和成功率的脚本。

支持的验证码类型

该工具可以求解 2captcha.com/demo/ 页面上找到的以下验证码类型:

  1. 文本验证码:简单的文本识别。
  2. 复杂文本验证码:具有更多扭曲和噪声的文本。
  3. reCAPTCHA v2:Google 的"我不是机器人"复选框,带有图像选择挑战。
  4. 拼图验证码:滑块拼图,必须将拼图块移动到正确位置。
  5. 音频验证码:转录音频文件中的字母或数字。

先决条件

  • Python 3.7+
  • Mozilla Firefox

安装与配置

  1. 克隆仓库: bash git clone https://github.com/aydinnyunus/ai-captcha-bypass cd ai-captcha-bypass

  2. 安装依赖: bash pip install -r requirements.txt

  3. 设置您的 API 密钥: 通过复制示例文件在根目录创建一个 .env 文件: bash cp .env.example .env 打开 .env 文件并添加您的 OpenAI 和/或 Google Gemini 的 API 密钥: OPENAI_API_KEY="sk-..." GOOGLE_API_KEY="..."

使用方法

运行求解器的主要脚本是 main.py。您需要指定要测试的验证码类型。您也可以指定 AI 提供商和模型。

命令行参数

  • captcha_type:(必需)要求解的验证码类型。
  • 选项:puzzle, text, complicated_text, recaptcha_v2, audio
  • --provider:要使用的 AI 提供商。
  • 选项:openai, gemini(默认:openai
  • --model:要使用的特定模型(例如 gpt-4o, gemini-2.5-flash)。
  • --file:用于 audio 测试的音频文件路径。(默认:files/audio.mp3

示例

使用 OpenAI(默认)求解简单文本验证码:

python main.py text

使用 Gemini 求解复杂文本验证码:

python main.py complicated_text --provider gemini

使用 Gemini 求解 reCAPTCHA v2 挑战:

python main.py recaptcha_v2 --provider gemini

转录音频验证码:

python main.py audio --file files/radio.wav --provider openai

使用特定的 OpenAI 模型求解拼图验证码:

python main.py puzzle --provider openai --model gpt-4o

工作原理

  1. 启动浏览器:脚本使用 Selenium 启动一个 Firefox 浏览器实例。
  2. 导航:它转到指定验证码类型的演示页面。
  3. 捕获:它对验证码挑战(图像、指令或拼图)进行截图。
  4. AI 分析:捕获的图像或音频文件被发送到选定的 AI 提供商(OpenAI 或 Gemini),并附带针对验证码类型定制的特定提示词。
  5. 获取操作:AI 返回解决方案(文本、坐标或图像选择)。
  6. 执行操作:脚本使用 Selenium 输入文本、移动滑块或点击正确的图像。
  7. 验证:脚本检查成功消息以确认验证码已求解。

成功示例

以下是一些求解器成功绕过不同验证码类型的示例。

验证码类型 OpenAI (GPT-4o) Gemini (2.5 Pro)
reCAPTCHA v2
拼图
复杂文本

项目结构

  • main.py:运行验证码求解器测试的主要入口点。处理命令行参数并调用相应的测试函数。
  • ai_utils.py:包含所有与 OpenAI 和 Gemini API 交互的函数。这是定义提示词和进行 API 调用的地方。
  • puzzle_solver.py:专门实现用于求解多步骤滑块拼图验证码的逻辑。
  • benchmark.py:用于运行多个测试以评估不同求解器性能和成功率的脚本。
  • requirements.txt:项目所需的所有 Python 包的列表。
  • screenshots/:临时保存验证码截图的目录。
  • successful_solves/:保存成功求解过程 GIF 的目录。

联系方式