原视频:TAS Explained: Super Mario Bros. 3 in 0.2 seconds 原作者:100th Coin 发布日期:2024-10-11 视频链接:https://www.youtube.com/watch?v=fQYX_AVxGq0 ✨ 想看英文原声? 00:00 视频引言 引出本次视频主题:作者制作的仅用0.2159秒通关《超级马里奥兄弟3》的极速TAS,说明该通关速度背后涉及大量技术原理,将逐一展开讲解 00:26 什么是TAS 解释工具辅助速通(TAS)的核心原理、模拟器工具的作用,说明TAS不仅可制作极致优化的速通,也可实现漏洞展示、创意游玩等内容,引出0.25秒极速通关TAS的技术发展背景 01:21 错传漏洞与早期速通 讲述错传漏洞的发现过程:玩家RAT926在TASVideos论坛发现反方向进入管道可跳过世界7,后续研究者基于该漏洞开发出直接跳转结局的TAS,实现2分54秒通关《超级马里奥兄弟3》 02:13 任意代码执行(ACE)原理 以通俗方式讲解任意代码执行的底层逻辑:6502机器码的运行方式、程序计数器的作用、RAM可执行代码的原理,解释2分54秒通关TAS如何利用错传触发栈下溢,写入跳转指令直达游戏胜利函数 04:10 子帧输入技术起源 引出本次核心主题:0.2秒级通关的子帧输入TAS,梳理技术发展脉络:AIS523设计全新ACE方法,Total在SGDQ2016展示0.216秒通关跑,Masterjun在2019年修复通关软锁问题,技术核心为DPCM音频漏洞绕过利用 05:18 DPCM音频漏洞原理 讲解NES音频芯片的PCM、DPCM音频播放机制,解释DPCM采样读取时的DMA操作会干扰手柄读取流程,导致控制器数据损坏,这一硬件漏洞影响所有使用DPCM音频的NES游戏 07:08 DPCM漏洞的官方修复方案 介绍《超级马里奥兄弟3》开发者针对DPCM音频漏洞设计的修复逻辑:通过连续两次读取手柄、比对结果一致性的方式过滤错误输入,该方案可有效解决漏洞导致的输入异常问题 08:43 漏洞修复方案的利用思路 讲解TAS环境下如何利用官方修复机制实现ACE:通过8kHz超高频率切换输入,让手柄连续读取结果永远无法匹配,触发无限读输入逻辑,将程序计数器引导至RAM区域 09:15 IRQ中断跳转RAM原理 讲解NES的IRQ中断机制作用、《超级马里奥兄弟3》对IRQ的常规使用方式,解释高频输入如何打乱NMI流程的bank切换顺序,让IRQ在错误程序bank下触发,通过栈操作将程序计数器引导至RAM地址0,开始执行RAM中的代码 11:19 可操纵的RAM字节 梳理PC跳转至RAM后,可通过手柄控制的RAM地址范围:常规手柄输入可控制按钮状态对应的RAM地址,但方向键冲突限制了可编写的代码;子帧高频输入可额外控制地址0和2的字节,为编写有效代码提供可能 12:52 通关核心条件 说明实现无软锁完美通关需要满足三个核心条件:栈指针足够高以避免覆盖关键RAM地址、指定RAM地址值为0x20防止结局软锁、跳转至指定地址触发胜利结局代码 13:25 SGDQ 2016示例TAS解析 以SGDQ2016展示的早期0.2秒级TAS为例,讲解子帧输入的操作流程、如何通过手柄输入写入跳转代码触发结局,以及该版本TAS软锁的原因;说明日版ROM的胜利函数地址适配手柄输入限制,是完美通关的关键 15:08 0.2秒通关TAS流程详解 分步讲解本次0.2159秒完美通关TAS的完整输入流程:分阶段输入子帧和常规手柄指令,依次满足栈指针要求、关键RAM地址值要求、跳转胜利地址要求,最终实现无软锁极速通关 17:17 总结与内容预告 总结本次DPCM漏洞利用原理的通用性,提及其他NES游戏也存在同类漏洞、作者已制作多款游戏的子帧TAS;预告将推出比本次快43000倍的极速通关视频 使用YouDub AI翻译配音制作 项目地址:https://github.com/liuzhao1225/YouDub-webui





换一换 































