Skip to content
This repository was archived by the owner on Jun 4, 2026. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 My First Aimbot

[REVERSE ENGINEERING PROJECT] β€’ [ARCHIVED] β€’ [HISTORICAL REFERENCE]

Status:Archived Language:C++ Tool: CheatEngine

A practical study in reverse engineering, memory mapping, and 3D trigonometry.


πŸ“œ Historical Context & Skill Level Notice

This repository was my initial foray into game security and memory forensics. It served as a practical educational exercise to understand how external tools interact with a running process's memory space.

Note: As an early learning project, it utilizes hardcoded offsets, basic Windows APIs, and manual entity counting. It does not reflect my current software engineering standards or architectural practices.

For examples of my current work, please visit my Profile.


πŸš€ Project Overview

I developed this External Aimbot for AssaultCube to bridge the gap between high-level game logic and low-level memory management. The tool monitors the game's memory state and calculates the necessary view-angle adjustments to track targets in real-time.

πŸ” Reverse Engineering Workflow

The development process for locating data structures involved:

  1. Memory Mapping: Used Cheat Engine to reverse engineer the game’s internal data structures.
  2. Pointer Scanning: Identified static base pointers and dynamic offsets for the local player (e.g., 0x0058AC00) and the entity list (e.g., 0x0058AC04).
  3. Data Extraction: Located specific offsets for critical variables including X/Y/Z coordinates, health values (0xEC), and view-angle Pitch/Yaw registers (0x34).

βš™οΈ Technical Implementation

  • Memory Interfacing: Leveraged ReadProcessMemory and WriteProcessMemory via the Win32 API to externally read state and modify player view angles without injecting dynamic-link libraries (DLLs).
  • 3D Vector Math: Implemented custom coordinate-transformation logic, leveraging standard C++ math functions (atan2 and acos) to convert 3D Cartesian coordinates into precise pitch and yaw angles for the targeting system.
  • Targeting Logic: Iterates through the entity list to identify the optimal target based on their proximity to the player's crosshair (calculating the Angle Delta).

🚧 Known Limitations (Theoretical Improvements)

Because this was built strictly as a proof-of-concept for learning, several advanced features were intentionally left out of the architecture:

  • Visibility Checks: The bot does not parse BSP (Binary Space Partitioning) trees or use raycasting, meaning it will target enemies behind walls.
  • Distance Weighting: The targeting logic relies entirely on crosshair proximity rather than factoring in 3D Euclidean distance.
  • Dynamic Entity Allocation: Entity counts are manually inputted rather than dynamically read from the game's internal game-state engine.

🧠 Key Takeaways

Building this project provided foundational experience in:

  • Systems Programming: Handling Windows process handles (HANDLE, HWND) and memory access rights (PROCESS_ALL_ACCESS).
  • Binary Analysis: Navigating memory-mapped addresses, base pointers, and understanding data alignment.
  • Applied Math: Utilizing 3D geometry for real-world coordinate transformations.

Developed as a technical deep-dive β€’ Managed by Samantha H.

About

An aimbot I created for the game assault cube to learn how cheats are made.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages