2021 HITCON CTF - baba is misc

Wed, Dec 8, 2021 One-minute read

題目:baba is misc

baba is misc

300 points / 10 solves

Challenge Info

1
2
3
4
BABA IS MISC
MISC HAS FLAG
FLAG HAS WORD AND SPACE
FLAG IS WIN

Author: ddaa

File: baba_is_misc-b6a43cc8b24d3cc1592077f68d5089c0491b6021.bin

Solution

起手式先看 baba_is_misc-b6a43cc8b24d3cc1592077f68d5089c0491b6021.bin 是什麼檔案:

1
2
3
4
5
6
7
$ file baba_is_misc-b6a43cc8b24d3cc1592077f68d5089c0491b6021.bin
baba_is_misc-b6a43cc8b24d3cc1592077f68d5089c0491b6021.bin: data

$ xxd baba_is_misc-b6a43cc8b24d3cc1592077f68d5089c0491b6021.bin | head -n 3
00000000: 5046 5330 0300 0000 4000 0000 0000 0000  PFS0....@.......
00000010: 0000 0000 0000 0000 00cc 0700 0000 0000  ................
00000020: 0000 0000 0000 0000 00cc 0700 0000 0000  ................

PFS0PartitionFs,可以使用 nstool 拆包,得到三個檔案:

1
2
3
meta.nca
control.nca
program.nca

.nca 是 Nintendo Content Archive,nstool 應該也可以拆,不過我用 Switch-Toolbox 有 GUI 看起來比較舒服。

順便上網找一下 prods.keystitle.keys


program.nca 解開來後在 Romfs/Data/Worlds/baba/0level.ld 找到 hitcon{ 提示。

yuzu emulator 打開 program.nca 實際把遊戲跑起來,稍微玩一下基本就能確定這是改過的 NS 版 Baba Is You(但不是最新版)。

有玩過原版所以不難發現 level0 左上角有被改過,原版沒有那些物件。

猜測那些物件有被交換過,又因為最新版的 Baba Is You 有關卡編輯器功能,所以複製 Romfs/Data/Worlds/baba 內的所有的檔案到自製關卡的資料夾(D:\SteamLibrary\steamapps\common\Baba Is You\Data\Worlds\baba)。

可以看到 level 0 的物件被正確顯示了,作者有把被改過關卡的預覽圖改成空的,所以不用一關一關點開檢查。

最後整理出所有的 flag 片段:

1
2
3
4
5
6
7
8
9
0 HITCON
17 BABA IS YOU
21 IS A
80 GOOD
82 GAME
101 BUT
111 TOO
130 DIFFICULT
176 !!!!!!

Flag

hitcon{BABA IS YOU IS A GOOD GAME BUT TOO DIFFICULT !!!!!!}