Scripting Engines inside Games? You can hack them too! (AngelScript)


Introduction to Games and Scripting

Multiple games delegate many portions of the game into a scripting engine: sounds, effects, animations, objects properties, events, etc. There are a lot of alternatives when we talk about scripting, but the most popular are Lua, Squirrel, and AngelScript. The idea of this post won’t be to cheat a game but to learn how scripting works and how we could reverse scripting libraries to manipulate the normal behavior of the game and run our own scripts in the game context.

Read more ⟶

Virtual Method Table Hooking Explained


Virtual Function Hooking

We have seen in the previous post that sometimes we need to understand and use VF (Virtual Functions) in order to properly hook a function.  So far we have seen this two times: when we hooked Present to control the rendering flow of DirectX (here); and when we hooked DrawIndexed to fingerprint models from DirectX (here).

For both cases, we gave for granted how this process works and we didn’t see in details how to implement this for other methods we may need to hook. Let’s quickly review what we saw in the previous posts.

Read more ⟶

Improving your Cheat Template (Hooking DirectX11)


Template

For the ones that are interested in improving your code, this may be a post for you. In the last few weeks, I have been posting about hooking and DirectX11 (here). Programming this template and solving the challenges to achieve each goal has been a lot of fun but I have modified the code so many times until it met my expectations. This will be a really quick post to tell you some optimization I have implemented in the template that I found interesting, here is the list:

Read more ⟶

Creating your own Wallhack


Wallhack

In the previous posts we have done most of the heavy work, but what comes now is really simple compared with the rest. We have created a basic template for hooking DirectX11 and inject our own interface, then we created a Model Logger to allows us to highlight and identify the most important Models we wanted to modify, but something is missing, right? What can we do once we have the correct model highlighted? One of those things is a Wallhack of course!

Read more ⟶

Fingerprinting Models when hooking DirectX (Vermintide 2)


Fingerprinting Models?

Reading “Game Hacking” from Nick Cano, where he explains how to fingerprint the models we want to reveal for certain cheats, motivated me to try it on DirectX11, and I explain how to do it in this post 🙂

When we want to do a Wallhack, for example, the most difficult part it is perhaps finding the correct model you want to reveal and make it visible through the walls. You can find on internet different pieces of code that show examples of how this could be done, but none of them (or at least I couldn’t find) explain properly and in a clear way the logic and meaning of the code. That’s why I wanted to write this blog post to show you not only the code but also the logic behind it to reach the goal: Fingerprint the Model you want to reveal on a wallhack.

Read more ⟶