AlpacaHack Logo

Tag: Win Function

Sign InSign Up

Win Function

Related:
#Buffer Overflow
#GOT Overwrite
#Out-Of-Bounds Write
#C++
#Return Address Overwrite
#Function Pointer
#Out-Of-Bounds Read
#Stack Buffer Overflow
#Stack Canary

This tag is used for challenges that contain a win function. (automatically translated from Japanese)

Updated Apr 24, 2026
Win Function Challenges
echo
ptr-yudai

ptr-yudai

Pwn
363 solves
Integer Writer
mora

mora

Pwn
342 solves
inbound
ptr-yudai

ptr-yudai

Pwn
209 solves
Basic Buffer Overflow
hiikunz

hiikunz

Pwn
193 solves
before-write
ptr-yudai

ptr-yudai

Pwn
163 solves
catcpy
ptr-yudai

ptr-yudai

Pwn
148 solves
Short Writer
k0080

k0080

Pwn
129 solves
kappa overflow

colza

Pwn
127 solves
Disappeared
k0080

k0080

Pwn
120 solves
func-array
trimscash

trimscash

Pwn
111 solves
Noob programmer
k0080

k0080

Pwn
108 solves
vuln4vuln
k0080

k0080

Pwn
100 solves
Erased Secret

rsk0315

Misc
88 solves
write
ptr-yudai

ptr-yudai

Pwn
88 solves
vtable4b
ptr-yudai

ptr-yudai

Pwn
62 solves
memset note
mora

mora

Pwn
45 solves
deck
ptr-yudai

ptr-yudai

Pwn
43 solves
read-write
ptr-yudai

ptr-yudai

Pwn
41 solves
bofww
ptr-yudai

ptr-yudai

Pwn
38 solves
cache crasher
keymoon

keymoon

Pwn
33 solves
Takahashi
ptr-yudai

ptr-yudai

Pwn
29 solves

func-array

Daily AlpacaHackTopic: Function PointerReleased: May 6, 2026

111 solves
Pwn

by

trimscash

trimscash

Array of Alpaca function pointers 🦙🦙🦙🦙🦙

Beginner Hint (AI-translated)
  • This problem belongs to the Pwn category, specifically Pwnable (Binary Exploitation).
  • The goal is to launch a shell by executing the win function in a remote environment.
  • The asm volatile("mov $0,%spl"); in the win function is a process to simplify the problem. When calling the system function, rsp must be a multiple of 16. So, to simplify the problem here, we make rsp a multiple of 16 by setting the lower byte of rsp to 0. With this, we can execute the win function without worrying about it in this case. Reference
  • alpaca_functions is an array of function pointers placed on the stack.
  • When a function is called, the return address, the address to return to the original function, is placed on the stack.
func-array.tar.gz
descriptionsolveswriteups