
"Ugh, my eyes," I muttered while walking along the highway toward the college campus.
The campus wasn't far, so walking there was faster than waiting for a jeepney half the time. Though I still rode one occasionally, usually on mornings where I woke up five minutes before class and had to sprint through my entire routine like a man escaping a police raid.
The sun was already high enough to feel annoying. Combined with the lack of sleep, every passing vehicle felt louder than normal.
I rubbed my eyes again.
Maybe staying awake until seven in the morning reverse engineering a Korean MMO wasn't the healthiest life decision I've made.
Not that I planned on stopping.
A few minutes later, I arrived in front of the campus gates. After scanning my ID, the metal rails slid open with a mechanical clunk and I stepped inside.
Strong winds swept through the pathway leading toward the student building, carrying the smell of cafeteria oil and cheap coffee.
The campus itself wasn't particularly big compared to the nearby university.
There were only two buildings.
The front building was the administrative building where the admission office, registrar, treasury, library, and cafeteria were located.
The second building behind it was the academic building where all the laboratories and classrooms were. Computer labs, chemistry labs, physics labs, electronics labs. Basically the place students suffered academically for four years before getting released into unemployment.
I entered the academic building and stopped near the lobby.
An elevator stood in the middle while a staircase sat beside it. A few students wandered around half-awake while security guards stood near the stairs like NPCs with recycled dialogue options.
Today's class was in room 605, a computer laboratory located on the left wing of the sixth floor.
Using the elevator would've been easier, but I decided against it.
I wasn't exactly claustrophobic, but recently I'd been having recurring nightmares about elevators falling.
And while dream-me somehow survived every single time through sheer plot armor, I'd rather not test that theory in real life.
So stairs it was.
Huff.
Huff.
"...Fuck."
I grabbed the railing for a second while climbing the fifth floor.
It wasn't even that high. Just six floors.
So why the hell was I already dying?
Maybe my body was finally protesting against the whole "sleeping three hours a day" thing.
By the time I reached the sixth floor, my legs already felt heavier than they should've.
I pushed open the computer lab door.
No one was inside yet.
Good.
I checked my phone.
[7:45 AM]
Class starts at 8:30 if I remember correctly.
Plenty of time.
I dropped my bag onto one of the desks near the back corner and immediately laid my head down beside it.
Just a quick nap.
That was the last coherent thought I had before my consciousness shut itself off.
"Drew, wake up. The professor is here."
A male voice dragged me back into existence.
"Uhhhh..."
I looked up slowly and stared at the guy standing beside me.
I knew this dude.
Probably.
I just couldn't remember his name no matter how hard my sleep-deprived brain tried to process it.
"Thanks?" I replied awkwardly, desperately trying to fill the silence before he realized I forgot who he was.
"Were you up all night coding again?" he asked while pulling out a chair.
"Yeah," I answered. "I've been doing some reverse engineering lately. It's too interesting to sleep."
That wasn't even an exaggeration.
Most people saw memory addresses and hexadecimal values as incomprehensible nonsense.
I saw them like puzzle pieces.
Once you understood how the structures connected together, the game practically exposed its organs voluntarily.
"Fuck man, you need more sleep," he said. "You're gonna die early if you keep that up."
I wish.
Though realistically, dying from sleep deprivation sounded significantly less cool than it did in movies.
Probably more vomiting and hallucinations than dramatic final words.
"I will, yeah," I said. "I'm probably gonna sleep the entire weekend."
Probably.
Unless the new Alva Online update added something interesting.
Then my sleep schedule was getting executed again.
The professor walked into the room carrying a laptop and a stack of papers that looked thick enough to legally qualify as a weapon.
"Alright class, let's begin. Turn on the computers. You may use your laptops if you brought one."
The sound of keyboards and computer fans slowly filled the room.
Today's topic was React.
Unfortunately, the professor taught like a human PDF file.
Every sentence sounded like it had been copied directly from documentation written by someone whose only joy in life was ruining tutorials for beginners.
The lecture dragged on for three agonizing hours.
Three.
Hours.
At some point, I stopped processing words entirely and just focused on surviving consciousness itself.
Every few minutes my head would dip slightly before jerking back up like my nervous system was fighting for its life.
I couldn't absorb even a quarter of what he was saying.
Not because React was difficult.
Because hearing someone explain programming exclusively "by the book" was a biological weapon.
"You may take your break, class."
The moment the professor finished speaking, half the room escaped like prisoners released on parole.
Meanwhile, I immediately opened Alva Online to check whether maintenance had finished.
There was a post saying maintenance had been extended.
Again.
At this point, I was more surprised whenever the developers didn't delay a patch.
Out of habit, I launched the game anyway.
To my surprise, the launcher actually began downloading a patch.
"Hm."
Maybe they were doing last-minute backend fixes.
Once the patch finished, I clicked Start Game.
The loading screen appeared.
Nothing looked different.
Weird.
Normally they'd change the loading screen artwork every major update.
I logged in.
And somehow, it worked.
"...What?"
The server was online.
Usually during maintenance you'd just get an error message saying Failed to Connect to Game Server.
Maybe someone screwed up internally and reopened the servers early.
Whatever.
Not my problem.
I launched my modified version of Cheat Engine and attached it to the game process.
Then I opened several other tools including ReClass for viewing live memory structures.
Now this was the fun part.
First thing I needed was the player pointer address.
There were multiple ways to find it, but the easiest method was using the character level value.
After entering the map, I scanned my current level in Cheat Engine.
Then I switched characters with different levels and rescanned using the new values repeatedly until only eight addresses remained.
Three of them were highlighted green.
Static addresses.
Meaning they persisted even after restarting the game.
Perfect.
Those static addresses pointed toward the dynamic player structure in memory.
While tracing it, I also discovered that the level offset had shifted sixteen bytes forward compared to the previous patch.
Not terrible.
Could've been worse.
Some updates completely nuked entire structures and forced you to rediscover everything from scratch like an archaeologist digging through digital ruins.
After locating the level offset, I started mapping the rest of the player object.
Nation ID.
Map ID.
Player name.
Class rank.
Honor rank.
Combo timer.
The methods were mostly identical.
Switch characters.
Rescan values.
Repeat until the structure exposed itself.
Skill-related data was slightly more annoying though.
For skill IDs and casting timers, I needed a skill with an indefinite duration.
In this case, the Dance skill.
The process was simple: activate the dance, scan values, deactivate it, rescan, repeat.
Tedious.
But reliable.
Next came the more complicated part.
The skill object itself.
And the dungeon window structure.
Finding the skill object through pointers directly would've taken forever, so instead I used a workaround involving skill IDs and type IDs.
For example, Dash had a skill ID of 245 while movement-type skills used a type ID of 5.
Using that information, I could build an incomplete byte pattern for the skill structure.
Basically a miniature fingerprint.
First, convert the skill ID into hexadecimal.
Then the type ID.
Then insert eight wildcard bytes represented by question marks.
Then place the skill ID again.
After that, scan it in Cheat Engine as an array of bytes.
Simple in theory. Mentally destructive in practice.
Not because the game only had forty skills. After the latest episode patch, there were probably over four hundred skills scattered across the client now.
The problem was that I specifically needed to trace around forty of them manually. The ones with exploitable effects.
Movement skills. Buff skills. Targeting skills. Skills with abnormal casting behavior or weird server interactions.
And of course, none of them shared the exact same structure.
Some were almost identical aside from a few shifted offsets. Others looked like the developers had assembled them during a caffeine overdose and never checked them again afterward.
Every time I thought I understood the pattern, another skill would suddenly violate all existing logic and force me to dig through the structure from scratch again like some kind of digital archaeologist with sleep deprivation.


