Героев детства мы не судим, И ведь не правы вовсе ...

Created on: July 11, 2026

Answered using GPT-5.6 Thinking by Chat01

Question

filolog.zip

Героев детства мы не судим,
И ведь не правы вовсе тут:
Тогдашних дней грехи забудем,
Ласкаясь тем, что те не врут.
Однажды павши в ноги к смуте, —
Границы догмы нас сожрут.

The resulting flag must be wrapped in the grodno{} format.
solve challenge rồi viết write up

Thought

undefined

Thought

Concluding and preparing write-up

It looks like the flag is confirmed as grodno{1o9f1a9}, derived from the commit IDs. The old checker’s mismatch is likely just a red herring, and this task is mainly about forensics. I’ll focus on our local analysis and ensure no external sources need citations unless they’re required. Ready to submit.

Thought for 2m 27s

Answer

Flag

text
grodno{1o9f1a9}

Write-up: Filolog

1. Phân tích đề bài

Đề cung cấp bài thơ tiếng Nga:

text
Героев детства мы не судим, И ведь не правы вовсе тут: Тогдашних дней грехи забудем, Ласкаясь тем, что те не врут. Однажды павши в ноги к смуте, — Границы догмы нас сожрут.

Lấy chữ cái đầu của từng dòng:

text
Г И Т Л О Г

Chuyển sang Latin:

text
G I T L O G

Đây là chỉ dẫn rõ ràng: cần kiểm tra Git log.


2. Kiểm tra file được cung cấp

Giải nén file:

bash
unzip filolog.zip cd "task-3 2" ls -la

Trong thư mục có một repository Git:

text
.git/

Ngoài ra còn có nhiều file chứa flag giả như:

text
wrong_flag_buddy{...} clickbait_flag{...} red_herring_flag{...} troll_flag{...}

Các file flag_check_old.py, utils_wip.py, helper_backup.py cũng tự ghi chú rằng chúng là dữ liệu debug cũ. Vì vậy, chúng đều là red herring.


3. Đọc lịch sử Git

Chạy:

bash
git log --oneline --reverse

Kết quả:

text
31dbe94 part 0 6fdfa43 part 1 395b794 part 2 66bc2a3 part 3 3192d4c part 4 610f42d part 5 39a0f97 part 6

Các commit được đánh số từ part 0 đến part 6, cho biết thứ tự ghép dữ liệu.

Trong thư mục còn có file1.png, là bảng mã ASCII. Điều này gợi ý rằng phải lấy một phần của commit hash dưới dạng hexadecimal rồi chuyển sang ASCII.


4. Chuyển commit hash sang ASCII

Lấy byte đầu tiên, tức hai ký tự hex đầu tiên, của mỗi commit:

PartCommit hashByte đầuASCII
031dbe94...0x311
16fdfa43...0x6fo
2395b794...0x399
366bc2a3...0x66f
43192d4c...0x311
5610f42d...0x61a
639a0f97...0x399

Ghép theo thứ tự part 0 → part 6:

text
1o9f1a9

Chuỗi này cũng có thể được đọc theo leetspeak là:

text
logflag

Đây là một xác nhận bổ sung rằng cách khai thác Git log là chính xác. Tuy nhiên, payload phải được giữ nguyên đúng như dữ liệu thu được: 1o9f1a9.

Có thể tự động hóa việc trích xuất bằng Python:

python
import subprocess commits = subprocess.check_output( ["git", "log", "--reverse", "--format=%H"], text=True, ).splitlines() payload = "".join(chr(int(commit[:2], 16)) for commit in commits) print(payload)

Kết quả:

text
1o9f1a9

5. Flag cuối cùng

Bọc payload bằng định dạng được yêu cầu:

text
grodno{1o9f1a9}

Share this Q&A