Refactored Oldschool Client

Deobfuscation & Refactoring of the Oldschool Runescape Client

In 2014 I began a project to release a fully reverse engineered and refactored Oldschool Runescape game client.

This project required the following skills:

  • The ability to read & interpret the flow of control for a program that was fully obfuscated.

  • Pattern recognition to discover and identify portions of code and understand why they belonged in the client.

  • A strong knowledge of Java (the client's native language)

  • Strong debugging and problem-solving skills to overcome a number scenarios with the client breaking as I did this process.

This project alone taught me a very valuable skill: the ability to read and understand anyone's code. This was very useful in later projects in my career that used libraries with faulty errors or misbehaviors as I was able to debug and fix the problems in the libraries themselves.

The refactored Oldschool Runescape client that I released was the first public deobfuscated and refactored OSRS client to date. This was done nearly 3 years before the first release of RuneLite - many of the naming styles found in this project can be found in RuneLite's mapped client.

The project furthered my understanding of various parts of the cache, the client, and just how Runescape worked in general. It single handedly allowed me to do further Runescape projects in the future because of the in-depth knowledge I gained.