paint-brush
DOOM CAPTCHA:电子游戏是 CAPTCHA 的未来吗?经过@brightdata
273 讀數

DOOM CAPTCHA:电子游戏是 CAPTCHA 的未来吗?

经过 Bright Data6m2025/01/10
Read on Terminal Reader

太長; 讀書

DOOM CAPTCHA 是一个新颖有趣的项目,要求用户在浏览器中玩一轮简短的 DOOM 来证明自己是人类,从而取代传统的 CAPTCHA 挑战。使用 Emscripten 开发,将游戏移植到 WebAssembly,它为在线验证提供了独特的变化。
featured image - DOOM CAPTCHA:电子游戏是 CAPTCHA 的未来吗?
Bright Data HackerNoon profile picture
0-item

在过去的几天里,IT 社区一直在热议DOOM CAPTCHA——一种让您可以在浏览器中玩 DOOM 以证明您是人类的 CAPTCHA 🤖❌。大量帖子涌入社交网络,尤其是 LinkedIn 和 Reddit。该项目的 GitHub 存储库在几个小时内迅速超过 300 颗星。⭐🚀


但这只是一个有趣的副项目,还是还有更多内容?DOOM CAPTCHA 会成为在线验证的下一个大事件吗?我们很快就需要打败电子游戏来证明我们不是机器人吗?🎮


请继续阅读,了解炒作背后的原因,以及 CAPTCHA 的未来是否涉及击毙敌人,而不是点击交通信号灯!🚦

什么是 DOOM CAPTCHA?

顾名思义,DOOM CAPTCHA 就是它的名字——要求您玩 DOOM® 来证明您是人类的 CAPTCHA。🕹️


该项目的官方标志


这个想法很简单:你的浏览器中运行着一个完全可玩的 DOOM 实例 🌐,你的任务可能是“杀死至少 3 个怪物”。成功完成任务,你就证明了你的人性 🧍‍♂️。失败了……好吧,下次祝你好运 😅。


DOOM CAPTCHA 正在行动!

您可以在官方演示站点上自行测试。


⚠️警告:DOOM 非常容易上瘾🔥,所以要做好在击倒敌人的过程中失去时间的准备🏆👾。


(DOOM® 基于非商业用途发布的共享软件版本。它是 ZeniMax Media 公司 id Software LLC 的注册商标。)

面向书呆子的实施细节

DOOM CAPTCHA 的神奇之处在于它利用Emscripten将 Doom 的精简端口编译到 WebAssembly(由Lorti开发),在基于 C 的游戏运行循环( g_game.c )和 JavaScript 驱动的 CAPTCHA UI 之间架起了一座桥梁。🧠


相当令人惊奇,对吧? 太棒了!


DOOM CAPTCHA 背后的原始想法首先由 GitHub 用户vivirenremoto提出,他于 2021 年启动了该项目。


一切都始于一个基于 SDL 的极简 Doom 移植版,经过微调后可在浏览器中流畅运行。但要将其转变为一场需要进行 CAPTCHA 验证的冒险?这需要进行一些更高级别的自定义 🔧。


时间快进到几天前, Guillermo Rauch推出了一款全新、优化且现代化的 DOOM CAPTCHA 版本——通过更加精致和强大的增强功能让这一概念重获新生!


针对 CAPTCHA 成就所做的扩展:

  • 修改了构建版本以适应共享软件版本的doom1.wad — 使其保持合法性。


  • 引入新的进程标志,以实现更流畅的游戏流程:

    • -nomenu (在m_menu.c中)跳过菜单屏幕并直接进入操作。

    • -autoreborn (在p_mobj.c中)在 2 秒延迟后自动重生玩家。


  • 添加了基于自定义 JavaScript 事件的回调:

    • 当玩家出生或者重生时, onPlayerBorn会触发。

    • 当玩家死亡时, onPlayerKilled会被触发。

    • onEnemyKilled庆祝消灭敌人。


  • 为了增加混乱度,在d_main.c中添加了默认标志来加大挑战:

    • -skill 5 = 噩梦模式

    • -fast = 速度更快的敌人

    • -warp e1m1 = 直接跳进其中

    • -nomenu = 无菜单出口


准备好深入了解了吗?查看v0 UI 生成获取源代码

“验证码不再枯燥”

这是vivirenremoto 于 2021 年发布的原创 DOOM CAPTCHA 项目背后的座右铭。


从那时起,CAPTCHA 变得越来越复杂——说实话——越来越无聊,因为人工智能让自动化变得轻而易举

现在大多数网站都更像是政府官僚机构,而不是全新的数字体验。不断证明自己是人类是一件乏味、令人沮丧且压力十足的事情 😩。那么,为什么不通过快速玩一轮 DOOM 来摆脱这种压力呢?


公平点


这就是 DOOM CAPTCHA 的全部内容:


玩 DOOM CAPTCHA 是什么样子的(原谅我尴尬的表现)


无需拖动拼图碎片、点击消防栓或回答“交通灯在哪里?”,DOOM CAPTCHA 会给你一个更令人满意的挑战:控制 Doomguy、杀死一些怪物,并以自己的风格证明你的人性 💥


毋庸置疑,最初的项目大获成功(看看我做了什么?),获得了《DOOM》联合创始人约翰·卡马克的赞赏。它甚至在 Product Hunt 的 WTF 年度产品奖中排名第三:


Product Hunt 上的 DOOM Captcha


吉列尔莫·劳赫 (Guillermo Rauch) 的现代、精致版本则更进一步——疯狂地获取 GitHub 星星:


几个小时内就到达了数百颗星星

DOOM CAPTCHA 是战斗机器人的未来吗?

TL;DR:嗯,事实并非如此(至少在这次迭代中不是)


让我们来一探究竟!

教育目的项目

正如该项目的原始版本和新版本中所述,不要太认真对待 DOOM CAPTCHA — 它只是一个有趣的小项目。如果你知道如何编码,那么打破这个东西的安全性是相当容易的。


该项目仅用于教育和娱乐目的,因此您不应将其用作生产网站上的真正反机器人措施


想要深入了解先进反机器人技术带来的最新挑战?请观看以下视频:

深度强化学习是一个问题

人工智能与视频游戏之间的关系源远流长。首批真正引起轰动的人工智能项目之一是训练模型来玩《超级马里奥世界》,仅使用原始像素作为输入。


利用人工智能解决超级马里奥世界问题


这是通过深度 Q 学习空间变换网络实现的。💡


如果 2016 年的一个项目可以学习玩和解决《超级马里奥世界》的第一关,那么很难相信当今先进的 AI 模型无法轻松处理《DOOM》中诸如“杀死至少 4 个怪物”这样简单的事情。🤖

基于人工智能的瞄准机器人:一个真正的问题

瞄准机器人 — 听说过吗?如果您在 PC 上玩过在线 FPS 游戏或跨平台游戏,并且看到有人以神一般的精准度击败对手,那么这就是瞄准机器人的威力。


毫不奇怪,当今人工智能最大的应用之一就是游戏作弊——通过自动瞄准和杀死敌人的机器人来提高性能。


Aimbot 是另一种作弊方式......😂


猜猜怎么着?其中许多机器人都是在 GitHub 上开源的,有数十名合作者和数千颗星。


所以,虽然“在 DOOM 中杀死怪物”很有趣,但它绝对不是机器人安全的。😅

如何解决任何验证码

当然,这种 DOOM CAPTCHA 实现可能不是反机器人的未来,但毫无疑问,“证明你是人类”测试需要变得更加智能。然而,如果它们想要生存下去,它们还需要更具吸引力和趣味性。


但问题在于,新的现代 CAPTCHA 可能会成为真正的问题,特别是当您构建浏览器自动化工具(如网络抓取机器人)时。幸运的是,我们已经为您做好了准备!


您可以在以下指南中了解有关 CAPTCHA 绕过的更多信息:

如果这些教程不起作用,Bright Data 还为您提供CAPTCHA Solver服务,该服务可与任何编程语言集成,让您绕过最受欢迎的提供商的挑战!

最后的想法

DOOM——我们大多数人从小玩到大的游戏(或者至少玩过一次)——与 CAPTCHA 相遇,后者是我们作为人类用户所面临的普遍讨厌的障碍。将这两者结合起来,你就得到了 DOOM CAPTCHA,这是一个疯狂的项目,可能会彻底改变我们证明自己不是机器人的思维方式。


无论多年来 CAPTCHA 如何演变,总有巧妙的方法可以绕过它们,而Bright Data会一直支持您。加入我们的使命,让网络民主化,让每个人都能随时随地访问网络,甚至自动脚本也能访问网络。


下次再见,继续自由探索网络——无需验证码!🌐