The 29th International Obfuscated C Code Contest (IOCCC) 2025 Winners

The 29th International Obfuscated C Code Contest (IOCCC) 2025 Winners

第 29 届国际混乱 C 语言代码大赛 (IOCCC) 2025 获奖名单

Twenty Ninth International Obfuscated C Code Contest 第 29 届国际混乱 C 语言代码大赛

Where to start: See below for links to the 2025 winning IOCCC entries. Check out the index.html web pages for each winning entry. They have most of the information you need to compile and run the winning program. Take a look at the winning source code and try to figure out how it works. You might also want to check out the author’s remarks for even more details. You may download all winning entries in the form of a compressed tarball for this year’s contest. 如何开始:请查看下方 2025 年 IOCCC 获奖作品的链接。请查阅每个获奖作品的 index.html 网页,其中包含了编译和运行程序所需的大部分信息。你可以查看获奖的源代码,尝试弄清楚它是如何工作的。你也可以查看作者的备注以获取更多细节。你还可以下载今年所有获奖作品的压缩包(tarball)。

General remarks on this contest 关于本次大赛的总体评价

For IOCCC29, the volume and quality of submissions were at near-historic heights. IOCCC28 was speculated to have attracted a record number of submissions due to the 4-year absence, allowing authors to refine their submissions, resulting in a higher-than-usual submission quality. IOCCC29 was the second consecutive contest after the 2020-2024 hiatus. And yet, the number of submissions for IOCCC29 was similar to last year’s contest, and the overall submission quality remained high for this contest. So perhaps the increased submission volume, combined with a higher-than-usual submission quality, is due to factors such as improved website design, increased social media presence, authors building on the ideas of past winning entries, and other factors? 对于 IOCCC29,参赛作品的数量和质量都达到了历史最高水平。据推测,IOCCC28 因 4 年的停办吸引了创纪录的参赛作品,作者们有更多时间打磨作品,从而使质量高于往常。IOCCC29 是继 2020-2024 年中断后的第二次连续举办。尽管如此,IOCCC29 的参赛作品数量与去年持平,且整体质量依然保持在高水平。这或许是因为网站设计的改进、社交媒体影响力的提升、作者们在过往获奖作品基础上的创新,以及其他因素共同作用的结果?

Starting with the close of IOCCC28, the procedures used for closing the contest to new submissions, the judging process, selecting the winning entries, preparing the update to the website, and the process to create the live show on the Our Favorite Universe were carefully documented. And while this documentation required additional time as well as more effort, the documentation process resulted in overall improvements to how the IOCCC is run. 从 IOCCC28 结束开始,大赛组委会对关闭投稿、评审流程、获奖作品筛选、网站更新准备以及在“Our Favorite Universe”频道制作直播节目的流程进行了详细记录。虽然这些文档工作耗费了额外的时间和精力,但这一过程全面提升了 IOCCC 的运营水平。

A few days after the presentation of the winning entries for IOCCC29 has been made on the Our Favorite Universe YouTube channel. The recording of the main show will be divided up into individual segments. Then, each winning entry will be updated to include a link to a YouTube segment under a new Award presentation near the top of the winning entry’s index.html page. 在 IOCCC29 获奖作品于“Our Favorite Universe”YouTube 频道展示几天后,主节目的录像将被剪辑成独立片段。随后,每个获奖作品的 index.html 页面顶部将新增一个“颁奖展示”部分,并附上对应的 YouTube 片段链接。

Fun challenge info 趣味挑战信息

We have added fun challenges to this year’s winning entries competition, under the “Judges’ remarks” section. After you figure out what a given winning entry does, we encourage you to attempt the fun challenge. Some of these challenges are easier than others. In some cases, you’re asked to create an alternative version of prog.c or a related file. In some cases you are asked to produce an explanation about something. If the fun challenge is still open (check the “A fun challenge” section for the given winning entry), consider submitting a GitHub pull request as a contribution. 我们在今年获奖作品的“评委备注”部分增加了趣味挑战。在你弄清楚某个获奖作品的功能后,我们鼓励你尝试这些挑战。有些挑战比较简单,有些则较难。在某些情况下,你需要创建一个 prog.c 或相关文件的替代版本;在另一些情况下,你需要对某项内容进行解释。如果趣味挑战仍然开放(请查看对应获奖作品的“A fun challenge”部分),欢迎提交 GitHub Pull Request 作为贡献。

Rules and Guidelines for this contest 本次大赛的规则与指南

The final versions of the IOCCC rules and guidelines that were in effect for this contest were: 2025 rules version 29.15 (2025-12-02) and 2025 guidelines version 29.08 (2025-12-02). The IOCCC rules and guidelines for IOCCC29 represented a substantial rewrite over previous contests, thanks in part to a number of volunteers: giving the IOCCC judges useful edits, text rewrites, consolidation, as well as overall improved organization. 本次大赛生效的最终版规则和指南为:2025 规则版本 29.15(2025-12-02)和 2025 指南版本 29.08(2025-12-02)。IOCCC29 的规则和指南相比往届进行了大幅重写,这要归功于多位志愿者的贡献:他们为评委提供了有益的编辑、文本重写、整合建议,并全面优化了组织结构。

Looking forward to the next contest 展望下一届大赛

We plan to open IOCCC30 towards the end of 2026 and have the contest run for a similar amount of time, closing sometime towards the end of Q1 2027. As we perform the actions needed to open IOCCC30, we plan to internally document the process as we did during the closing of IOCCC29. 我们计划在 2026 年底开启 IOCCC30,比赛时长与往届相近,预计在 2027 年第一季度末结束。在筹备 IOCCC30 的过程中,我们将像处理 IOCCC29 收尾工作那样,对整个流程进行内部记录。

Remarks on some of the winning entries 部分获奖作品点评

While the winning entry authors came from locations of previous winning authors, this IOCCC29 had an author - jingp49 from a new location: Taiwan. This contest saw a Hat trick of Hat-tricks by: Yusuke Endoh (2025/endoh1, 2025/endoh2, 2025/endoh3), Nick Craig-Wood (2025/ncw1, 2025/ncw2, 2025/ncw3), and Don Yang (2025/yang1, 2025/yang2, 2025/yang3). 虽然获奖作者大多来自往届获奖者所在的地区,但 IOCCC29 出现了一位来自新地区的作者:来自台湾的 jingp49。本届大赛中,Yusuke Endoh、Nick Craig-Wood 和 Don Yang 三位选手均完成了“帽子戏法中的帽子戏法”(即每人各有三件作品获奖)。

Notable and remarkable winning entries of IOCCC29 include, but are not limited to: IOCCC29 中值得关注的获奖作品包括但不限于:

  • 2025/cable - Subleq 计算机
  • 2025/cesmoak - 黑洞穿孔卡片 Fortran
  • 2025/endoh3 - patch/diff 自产生程序 (quine)
  • 2025/jhshrvdp - 类 Rogue 游戏
  • 2025/jingp49 - 神秘博士 (Dr. WHO) 序列生成器