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

/10

No solved challenges yet.

Sign In to view your player stats

Today's Challenge
hiikunzhiikunz
nested eval
Misc
Hard
32 solves
Submissions (latest 3)
serioton
serioton

SOLVED!

Sep 20, 2:21 PM

tadanobutubutu

SOLVED!

Sep 20, 10:58 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,210 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
74 solves
1
admin
QUIZ ALPACASHOCK
Misc
Welcome🌱
123 solves
2
hiikunzhiikunz
base 16-32-64
Misc
Easy🌱
101 solves
3-4
tan90909090tan90909090
Let's Shut Down Linux
Misc
Medium
63 solves
5
baumroll1234
6-8
minaminaominaminao
Bitflip RSA
Crypto
Hard
55 solves
 
minaminaominaminao
Bitflip RSA
Crypto
Hard
55 solves
9-11
minaminaominaminao
\^o^/
Misc
Hard
43 solves
12-13
tan90909090tan90909090
sin function vs. fsin instruction
Rev
Misc
Medium
54 solves
14-15
tan90909090tan90909090
integer division
Misc
Medium
68 solves
16-18
edwowmathedwowmath
neighboRhood_diStAnce
Crypto
Hard
39 solves
19-21
hiikunzhiikunz
nested eval
Misc
Hard
32 solves
 
hiikunzhiikunz
nested eval
Misc
Hard
32 solves
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 neighboRhood_diStAnce

baumroll1234

ja
neighboRhood_diStAnce

2026/09/18 22:37

curetwinkle

Writeup for simple ROP(アセンブリ解説多め)

ja

2026/09/15 03:55

gattoartz

Writeup for Integer Writer

ja

2026/09/14 12:03

sp1n0z4

Writeup for Bitflip RSA

en

2026/09/12 23:42

gattoartz

Writeup for Leaked Flag Checker

Rows:

Let's analyze system calls

Topic: System CallReleased: Aug 27, 2026

55 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