Raised on Windows 95, fueled by surf, adventure, and curiosity. Currently making enterprise solutions an automation.
Here you can peep some shareable cross-platform development and hands-on projects.
Raised on Windows 95, fueled by surf, adventure, and curiosity. Currently making enterprise solutions an automation.
Here you can peep some shareable cross-platform development and hands-on projects.
This project automates a task that was traditionally manual, slow, and error-prone for game administrators.
It processes a massive C++ codebase (over six million lines) where quest drop logic is hidden
inside random math functions such as gg::Rand, which calculates drop probability,
followed by calls like myself::GiveItem1, where the actual item quantity is defined
when a required monster is killed. Modifying these values used to require binary
decompilation and hand-editing.
At the core is AI.obj, a NASC-compiled object loaded by the NPC Manager that
defines NPC and monster behavior. The tool integrates with the NASC compiler/decompiler
pipeline, parses the decompiled output, detects drop-related patterns, and adjusts mission
parameters before rebuilding the object.
Earlier projects like Elhaym preserved editable Script Maker sources, making these changes trivial. Once that layer disappeared, customization became painful. This project restores that flexibility through automation.
What once took hours or days of reverse engineering can now be done safely and consistently at scale.
NASC AI is event-driven. Each AI class defines handlers for specific events such as
TALKED (when a player interacts with an NPC) or MY_DYING
(when the NPC dies).
The MY_DYING handler is the critical one: it checks whether the killer has
an active quest tied to that NPC and then uses a random function to decide whether a
quest item is dropped.
The tool analyzes each AI class and looks for three concrete patterns:
MY_DYING handler contains a random math function.Once all conditions are met, the tool reconstructs the original drop chance, applies a configurable multiplier, and injects a named parameter into the class, for example:
int 100_30_trial_of_the_seeker_medusas_scales = 30;
This parameter is placed in the class’s local parameters section, which remains editable even after the AI is compiled into NASC bytecode (similar to assembly and mostly unreadable). As a result, administrators can fine-tune quest drop rates without reverse engineering or recompiling the entire AI logic.
Developed a forensic tool in C++ using the Win32 API to decrypt and analyze WhatsApp database files acquired from end-user devices or backups. The tool enables investigators to access messages and media in environments where end-to-end encryption prevents server-side data retrieval.
Patched a Windows C++ client library to change the hardcoded authentication port (2106) for running multiple servers on the same machine. Reverse engineered the library, found the RequestAuthLogin function, and modified the relevant bytes directly.
We automate mission-specific AI customization across ~6,000 C++ classes, each representing a game actor or NPC. Each class defines the actor’s behavior and mission interactions.
The tool decompiles each class, analyzes quest-related code—especially the function that calculates drop probability—and injects a parameterized multiplier. It also adjusts the item-giving function to set item quantities. Only actors relevant to a player’s active missions are affected.
Modified NASC classes are then recompiled and merged back into the AI, enabling dynamic mission parameters without manually editing compiled code.
Worked on Unity projects implementing behavior scripts for objects and setting up methods to manage interactions via Unity event handlers.
Developed an online tool to transfer a character from an old server to a newer one. To keep the feature fair for players, it applies restrictions such as lowering levels and converting items to a lower grade.
Also created a Game Updater tool, a simple Windows Forms application for updating the game.
Developed an online community platform with an administration panel to: