Implementing the MU Online login flow in Rust: peeling back three encryption layers (SimpleModulus, XOR32, XOR3), building a domain model with Ports and Adapters, and wiring up a session state machine to take a player from credentials to the game world.
$ hostname
Douglas Mendez
$ cat kungfudev.txt
Why KungFuDev? Kung Fu is any craft earned through patience, energy, and time.
$ cat latest.md
Cracking the Login: Encryption Layers, Domain Modeling, and Sessions in Rust$
$ sort -nr ~/popular/views.log | head -n 3
$ ls -lt ~/series | grep featured | head -n 2
view all ->Dive into "My eBPF Journey," a series that narrates the exploration of eBPF programming, starting from the basics and gradually advancing to more complex applications.
7 articlesJoin me on my humble journey of socket discovery in Linux with the "My Socket Learning Adventure" series. Together, we'll explore the world of Unix sockets,
7 articles$ ls -lt ~/blog | head -n 5
view all ->Before diving into login and encrypted packets, we harden the server foundation. We introduce mu-runtime for generic TCP handling, implement read/write timeouts, and add max packet size enforcement to protect against slowloris and memory exhaustion attacks.
Driven by nostalgia for MU Online, we use OpenMU as a reference to build a server from scratch in Rust. In this first episode, we decode the binary protocol, understand packet framing and encryption, explore the ConnectServer/GameServer architecture, and implement just enough to see the legendary login screen appear.
An introduction to OS development following the OSDev Bare Bones tutorial. We explore what cross-compilation and freestanding environments are, compile a C kernel with Zig, and set up a minimal Rust project targeting bare metal.
Learn about the representation of floating-point numbers in computer science.