Bandaids Help me Heal — DalCTF 2026

A ‘pwn’ binary with no input is really a static-reversing puzzle: a fake usleep loop would take days and a fake integrity check always passes, so reading the constants and undoing a single-byte XOR yields the flag without ever waiting.

June 7, 2026 · 9 min · 1916 words · Th3B0yWh0L1v3d

Password Vault — DalCTF 2026

A password-manager heap challenge: free() without nulling the pointer gives a use-after-free, tcache hands the freed Login chunk back via set_password, and overwriting the struct’s leading function pointer redirects an indirect call to the leftover read_master_key win function.

June 7, 2026 · 8 min · 1636 words · Th3B0yWh0L1v3d

Slot Machine — DalCTF 2026

A textbook ret2win: gets() into a 32-byte stack buffer with no canary and no PIE lets us overwrite the saved return address with jackpot(); the only twist is closing stdin to force the menu loop’s EOF break so the corrupted return fires.

June 7, 2026 · 7 min · 1447 words · Th3B0yWh0L1v3d