# ccdop/akebi-gc architecture

> Architecture diagram of the GitHub repository ccdop/akebi-gc, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ccdop/akebi-gc
- Repository: https://github.com/ccdop/akebi-gc

## Overview

Akebi-GC is a Windows game-modification application: the user starts an injector, which launches the game suspended and injects CLibrary.dll; the DLL waits for and initializes IL2CPP, then starts the cheat runtime. The runtime exposes configurable features through an in-game GUI and acts on game entities, with documented player, world, teleport, visual, and debugging capabilities. The graph combines sampled call evidence with README-documented capability links; unsampled feature internals and runtime wiring are not asserted.

Main entry points: [`cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp`](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp) (Feature Manager), [`cheat-library/scr/user/cheat/game/EntityManager.cpp`](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/game/EntityManager.cpp) (Entity Manager), [`injector/src/main.cpp`](https://github.com/ccdop/akebi-gc/blob/main/injector/src/main.cpp) (Game Injector), [`cheat-library/scr/user/main.cpp`](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/main.cpp) (DLL Runtime Entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_launch["Launch and Runtime"]
  node_injector["Game Injector<br/>[main.cpp]"]
  node_dll_entry["DLL Runtime Entry<br/>[main.cpp]"]
  node_il2cpp_init["IL2CPP Initialization<br/>[il2cpp-init.cpp]"]
end

subgraph group_core["Framework Core"]
  node_manager["Feature Manager"]
  node_feature_api["Feature API<br/>[Feature.h]"]
  node_config["Profiles and Config<br/>[Config.cpp]"]
  node_settings["Runtime Settings<br/>[Settings.cpp]"]
  node_events["Event System<br/>[event.hpp]"]
  node_renderer["GUI Renderer<br/>[renderer.cpp]"]
  node_render_hooks["Graphics Hooks<br/>[dx11-hook.cpp]"]
end

subgraph group_features["Game Features"]
  node_esp["ESP and Indicators<br/>[ESP.cpp]"]
  node_teleport["Teleport Features<br/>[MapTeleport.cpp]"]
  node_player["Player Features<br/>[GodMode.cpp]"]
  node_world["World Features<br/>[AutoLoot.cpp]"]
  node_visuals["Visual Features<br/>[FreeCamera.cpp]"]
  node_interactive_map["Interactive Map<br/>[InteractiveMap.cpp]"]
  node_debug["Debug Tools<br/>[Debug.cpp]"]
  node_packet_sniffer["Packet Sniffer<br/>[PacketSniffer.cpp]"]
end

subgraph group_support["Game Integration"]
  node_entities["Entity Manager<br/>[EntityManager.cpp]"]
  node_entity_types["Entity Models<br/>[Entity.h]"]
  node_pipe["Sniffer Pipe I/O<br/>[PipeIO.h]"]
  node_hooks["Game Hooks<br/>[HookManager.h]"]
  node_patches["Memory Patching<br/>[Patch.cpp]"]
  node_scanner["Pattern Scanner<br/>[PatternScanner.cpp]"]
end

node_user(("Player"))
node_game["Genshin Impact"]

node_user -->|"starts"| node_injector
node_injector -->|"launches suspended"| node_game
node_injector -->|"injects DLL"| node_dll_entry
node_dll_entry -->|"initializes"| node_il2cpp_init
node_dll_entry -->|"starts cheat"| node_manager
node_manager -->|"initializes"| node_renderer
node_manager -->|"registers handlers"| node_events
node_manager -->|"reads settings"| node_settings
node_manager -->|"draws features"| node_feature_api
node_manager -->|"manages profiles"| node_config
node_render_hooks -.->|"provides rendering"| node_renderer
node_game -->|"supplies entities"| node_entities
node_entities -->|"creates wrappers"| node_entity_types
node_entities -->|"installs removal hook"| node_hooks
node_esp -.->|"uses entities"| node_entities
node_teleport -.->|"uses entities"| node_entities
node_player -.->|"modifies gameplay"| node_game
node_world -.->|"modifies gameplay"| node_game
node_visuals -.->|"changes presentation"| node_game
node_interactive_map -.->|"integrates game map"| node_game
node_debug -.->|"inspects entities"| node_entities
node_packet_sniffer -.->|"uses pipe transport"| node_pipe
node_packet_sniffer -.->|"captures packets"| node_game
node_scanner -.->|"scans game memory"| node_game
node_patches -.->|"patches memory"| node_game

click node_injector "https://github.com/ccdop/akebi-gc/blob/main/injector/src/main.cpp"
click node_dll_entry "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/main.cpp"
click node_il2cpp_init "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/framework/il2cpp-init.cpp"
click node_manager "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp"
click node_feature_api "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/cheat/Feature.h"
click node_config "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/config/Config.cpp"
click node_settings "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/cheat/misc/Settings.cpp"
click node_events "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/events/event.hpp"
click node_renderer "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/render/renderer.cpp"
click node_render_hooks "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/render/backend/dx11-hook.cpp"
click node_entities "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/game/EntityManager.cpp"
click node_entity_types "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/game/Entity.h"
click node_esp "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/esp/ESP.cpp"
click node_teleport "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/teleport/MapTeleport.cpp"
click node_player "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/player/GodMode.cpp"
click node_world "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/world/AutoLoot.cpp"
click node_visuals "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/visuals/FreeCamera.cpp"
click node_interactive_map "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/imap/InteractiveMap.cpp"
click node_debug "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/misc/Debug.cpp"
click node_packet_sniffer "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/misc/sniffer/PacketSniffer.cpp"
click node_pipe "https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/misc/sniffer/pipe/PipeIO.h"
click node_hooks "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/HookManager.h"
click node_patches "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/Patch.cpp"
click node_scanner "https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/PatternScanner.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_injector,node_dll_entry,node_il2cpp_init toneBlue
class node_manager,node_feature_api,node_config,node_settings,node_events,node_renderer,node_render_hooks toneAmber
class node_esp,node_teleport,node_player,node_world,node_visuals,node_interactive_map,node_debug,node_packet_sniffer toneMint
class node_entities,node_entity_types,node_pipe,node_hooks,node_patches,node_scanner toneRose
class node_user,node_game toneIndigo
```

## Components

### Launch and Runtime

- [Game Injector](https://github.com/ccdop/akebi-gc/blob/main/injector/src/main.cpp): `injector/src/main.cpp`
- [DLL Runtime Entry](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/main.cpp): `cheat-library/scr/user/main.cpp`
- [IL2CPP Initialization](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/framework/il2cpp-init.cpp): `cheat-library/scr/framework/il2cpp-init.cpp`

### Framework Core

- [Feature Manager](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp): `cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp`
- [Feature API](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/cheat/Feature.h): `cheat-base/src/cheat-base/cheat/Feature.h`
- [Profiles and Config](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/config/Config.cpp): `cheat-base/src/cheat-base/config/Config.cpp`
- [Runtime Settings](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/cheat/misc/Settings.cpp): `cheat-base/src/cheat-base/cheat/misc/Settings.cpp`
- [Event System](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/events/event.hpp): `cheat-base/src/cheat-base/events/event.hpp`
- [GUI Renderer](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/render/renderer.cpp): `cheat-base/src/cheat-base/render/renderer.cpp`
- [Graphics Hooks](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/render/backend/dx11-hook.cpp): `cheat-base/src/cheat-base/render/backend/dx11-hook.cpp`

### Game Features

- [ESP and Indicators](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/esp/ESP.cpp): `cheat-library/scr/user/cheat/esp/ESP.cpp`
- [Teleport Features](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/teleport/MapTeleport.cpp): `cheat-library/scr/user/cheat/teleport/MapTeleport.cpp`
- [Player Features](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/player/GodMode.cpp): `cheat-library/scr/user/cheat/player/GodMode.cpp`
- [World Features](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/world/AutoLoot.cpp): `cheat-library/scr/user/cheat/world/AutoLoot.cpp`
- [Visual Features](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/visuals/FreeCamera.cpp): `cheat-library/scr/user/cheat/visuals/FreeCamera.cpp`
- [Interactive Map](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/imap/InteractiveMap.cpp): `cheat-library/scr/user/cheat/imap/InteractiveMap.cpp`
- [Debug Tools](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/misc/Debug.cpp): `cheat-library/scr/user/cheat/misc/Debug.cpp`
- [Packet Sniffer](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/misc/sniffer/PacketSniffer.cpp): `cheat-library/scr/user/cheat/misc/sniffer/PacketSniffer.cpp`

### Game Integration

- [Entity Manager](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/game/EntityManager.cpp): `cheat-library/scr/user/cheat/game/EntityManager.cpp`
- [Entity Models](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/game/Entity.h): `cheat-library/scr/user/cheat/game/Entity.h`
- [Sniffer Pipe I/O](https://github.com/ccdop/akebi-gc/blob/main/cheat-library/scr/user/cheat/misc/sniffer/pipe/PipeIO.h): `cheat-library/scr/user/cheat/misc/sniffer/pipe/PipeIO.h`
- [Game Hooks](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/HookManager.h): `cheat-base/src/cheat-base/HookManager.h`
- [Memory Patching](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/Patch.cpp): `cheat-base/src/cheat-base/Patch.cpp`
- [Pattern Scanner](https://github.com/ccdop/akebi-gc/blob/main/cheat-base/src/cheat-base/PatternScanner.cpp): `cheat-base/src/cheat-base/PatternScanner.cpp`

### Other components

- **Player**
- **Genshin Impact**

## Connections

- Player → Game Injector: starts
- Game Injector → Genshin Impact: launches suspended (evidence: `injector/src/main.cpp`)
- Game Injector → DLL Runtime Entry: injects DLL
- DLL Runtime Entry → IL2CPP Initialization: initializes (evidence: `cheat-library/scr/user/main.cpp`)
- DLL Runtime Entry → Feature Manager: starts cheat (evidence: `cheat-library/scr/user/main.cpp`)
- Feature Manager → GUI Renderer: initializes (evidence: `cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp`)
- Feature Manager → Event System: registers handlers (evidence: `cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp`)
- Feature Manager → Runtime Settings: reads settings (evidence: `cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp`)
- Feature Manager → Feature API: draws features (evidence: `cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp`)
- Feature Manager → Profiles and Config: manages profiles (evidence: `cheat-base/src/cheat-base/cheat/CheatManagerBase.cpp`)
- Graphics Hooks → GUI Renderer: provides rendering
- Genshin Impact → Entity Manager: supplies entities (evidence: `cheat-library/scr/user/cheat/game/EntityManager.cpp`)
- Entity Manager → Entity Models: creates wrappers (evidence: `cheat-library/scr/user/cheat/game/EntityManager.cpp`)
- Entity Manager → Game Hooks: installs removal hook (evidence: `cheat-library/scr/user/cheat/game/EntityManager.cpp`)
- ESP and Indicators → Entity Manager: uses entities
- Teleport Features → Entity Manager: uses entities
- Player Features → Genshin Impact: modifies gameplay
- World Features → Genshin Impact: modifies gameplay
- Visual Features → Genshin Impact: changes presentation
- Interactive Map → Genshin Impact: integrates game map
- Debug Tools → Entity Manager: inspects entities
- Packet Sniffer → Sniffer Pipe I/O: uses pipe transport
- Packet Sniffer → Genshin Impact: captures packets
- Pattern Scanner → Genshin Impact: scans game memory
- Memory Patching → Genshin Impact: patches memory
