一直卡在“我不是机器人”?reCAPTCHA 打码原理,和为什么打过了还是被封
reCAPTCHA 有两代:老的要点九宫格,新的在后台悄悄打分。讲打码后台是真人还是模型、三十秒分清遇到的是哪一代,以及为什么验证码过了账号还是废。
reCAPTCHA 就是注册时挡在前面的那个"我不是机器人",Google 家的,有两代:老的一代要点九宫格选红绿灯,新的一代不弹窗,在后台悄悄打一个分。
所谓"自动打码",就是把这道题外包出去。业内常见的做法主要是两条:一条把图片发给真人打码工厂,一千道题一到三美元,十几秒内有人代为点掉;另一条用图像识别模型直接认九宫格。两条路都只对付得了"选图题"那一代。
不弹窗的那一代不出题,它看的是访客像不像真人,所以打码这招基本不管用。还有一句得先说清:打码只解决验证码这一层,网络地址、浏览器指纹、操作习惯照样在被平台打分。
先对号入座:四种情况
| 情况 | 结论 | 跳到 |
|---|---|---|
| 用平时的浏览器注册,偶尔弹一次九宫格 | 手动点掉就行,不用接打码服务 | 情况 A |
| 要批量跑注册,每次都弹九宫格 | 该接打码服务了,三类里挑一类 | 情况 B |
| 页面根本不弹窗,但提交老是过不去 | 是新一代在后台打分,该修的是浏览器环境 | 情况 C |
| 打码明明成功了,账号还是被封或者收不到码 | 问题不在验证码这一层 | 情况 D |
三十秒先分清:是哪一代
动手之前先做这个判断,判断错了后面的功夫都用不上。打开目标页面,照下面看:
- 页面上有"我不是机器人"复选框,或者点完弹出九宫格,那是 v2,也就是选图题那一代。
- 什么都没弹,但提交不过去。按 F12 打开开发者工具,切到 Network 面板,刷新页面,在请求里搜 captcha。找到加载的那个
api.js:地址后面跟着render=加一串 key 的是 v3;不带这个参数的,是藏起来的 v2。action 这个字段也是 v3 独有的。 - v3 不需要点任何东西,脚本加载之后就在后台跑风险评估,整个过程无感。
两代的差别摆在一起看:
| 项 | v2(选图题那代) | v3(后台打分那代) |
|---|---|---|
| 看不看得见 | 弹窗,九宫格 | 完全无感 |
| 它在看什么 | 题有没有做对,加上浏览器里存的痕迹 | 打开页面之后的一整套动作 |
| 结果长什么样 | 过 / 不过 | 0.0 到 1.0 一个分数 |
| 好不好打 | 中等,花钱基本能解决 | 难一个量级,花钱不一定解决 |
| 装在哪 | 关键动作前,注册、登录、发评论 | 整个页面一直在采集 |
v2 是一次性的,做完题就走。v3 是持续打分,同一次访问里前面攒的分,后面才用得到。这个差别决定了后面所有手段的走向。
情况 A · 偶尔弹一次,手动点掉就行
适用场景:用平时那个浏览器自己注册几个海外账号,偶尔被弹一次九宫格。
这种情况直接点掉,不用碰打码服务。日常用的浏览器里有正常的使用痕迹,登过 Google 账号,平时刷 YouTube,reCAPTCHA 一般点一下复选框就放行,连题都不出。
打码服务是给规模化操作用的:一次几十上百个号并发跑注册流,则需要一个接口来自动完成。手动过一次,人手比接口快。
如果开着 VPN,或者用的是刚装好的干净浏览器,九宫格会反复弹,一道接一道。那不是验证码本身的问题,是那条线路和那个浏览器让平台起了疑心。先换一条住宅线路再试,比接打码服务管用。
情况 B · 要批量过九宫格:三类服务,按场景挑
适用场景:跑批量注册、爬公开数据、抢购这类活,弹的是 v2 或者 hCaptcha 的图像题。
市面上打码服务不下十几家,但从后端真正跑的东西看,就三类。挑哪一类看场景,不是看谁名气大。
三类服务对照
| 哪一类 | 后端是谁在干活 | 什么价、多快 | 最适合谁 |
|---|---|---|---|
| 人工打码工厂 | 真人 7×24 在线点题,人主要在东南亚、南亚、东欧 | 每千道题一到三美元,官网标称平均 5 到 15 秒回 | 冷门题型、模型认不出的场景,想按题付费,量在每分钟几十到几百道 |
| 模型打码 | 训练好的图像识别模型自动跑 | 每千道题不到一美元,比人工还便宜,官网标称 5 秒内 | 对延迟和成本都敏感,量大到每秒几十上百道 |
| 嵌在自动化工具里的 | 打码功能直接做进浏览器自动化工具 | 跟着工具一起收费 | 本来就在用某个自动化工具跑注册流 |
大部分人从人工型起步:题库怎么变都有人能认,不必操心模型跟不跟得上。量上来之后再换模型型,或者两条一起接。
三类各自的短板也说清:人工型排队平均要等十几秒,高峰或者题目连着换的时候更久。模型型怕 Google 换题,题库和干扰一改,通过率会突然掉下来。嵌在自动化工具里的那类,好处是链路简单,代价是被锁在这个工具的生态里。
模型为什么能认得准?九宫格就是红绿灯、公交车、消防栓、桥梁那几类固定题目。Google 自己拿这些题给地图数据打标注,反过来也就给打码方留下了大量训练素材。所以多数服务内部的做法是,能用模型就用模型,认不出来再转给真人。
对接分三步
不同服务的接口地址和字段名不一样,具体照厂商文档来,但流程都是这三步:
第一步,选服务、拿一把 API key。 按上面三类判断属于哪一类,注册对应服务的账户,拿到 key。
第二步,从目标页面抓两样东西传过去。 一是 sitekey,这是这个页面公开的验证码标识,一般在页面源码里的 data-sitekey 属性上就能找到。二是这个页面的网址。把这两样和 key 一起发给打码服务。
第三步,把返回的 token 塞回表单。 打码服务跑完会返回一串 token,可以理解成一张通行票据。把它填进目标页面对应的隐藏输入框,通常叫 g-recaptcha-response,然后提交表单。目标平台会拿这串东西去 Google 那边核对,对得上就放行。
规模化跑起来之后,出问题基本都在细节上。sitekey 抓错了、传过去的网址跟实际域名对不上、token 有时效但没在两分钟内提交、平台在验证码之外又叠了一层自己的检查,这四个占了绝大多数。
情况 C · 页面不弹窗却过不去:v3 在后台打分
适用场景:没有出现九宫格,注册按钮点得动,但结果就是过不去,或者过了立刻被限制。
这里要说准一点:打码服务是卖 v3 的 —— 2Captcha 有独立的 v3 接口,可以指定要 0.3、0.7 还是 0.9 的分;Anti-Captcha 这种全人工池也给 v3 报了价。所以「v3 没题给人做,所以买不了」这个说法不对。
但买回来的是一串凭证,自己那个浏览器和账号状态该低分还是低分。各家官方文档都没说明这串凭证是怎么产生的,也没说明它的分数跟谁的环境有关,所以能不能过线,只能拿真实注册页试。
在 Google 眼里,一台可疑的浏览器长这样:里面没存任何登录痕迹,没登过 Google 的任何服务,没有 YouTube 的浏览记录,浏览器型号信息又是最标准的那种默认值。这样的浏览器连题都不会出,直接给一个低分。打码接口调一百次,拿到的还是一百次低分。
行业里的做法是养环境:提前准备一批浏览器身份,先在 Gmail、YouTube、地图搜索上正常浏览一段时间,攒出高分的浏览痕迹,再拿去注册。有些服务把这种高分痕迹直接卖给用户。这套东西跟打码不是一回事,更像"高分环境租赁"。
结论:v3 这一档两件事都要做 —— 打码接口能买,但先把上游的浏览器和账号状态修好,不然买了凭证也只是在给一个低分环境打补丁。想理解平台怎么读浏览器,看指纹浏览器是干嘛的。
情况 D · 打码成功了账号还是废:打码只解决其中一层
适用场景:日志里打码那一步返回成功,但账号还是被封,或者收不到码,或者注册完隔几天就停用。
答案基本是同一句:打码只干掉了第 3 层,前后还有五层在同时打分。
- 网络层:走的是家庭宽带代理、机房代理还是手机流量,平台一眼看得出来。相关阅读:3 种代理怎么选。
- 设备指纹层:浏览器型号、屏幕尺寸、字体、显卡信息拼起来的那张"数字身份证"。
- 验证码层:打码服务在这一层,也只在这一层。
- 号码层:注册时收码用的号本身也是信号,不同来源的号在平台那边权重不一样。
- 行为层:注册过程里的鼠标轨迹、停顿、翻页速度。这层现在越来越重,v3 本身就是它的一部分。
- 账号历史层:注册完之后这个号怎么用。它不影响注册成功,但决定这个号能活多久。
1、2、4、5 任何一层不干净,第 3 层打得再漂亮也没用。所以圈里的常规做法是把打码、指纹、代理、账号状态放在一起管,不当成孤立的一个环节。整套信号怎么叠加,看平台是怎么发现多开的。
为什么 Google 明知道有打码,还留着 reCAPTCHA
按常理说,Google 完全有能力把打码服务的地址和调用特征认出来,毕竟这些服务的调用量巨大,特征也很稳定。但 reCAPTCHA 从 2007 年上线、2009 年被 Google 收进来,做到今天一直"能被打",Google 没有彻底堵死。原因很现实,有三条。
第一,它的目标从来不是百分之百挡住机器,是给攻击者抬高成本。 挡掉九成低成本的自动化,剩下一成让对方花钱去解,商业目标就算完成了。真需要死守的场景,平台会自己再叠风控引擎、设备指纹、行为模型,reCAPTCHA 只是入口那道筛子。
第二,打码工厂反过来在帮 Google 干活。 那些九宫格题,本质上是谷歌地图在众包标数据 —— Google 2012 年就公开承认过,拿街景里的门牌号、路牌来出题,答案回头补进地图。谁做得最勤、最标准?打码工厂里那批人。他们一天点几万道消防栓、红绿灯、人行道,标注质量比普通用户还稳。Google 白拿到的高质量标注,价值远超验证码本身。
第三,v3 把这件事变成了军备升级。 要过 v3,要么租别人的高分环境,受制于人;要么自己养,成本很高。这个门槛把低端玩家挡在门外,同时留下一个愿意付高价的市场。对 Google 来说结果不坏。
一句话:reCAPTCHA 不是护城河,是收费站。它抽的是自动化玩家的成本税,不是绝对挡门。
深入阅读
- 海外注册的 4 大工具,原理一次看完。
- 一次完整的海外账号注册要几层工具配合,看打码在整条链路的第三层。
- 打码服务横评,5 家实战对比,想挑具体哪一家,比如 2Captcha、CapMonster、CapSolver,看这篇。
- 批量注册海外账号,老司机全套配齐,从 5 个号到 500 个号。
想试试 dogesms
打码解决的是验证码那一层。如果注册流卡在号码那一层,可以看看 dogesms。
要注册新账号,直接在 dashboard 选号,价格按国家实时显示,选之前先看一眼目标平台在不在覆盖里。需要长期持号的,比如 WhatsApp、Telegram 主号,走月租号,租期内不限次数收码。
有拿不准的可以到 Telegram 频道 @dogesms_official 里问,那儿有一批同样在做海外注册的人,打码、号池、代理的坑基本都聊过。