DESOSA 2022

Cheat Engine

Cheat Engine is a tool for memory analysis and manipulation, for the purpose of modding and reverse engineering processes. It operates on one of the lowest possible levels of abstraction and gives real insight into the inner workings of other processes. Directly observing the behaviour of processes also allows for reverse engineering of secondary artifacts, such as encryption keys, file formats and communication protocols. This gives the user back the freedom to control the processes on their machine in the way they want.

Authors

Jeroen Kloppenburg

Currently working on a thesis on Static Binary Translation of Concurrency. Mainly interested in low-level systems and reverse engineering.

Jasper Klein Kranenbarg

MSc Data Science & Technology student with a BSc CSE. Mostly interested in data sciences

ShiKuan Li

Msc Artificial intelligence student with a BSc Computer Science

Sebastiaan van Moergestel

MSc Embedded Systems student with a BSc Copmuter Science. Interested in both low-level and high-level software programming.

Issues and Improvements

Meet the project Figure: Cheat Engine logo Cheat Engine is a tool for memory analysis and manipulation, for the purpose of modding and reverse engineering processes. It operates on one of the lowest possible levels of abstraction and gives a real insight into the inner workings of other processes. Directly observing the behaviour of processes also allows for reverse engineering of secondary artefacts, such as encryption keys, file formats, and communication protocols.

From Vision to Architecture

Introduction In our previous essay, we talked about the product vision of Cheat Engine. In this essay we focus on the underlying architecture of Cheat Engine, thus looking at the source code and the dependencies and interactions of different components. The source code can be found on their Github page 1. By analyzing the source code, we hope to get a better understanding of the system’s architectural elements and relationships, as well as the software’s principles of the design.

Quality and Evolution

Introduction One of the most important factors in the success of a software project is the software quality. In this essay, we will look at the overall quality process and the key elements of the continuous integration process of Cheat Engine. At the same time, we will cover the rigor of the testing process, the past and present changes in Cheat Engine’s hotspot components, and evaluate its code quality. Finally, the paper will also assess the technical liabilities of the system.

Product Vision and Problem Analysis

Meet the project Figure: Cheat Engine logo Cheat Engine is a tool for memory analysis and manipulation, for the purpose of modding and reverse engineering processes. It operates on one of the lowest possible levels of abstraction and gives a real insight into the inner workings of other processes. Directly observing the behaviour of processes also allows for reverse engineering of secondary artefacts, such as encryption keys, file formats and communication protocols.