AlpacaHack Logo
Sign InSign Up
Daily AlpacaHack

A CTF challenge series with fun puzzles to enjoy every day

What is Daily AlpacaHack?

We regularly publish simple, beginner-friendly or educational CTF challenges!

Join Anytime

Solve each challenge within its time window 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 the challenge period has ended.

Solve stats

0

/6

No solved challenges yet.

Sign In to view your player stats

Today's Challenge
tchentchen
Not so Pyf**k
Misc
Medium
52 solves
Submissions (latest 3)
nomeaning

SOLVED!

Aug 9, 9:05 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🌱
2,084 solves
Upcoming challenges reveal the , , and in advance.
Prev

Aug 2026

Next
Solved
Unsolved
Upcoming
Mon
Tue
Wed
Thu
Fri
Sat
Sun
27
tchentchen
RFC100008
Web
Easy🌱
120 solves
28
2501
One More Approval
Crypto
Medium
59 solves
29
2501
zen.zip
Misc
Medium
63 solves
30
2501
Anyrunner
Misc
Medium
56 solves
31
tchentchen
Small Image Uploader 2
Web
Medium
56 solves
1
admin
Día Nacional de la Alpaca
Misc
Welcome🌱
163 solves
2
2501
Password, Please
Misc
Easy🌱
132 solves
3-4
arkark
Long Long Flag Printer 2026
Misc
Medium
81 solves
5
pppp4649pppp4649
Happy Birthday
Crypto
Easy🌱
83 solves
6-8
hiikunzhiikunz
AESAESAESAESAESAES
Crypto
Hard
49 solves
9-10
tchentchen
Not so Pyf**k
Misc
Medium
52 solves
 
tchentchen
Not so Pyf**k
Misc
Medium
52 solves
11
Coming soon
12
Coming soon
13
Coming soon
14
Coming soon
15
Coming soon
16
Coming soon
17
Coming soon
18
Coming soon
19
Coming soon
20
Coming soon
21
Coming soon
22
Coming soon
23
Coming soon
24
Coming soon
25
Coming soon
26
Coming soon
27
Coming soon
28
Coming soon
29
Coming soon
30
Coming soon
31
Coming soon
1
Coming soon
2
Coming soon
3
Coming soon
4
Coming soon
5
Coming soon
6
Coming soon

Want a harder challenge?

Go to B-SIDE

Writeups

power

Writeup for simpleoverflow

power

ja
simpleoverflow

9 hours ago

power

Writeup for a fact of CTF

ja

9 hours ago

kirehash

Writeup for Cache Me If You Can 2

michikusamichiya

Writeup for Leaked Flag Checker (XORing the Entire Binary!?)

Rows:

Compile time flag checker

Topic: C++Released: Jul 12, 2026

59 solves
Rev
Hard6.5

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.

descriptionsolveswriteups