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

/2

No solved challenges yet.

Sign In to view your player stats

Today's Challenge
hiikunzhiikunz
base 16-32-64
Misc
Easy🌱
28 solves
Submissions (latest 3)
ctf-udon
ctf-udon

SOLVED!

Sep 2, 3:38 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,177 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
61 solves
1
admin
QUIZ ALPACASHOCK
Misc
Welcome🌱
71 solves
2
hiikunzhiikunz
base 16-32-64
Misc
Easy🌱
28 solves
3-4
tan90909090tan90909090
Planned topicSystem Call
Misc
Medium
5
Coming soon
6
Coming soon
7
Coming soon
8
Coming soon
9
Coming soon
10
Coming soon
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
1
Coming soon
2
Coming soon
3
Coming soon
4
Coming soon

Want a harder challenge?

Go to B-SIDE

Writeups

Writeup for Flag is A+B

haruhana

ja
Flag is A+B

2 hours ago

tchen

Writeup for Xwitter

author
en

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:

Let's analyze system calls

Topic: System CallReleased: Aug 27, 2026

47 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