October 24, 2025

Geekgame 2025 Writeup

#geekgame #ctf

目前部分题目只有简略的思路,以后可能会扩充。

签到

要注意 Data Matrix 的顺序就是图片上相对位置的顺序,一开始没想到这个一直在手动拼 Flag 卡了好久。

北清问答

北京大学新燕园校区的教学楼在启用时,全部教室共有多少座位(不含讲桌)?

根据 公共教学楼服务指南 (新燕园校区) 手动数数即可。

基于 SwiftUI 的 iPad App 要想让图片自然延伸到旁边的导航栏(如右图红框标出的效果),需要调用视图的什么方法?

img-pingguoxitong

以 Sidebar 为关键词搜索查阅文档易得答案为 backgroundExtensionEffect 方法。

右图这张照片是在飞机的哪个座位上拍摄的?

img-quanguokefei

明显出来的是窄体机的中间座位,图片稍微处理后让 Google Lens 识别可以知道国航的飞机。再加上我看这个挺熟悉的,而我坐过的窄体机只有 Boeing 737 和 Airbus A320 。社交媒体上面查询出来有一张 A321-200 的飞机内饰有点像,航旅纵横看了座位号填上去就好了。

注意到比赛平台题目页面底部的【复制个人Token】按钮了吗?本届改进了 Token 生成算法,UID 为 1234567890 的用户生成的个人 Token 相比于上届的算法会缩短多少个字符?

根据 Commit bcd71d3 手动模拟即可。

最后一个默认情况下允许安装 Manifest V1 .crx 扩展程序的 Chrome 正式版本是多少?

Google 一下就行了,搜到了这个

此论文 提到的 YOLOv12-L 目标检测模型实际包含多少个卷积算子?

import torch
from torch import nn
from ultralytics import YOLO

model = YOLO('yolo12l.pt').model
print(sum(1 for module in model.modules() if isinstance(module, nn.Conv2d)))

Warden++

从题面只能得知编译结果就可以看出是侧信道攻击。构造出一种在 flag 满足某种条件时编译成功的语句多次交互可以得到结果。

开源论文太少了!

字面意思,Figure1 纵坐标就是 Flag1 各个字符的 ASCII 码取对数后的值, Figure2 各个散点的横纵坐标分别是 Flag2 各个半字节的低两位和高两位,顺序是层叠顺序。 PDF 转 SVG 后一目了然。

勒索病毒

搜索关于 DoNex 勒索病毒破解的资料,配合仓库里面去年的对应加密前的文件即可解密获得 Flag1

统一身份认证

好麻烦的注入题……基本逻辑是把第二行以及后面的 alias 到别的名称上去废除掉,原先的地方让 isAdmin 始终 ok 。