AlpacaHack Logo
Sign InSign Up
Daily AlpacaHack

A daily CTF challenge with a fun new puzzle every day

What is Daily AlpacaHack?

We publish one simple, beginner-friendly or educational CTF challenge every day!

Join Anytime

Solve within 24 hours of release to appear on the leaderboard.

Not a Competition

Discussion with friends or AI is welcome (account sharing is prohibited).

Solution Sharing Rules

Sharing solutions is allowed only after 24 hours have passed since release.

Solve stats

0

/12

No solved challenges yet.

Sign In to view your player stats

Today's Challenge
tan90909090tan90909090
Compile time flag checker
Rev
Hard
12 solves
Submissions (latest 3)
kurgm
kurgm

SOLVED!

Jul 11, 4:08 PM

a01sa01to

SOLVED!

Jul 11, 3:49 PM

Leaderboard

Try the first challenge

Is this your first CTF? Let's begin by tackling the first challenge released on Daily AlpacaHack.

View challenge
admin
AlpacaHack 2100
Misc
Welcome🌱
1,962 solves
Upcoming challenges reveal the , , and in advance.
Prev

Jul 2026

Next
Solved
Unsolved
Upcoming
Mon
Tue
Wed
Thu
Fri
Sat
Sun
29
tchentchen
Nano Services
Web
Medium
79 solves
30
minaminaominaminao
Super Short System Exit
Misc
Medium
79 solves
1
admin
Alpaca Nation
Misc
Welcome🌱
182 solves
2
hiikunzhiikunz
Flag is A+B
Crypto
Easy🌱
117 solves
3
tchentchen
Lucky Redirect
Web
Easy🌱
108 solves
4
hiikunzhiikunz
Renda
Rev
Medium
96 solves
5
tchentchen
IP Blocked Secret
Web
Hard
59 solves
6
minaminaominaminao
duplicate entry
Misc
Easy🌱
113 solves
7
hiikunzhiikunz
Lazy RSA
Crypto
Medium
94 solves
8
minaminaominaminao
Let's Poly1305!
Crypto
Medium
72 solves
9
shiragishiragi
private method
Misc
Easy🌱
101 solves
10
hiikunzhiikunz
secret-table-3
Web
Medium
72 solves
11
baumroll1234
A slight mistake
Pwn
Hard
53 solves
12
tan90909090tan90909090
13
baumroll1234
Planned topicHTTP
Web
Easy🌱
14
Planned topicJail
Misc
Medium
15
Coming soon
16
Coming soon
17
Planned topicMAC
Crypto
Medium
18
Planned topicCGI
Web
Hard
19
Planned topicStack
Pwn
Hard
20
Coming soon
21
Coming soon
22
Planned topicCache
Web
Medium
23
Coming soon
24
Coming soon
25
Planned topicMAC
Crypto
Hard
26
Planned topicPython
Web
Hard
27
Coming soon
28
Coming soon
29
Coming soon
30
Coming soon
31
Coming soon
2
Coming soon

Want a harder challenge?

Go to B-SIDE

Writeups

Writeup for A slight mistake

goroshirow

ja
A slight mistake

1 hour ago

kurimochi

Writeup for Let's Poly1305!

ja

2026/07/10 13:13

nitcelcius

Writeup for private method

ja

2026/07/10 09:37

nirvana

Writeup for private method

ja

2026/07/09 22:52

Daily AlpacaHackに挑戦するつくよみちゃん07/08/Let's Poly1305!/minaminao

Rows:

Compile time flag checker

Topic: C++Released: Jul 12, 2026

12 solves
Rev
Hard

by

tan90909090

tan90909090

It can only be compiled with a correct flag.

Beginner Hint 1: C++ Features
  • chal.cpp uses various C++ language and library features.
    • The constexpr keyword indicates that variables or functions can be calculated at compile time.
    • The static_assert keyword checks if a condition is true, and shows an compile-error message if it does not; in chal.cpp, it is used as a flag checker.
    • The template keyword allows to abstract of type arguments and non-type arguments for functions and types.
    • The std::index_sequence type represents a sequence of size_t elements at the type level. std::make_index_sequence can be used to create a sequence starting from 0 with a specified number of elements.
    • The std::integer_sequence type represents a sequence of elements of a specified type at the type level; in chal.cpp, it is used as a sequence of std::uint8_t values.
    • Syntax like std::size_t... I or std::index_sequence<I...> within a template function represents a feature known as parameter packs. Within the function, syntax such as F(I)... is used to expand the parameter pack.
    • Syntax like [](std::size_t i) { return input_string_view[i]; } represents C++ lambda expression; in chal.cpp, it is used as the F type argument for my_make_sequence_t.
    • The decltype keyword retrieves the type of a value; in chal.cpp, it is used to recover the type from a std::integer_sequence value.
    • The std::is_same_v variable indicates whether two type arguments are identical; in chal.cpp, it is used as a flag checker.
  • You may want to investigate the details further if necessary.
Beginner Hint 2: Approach to Solving the Challenge
  • It is a good idea to start by understanding the calculations performed by the convolve_t type, the convolve_impl function, and the convolve_element function. In particular, the relationship between the sequence lengths of the two type arguments A and B for convolve_t and the sequence length of convolve_t itself is crucial.
  • Let's try examining the elements of the sequence generated by the odd_random_sequence_t type; using IDE features might make this easier.
compile-time-flag-checker.tar.gz

Please sign in to submit the flag.

descriptionsolves