- Reverse Engineering & Game Bots
For the past few years I’ve been working a lot on reverse engineering network protocols or game clients with IDA, OllyDBG, Immunity Debugger and similar. I developed Windows DLL injection frameworks to interact with the games with C# and C++.NET. The AIs that controls the player character, also written in mostly C#, was developed with the help of behavior trees and optimised path finding algorithms among others.
I have so far worked on EVE Online, World of Warcraft, Diablo 3 and Path of Exile.
- My Master Thesis (at Chalmers)
Currently I am primarily working on my master thesis project. In it, I developed a fuzzing engine built upon PANDA and Microsoft’s Z3 SMT solver. It uses a technique called symbolic execution to analyze binary applications without the need of any source and automatically generate test cases that cover new code.
An asteroids-like clone I made a while ago with OpenGL and SDL. The idea was to actually finish gameplay of it and to limit myself to as few third party libraries as possible. It is using SDL for cross-plattform window creation and SOIL for image loading, the rest is custom-written.
- Gonstruct (GitHub)
A level editor replacement for the customizable 2D Zelda-like game Graal Online. Done with the help of GTK and GitHub, but discontinued due to lack of time and interest in the game. Open Source.
- Graal Statistics
A Ruby on Rails website I started in 2005 to keep records of player counts and server changes in Graal Online. Realized through a custom game client written in Ruby. Recently (2015), finally, became defunct, due to extensive network protocol changes in the game client.
A supporting web application for the game EVE Online developed using Django as a web framework. It was developed together with other volunteers for a player community, and displayed a dynamic map of the game using d3.js to help players navigate and report intelligence on its locations.
- Blizzard Patch Torrents
A site dedicated to making access to World of Warcraft patches easier. Allows people to upload the Blizzard Downloader Executable and extracts the torrent to display it in a sortable list on the site.
- Blizzard Downloader Torrent Extractor
Despite its long name, this does exactly what it says, it extracts the torrent files the Blizzard Downloader internally uses for usage in an external torrent client. To extract a torrent from a downloader executable, just drag and drop the file on the extractor. Source