2008
I taught myself my first programming language. VB6. Why a language that wasn’t updated since 1999? Well, It just so happened that my favorite game as a kid was called Adventure Quest. A single player flash based game. All of my friends played the game 24/7 and I wasn’t allowed to play games as often. Naturally, I decided to write my first, and only cheat for a video game. After some research, I found a group of people modding the game in VB6. I used that skill to jump start my programming career. (Yes, the cheats worked and I caught up to my friends). I haven’t cheated in a video game since.
2009
After doing small side projects, games in VB6, I came across VB.NET, Microsofts modern VB language built on one of their first releases of the .NET framework, it had much better tooling and allowed me to create several one off projects, that included embedding browser engines in .NET for use in applications outside of a typical browser, and a plugin system that allowed extending the browser engine safely from a sandbox. Most of the people from that era I’ve lost touch with, but some of the projects that were derived from tooling we iterated on still exist today geckofx.
2010-2014
Zombie Modding. Call of Duty: World at War modding was blowing up and zm was the place to be. It had it’s own, “unique” personality you could say. There I met and became friends with DarkFlame
and BigDave
two of the sites founders. This was probably one of the biggest turning points in my young life. BigDave
quickly saw something in me at the time and encuraged me to keep building. At one point, he asked me to parse a text file, (little did I know at the time being so young that it was a standardized format, AKA, JSON) for him for a map manager application for the site. All I remember is how baffled he was when I wrote my own parser for the format, instead of using the standardized one. Even though I probably should have been focusing on school work, I spent a lot of time playing zombies with BigDave
and TomBmx
. If you’re reading this dave, dark, I did graduate high school (they frequently encuraged me to do so).
2015-2018
Call of Duty: Black Ops 3 released. Tools developed by TomBmx
had recently stopped working for certain games, and it didn’t seem like we would get support for extracting models and animations from newer CoD games. I stumbled across a now good friend of mine id-daemon
online and together we set out to build the best game ripping tools for a game. I quickly learned about native memory management, matrices, quaternions, various floating point encodings, etc. “Wraith” released and was met with a huge following. Later renamed “Wraith Archon”, with updated support for all previous CoD titles and re-written 5 times (C# -> C# -> C# -> C++/CLI -> C++). Following the rewrites, I went on to release 4 more “Wraith” tools for Wolfenstein, The Evil Within, and Doom 2016. I open-sourced Wraith Archon and several other tools for CoD in 2018 to ensure that the CoD community would continue this legacy. Did I mention I received my first hand-delivered C&D as well?
2018-2020
I worked in the cable modem and router industry. Working on backend engineering, and firmware development. While there, I actually used my skills as a reverse engineer to save a product launch that went on to sell over 5 million units. TLDR:
A third party proprietery firmware bug was discovered days before the product was set to hit the shelves. It would have taken the partner an estimated 2 week lead time to fix the issue. I reverse engineered the ARMv7
firmware binary, hand patched the assembly and fixed the problem within an hour. This code literally shipped to millions of customers. It was an awesome win with this company.
Not being able to stay away from game hacking for long, I developed “Legion” and “Vega” for Apex legends and Doom eternal. Apex legends was especially cool because it had a file format that was not reverse engineered by anyone for years. These tools ran on my .NET-like C++ library cppkore. I went on to open source the parts of Legions code that was completely rewritten by myself to avoid legal issues so that it may continue to receive updates for future game seasons. I knew that anyone capable of taking over the project would be able to put the pieces back into place. (I received my second, and so far final C&D at this point)
2020-Present
I founded a company called Quebic with friends I met at my previous job and from the game hacking scene. Aiming to provide secure chat, voice, and video tools to people at a time when everyone was forced to work remotely. We built an elixir OTP inspired actor system powered by Rust capable of scaling to millions of messages per second on very little hardware. Developed fast in-house WebRTC libraries in Rust, using reverse engineering to ensure we had the best cross-browser experience, did I mention that reverse engineering is easier than reading IEFT specs? The team at Quebic also fell in love with Svelte. I think at one point we had one of the largest Svelte 3 codebases, pretty crazy.
While I couldn’t go over every story, detail or project, this pretty much sums up my career as a software engineer and reverse engineer. I also made some incredible friends along the way.
I am always looking for new opportunities and challenges that will better my skills as an engineer.
Thanks for reading!