The Adib Anthology
An anthology of diversions, inventions & bric-a-brac.
Call me Adib. Some years ago – never mind how long precisely – having little or no money in my purse, I started making a bunch of small random things. Over time, this collection has amassed into quite a lot of stuff: puzzles, CTF challenges, bits of maths, game translations, and various other things that don’t fit neatly into any one category. Much of it has ended up scattered across the web, or worse, private forums or dead IRC channels.
This site is my attempt to curate it all in one place.
My full name is Muhammad Adib bin Surani, but Malay names can get very confusing so I often present myself as Adib Surani. I’ve been married for sixteen years, with three wonderful kids.
I am a mathematician, puzzle hunter, and CTF player. In the puzzle world I’m usually just Adib, but in the hacking scene (be it CTF or game translation), I typically go by the pseudonym Neobeo.
This isn’t really meant to be a portfolio as much as it is an anthology: A loose index of things I have made, written, reverse engineered, translated, solved, or got otherwise myself involved it over the years.
Puzzles
Puzzle hunts were a large part of my life before CTFs took over the same part of my brain.
MUMS Puzzle Hunt 2009–2016
MUMS 2009 — co-organiser · Mar 2009
MUMS 2010 — lead organiser · Apr 2010
MUMS 2011 — lead organiser · Apr 2011
MUMS 2012 — lead organiser · Apr 2012
MUMS 2013 — lead organiser · May 2013
MUMS 2014 — lead organiser · May 2014
MUMS 2015 — lead organiser · May 2015
MUMS 2016 — lead organiser · May 2016
MIT Mystery Hunt 2016 — author · Jan 2016
University of Melbourne Science Festival 2016 — guest author · Aug 2016
REDDOThunt 2020 — author · 2020
REDDOThunt 2022 — co-organiser · Jul 2022
Other one-off puzzles
Selected cryptic clues
- Calculate 25% off initial thirteen to make 9¾? (8) = PLATFORM
- Lack of consuming beer can? (10) = ABSTINENCE
- Overturn of mishandled action? (10) = REVOCATION
- My clue is: “Rap performance can be heard on this” (5,6) = MUSIC PLAYER
- The setter's diary regularly contains an alpha signal (6) = MAYDAY
- How to fix issues in Windows (or in Linux, according to Spooner) (6) = REBOOT
CTF challenges
I write CTF challenges as Neobeo, mostly in crypto, but occasionally rev, pwn, or misc. Never web.
2022 — SEETF · 2022
2023 — SEETF · 2023
2023 — ImaginaryCTF · Aug-Nov 2023
2023 — vsCTF · Sep 2023
2024 — ImaginaryCTF · Jan 2024
2024 — Friendly Maltese Citizens · 13 May 2024
2024 — SekaiCTF · 23-25 Aug 2024
2025 — ImaginaryCTF · Apr & Nov 2025
2025 — SekaiCTF · 2025
2025 — OICC · 2025
2025 — MaltaCTF Quals · 2025
2025 — MaltaCTF Finals · 2025
2025 — skateboarding dog CTF @ BSides Canberra · 2025
2026 — ICC, Gold Coast · 2026
2026 — OICC · 2026
2026 — SekaiCTF · 27-29 Jun 2026
CTF writeups
I also write about challenges when there is something worth remembering about the technique, the story, or the amount of stubbornness involved.
Current writeups
Older writeup archives
Software & reverse engineering
Most of this work came from wanting to understand old games and formats just enough to bend them into a more convenient shape.
Open source / reverse engineering
- Mobius — reverse engineered Mobiclip and related formats; the work later formed the basis of FFmpeg’s MobiClip, FastAudio, MOFLEX and MODS support.
- Kuriimu / Kuriimu2 — game-translation and file-format tooling; Kuriimu2 credits Neobeo for development work across compression, encryption, image formats, plugins, performance and related areas.
Jazz Jackrabbit 2
- JJ2+ — started out as a small app to hook into JJ2 to counteract hacking attempts, and has since turned into a huge mod of the original game thanks to various others.
- File-format specifications — documentation of some of the more common file formats in the game, so people can build their own tileset or level editor.
- Tileset Extractor — a small C++ app to convert a tileset into a PNG.
- Jazz Sprite Dynamite — a VB6 app to modify sprites and animations in the game.
- Neobeo’s Firetruck — a level with weird hacks that cannot be done using the standard level editor.
- Later tools WebJCS and MLLE credit the specifications / sound reverse-engineering work.
Nintendo / game-format tools
- DX Degausser — probably my earliest contribution to the Nintendo DS scene, this tool allows you to swap songs within a Daigasso! Band Brothers DX save file.
- Degausser — like the above, but for Daigasso! Band Brothers P. Also comes with a version that runs entirely on the 3DS.
- Cetera — a library to encode and decode 3DS file formats like text, images and archives.
- GUI-Investigator — a tool for investigating the complicated GUI format found in The Great Ace Attorney.
- RHMPatch — a redirection patch for Rhythm Heaven Megamix to make modding easier.
- Backstab — Time Travelers storyboard decompiler.
- Moonbeam — MBM to XML converter.
- XFSeeker — XFS file parsing / FSM implementation.
- MobiusDebugger — companion/debugging work around Mobius.
Other software / builds
- Equation Solver v3.31 — a school project I wrote in VB6 around 2003-2004, largely modelled after Graphmatica but with a number of more specific features.
- Timescraper — a tool to scrape the Times crossword from a blog and automatically convert it to the
.puzformat, which allows solving collaboratively online. - Cocomelon smart button — Zigbee/MQTT/ADB home automation for launching Maria’s favourite videos on Google TV.
Translations
I tend to appear in translation projects where the text is hidden behind an inconvenient file format, compression scheme, video container, or game engine.
- The Great Ace Attorney — code and reverse engineering for Scarlet Study.
- Dragon Quest Heroes: Rocket Slime 3 — hacking / reverse engineering, including custom text-redirection work.
- E.X. Troopers — 3DS video and texture reverse engineering, programming and patcher support.
- Time Travelers — programming for the 2025 English main-story patch.
- Dragon Quest Monsters: Joker 3 — helped with reverse engineering.
- Daigasso! Band Brothers P — an incomplete but working English translation that I would still like to revisit and release.
Papers
- The Isoperimetric Problem in Block Designs — PhD thesis.
- Wide Containers in Gaussian Networks — Journal of Interconnection Networks (2017).
- The Isoperimetric Number of the Incidence Graph of PG(n,q) — with Andrew E. Price and Sanming Zhou, Electronic Journal of Combinatorics (2018).
- The vertex-isoperimetric number of the incidence and non-incidence graphs of unitals — with A. M. Hui and Sanming Zhou, Designs, Codes and Cryptography (2019).
- Cops and Robbers on Ladder Graphs — hobby paper.
Talks & community
Public talks
- Balanced independent sets in PG(n,q) — University of Queensland · 7 Dec 2015.
- Sets on a Plane — University of Melbourne · 3 Mar 2016.
- The Isoperimetric Problem in Block Designs — IWONT 2016, Tsinghua Sanya International Mathematics Forum · 12 Jul 2016.
- The Isoperimetric Problem in Block Designs — South China University of Technology · 18 Jul 2016.
- Wide Containers in Gaussian Networks — University of Melbourne · 6 Oct 2016.
- Sets on a Plane — University of Newcastle · 12 Dec 2016.
- The Bisection Width of the Levi Graph of PG(2,q) — Monash University · 5 Dec 2017.
- The Isoperimetric Problem in Block Designs — PhD completion seminar, University of Melbourne · 22 Mar 2018.
- How we hacked and translated The Great Ace Attorney — BSides Ballarat 2025.
Coaching / internal
- ICC 2024-2025 — Coach for Team Oceania.
- From Echo to Evidence: The Life of a Radar Speed Reading — internal technical presentation · 2026.
Other
- Advent of Code 2021 — 99th overall · 703 points.
- Advent of Code 2022 — 72nd overall · 876 points.
- CryptoHack — reached #1 in 2022.
- G-Research Financial Forecasting Competition — 18th place.
- Letters and Numbers S1E17 — August 2010.
- 56-postcard photomosaic — a large crowdsourced project in 2012 where I got people from all around the world to send 56 postcards; combined the right way, they form a photo taken from my wife’s birthday in 2011.