top of page

DotaPicker HUD: Introduction

Dota 2 is a MOBA where two teams of five players compete to collectively destroy a large structure defended by the opposing team known as the "Ancient". Each player can choose from a pool of 115 unique heroes, and picking the right heroes to support your strategy or undermine the opponent's strategy plays a big role in deciding the victor. There are a bunch of websites such as http://dotapicker.com/counterpick and https://dotaedge.com/ which parse match history data and compute the best set of heroes for a given situation.

I wanted to automate this process. This involved reading the enemy's picks from the game, sending the data to one of these above mentioned websites, and displaying the results.

This project was my first brush with reverse engineering an application, and I wanted to write a series of blog posts to document the process.

The first half of the series talks about cheat engine. We will see some of the common ways cheat engine is used to manipulate applications, and also how it operates behind the scenes. We will use that knowledge to extract hero IDs from Dota 2.

The second half talks about DLL hijacking in general, and DLL Wrappers in particular. We will be using a d3d9.dll wrapper to draw our overlay on top of dota 2.

We will be working with Windows, and the blog assumes knowledge of C++. Some of the cheat engine information will not be applicable to applications which run in the CLR or JVM, since they manage their memory differently.


Коментари


bottom of page