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
minaminaominaminao
\^o^/
Misc
Hard
9 solves
Submissions (latest 3)
a01sa01to
a01sa01to

SOLVED!

Sep 8, 5:13 PM

panya

SOLVED!

Sep 8, 3:54 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,190 solves
Upcoming challenges reveal the , , and in advance.
Prev

Sep 2026

Next
Solved
Unsolved
Upcoming
Mon
Tue
Wed
Thu
Fri
Sat
Sun
 
tchentchen
Springing
Web
Medium
67 solves
1
admin
QUIZ ALPACASHOCK
Misc
Welcome🌱
98 solves
2
hiikunzhiikunz
base 16-32-64
Misc
Easy🌱
80 solves
3-4
tan90909090tan90909090
Let's Shut Down Linux
Misc
Medium
54 solves
5
baumroll1234
6-8
minaminaominaminao
Bitflip RSA
Crypto
Hard
40 solves
 
minaminaominaminao
Bitflip RSA
Crypto
Hard
40 solves
9-11
minaminaominaminao
\^o^/
Misc
Hard
9 solves
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
1
Coming soon
2
Coming soon
3
Coming soon
4
Coming soon

Want a harder challenge?

Go to B-SIDE

Writeups

gattoartz

Writeup for Leaked Flag Checker

gattoartz

ja
Leaked Flag Checker

2026/09/07 13:39

gattoartz

Writeup for a fact of CTF

ja

2026/09/07 13:08

gattoartz

Writeup for AlpacaHack 2100

ja

2026/09/07 13:07

Writeup for Vending Machine: Revised Version

author
ja

2026/09/06 15:02

nitcelcius

Writeup for Vending Machine: Revised Version (warn: some code reading ahead)

nitcelcius

Writeup for Let's Shut Down Linux (with reading)

curetwinkle

Writeup for Springing

ja

2026/09/05 05:10

Rows:

Let's analyze system calls

Topic: System CallReleased: Aug 27, 2026

52 solves
Rev
Medium3.0

by

tan90909090

tan90909090

Let's analyze x86-64 Linux system calls!

Beginner Hint 1: The Calling Convention for System Calls and GCC's Extended Inline Assembly
  • The calling convention for system calls on x86-64 Linux is described in the A.2.1 Calling Conventions section of the System V Application Binary Interface AMD64 Architecture Processor Supplement which is available at https://gitlab.com/x86-psABIs/x86-64-ABI, and https://man7.org/linux/man-pages/man2/syscall.2.html.
    • To execute a system call, we need to specify a system call number to the rax register, and up to six arguments to the rdi, rsi, rdx, r10, r8, and r9 registers sequentially, and then execute a syscall instruction.
    • The result of the system call execution is stored in the rax register.
  • GCC's extended inline assembly syntax is described at https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html and https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html
    • The extended inline assembly used for the first syscall instruction in this challenge specifies the following:
      • A OutputOperands parameter is unspecified.
      • A InputOperands parameter set 318 in the rax register, &result_1 in the rdi register, sizeof(result_1) in the rsi register, and 0 in the rdx register, before executing the extended inline assembly.
      • A Clobbers parameter specifies that the rcx register, r11 register, and memory will be modified during the execution of the extended inline assembly.
        • Note that a syscall instruction itself modifies the rcx and r11 registers.
    • The extended inline assembly used for the second syscall instruction in this challenge specifies the following:
      • A OutputOperands parameter specifies that a content of the rax register are assigned to result_2 after the extended inline assembly executes.
      • A InputOperands parameter set 102 in the rax register before executing the extended inline assembly.
      • A Clobbers parameter specifies that the rcx register, r11 register will be modified during the execution of the extended inline assembly.
Beginner Hint 2: Approach to Solving the Challenge
  • There are several ways to approach this challenge.
  • One ways is to look up the system call numbers for x86-64 Linux and check the arguments and return values for the corresponding system call.
  • Another way is to use a decompiler.
    • Some decompilers can perfectly decompile syscall calls from the start, while others produce poor decompiled results initially but can be perfectly decompiled with additional operations.
lets-analyze-system-calls.tar.gz

Please sign in to submit the flag.

descriptionsolveswriteups