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

/14

No solved challenges yet.

Sign In to view your player stats

Today's Challenge
tchentchen
Springing
Web
Medium
40 solves
Submissions (latest 3)
claw88

SOLVED!

Aug 30, 11:44 AM

shiragi

SOLVED!

Aug 30, 7:35 AM

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,167 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🌱
144 solves
28
2501
One More Approval
Crypto
Medium
61 solves
29
2501
zen.zip
Misc
Medium
69 solves
30
2501
Anyrunner
Misc
Medium
66 solves
31
tchentchen
Small Image Uploader 2
Web
Medium
63 solves
1
admin
Día Nacional de la Alpaca
Misc
Welcome🌱
237 solves
2
2501
Password, Please
Misc
Easy🌱
204 solves
3-4
arkark
Long Long Flag Printer 2026
Misc
Medium
95 solves
5
pppp4649pppp4649
Happy Birthday
Crypto
Easy🌱
135 solves
6-8
hiikunzhiikunz
AESAESAESAESAESAES
Crypto
Hard
60 solves
9-10
tchentchen
Not so Pyf**k
Misc
Medium
84 solves
 
tchentchen
Not so Pyf**k
Misc
Medium
84 solves
11-12
baumroll1234
Fermat's Last Theorem
Misc
Medium
82 solves
13-15
tchentchen
True or False 2
Misc
Hard
53 solves
16-17
tchentchen
List Sharing
Web
Medium
77 solves
 
tchentchen
List Sharing
Web
Medium
77 solves
18-20
tan90909090tan90909090
wrong instruction
Rev
Hard
59 solves
21-23
tchentchen
Greetings i18n 2
Web
Hard
52 solves
24-26
tchentchen
Xwitter
Web
Hard
40 solves
27-28
tan90909090tan90909090
Let's analyze system calls
Rev
Medium
44 solves
29-31
tchentchen
Springing
Web
Medium
40 solves
 
tchentchen
Springing
Web
Medium
40 solves
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

tchen

Writeup for Xwitter

tchen

author
en
Xwitter

2026/08/29 05:39

alpha0314sub

Writeup for Flag is A+B

ja

2026/08/29 01:57

power

Writeup for Encoding Basics

ja

2026/08/26 12:20

power

Writeup for Bars

ja

2026/08/26 08:34

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