# chimeralle-real/externalexecutor architecture

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

- Interactive diagram: https://gitdiagram.com/chimeralle-real/externalexecutor
- Repository: https://github.com/chimeralle-real/externalexecutor

## Overview

ExternalExecutor is a Windows-based Roblox script executor: it locates Roblox processes, prepares and installs initialization bytecode, then accepts source for execution through an exported entry point. The README also advertises a separate desktop UI and UNC/SUNC compatibility, but the UI form and bridge implementation were not sampled, so their detailed wiring and those capabilities’ implementation are uncertain.

Main entry points: [`ExternalExecutor/ExternalExecutor.cpp`](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/ExternalExecutor.cpp) (Executor entry), [`ExternalExecutor/Utils/Instance.hpp`](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Instance.hpp) (Instance access), [`ExternalExecutor/Bridge.hpp`](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Bridge.hpp) (Bridge), [`ExternalExecutor/Utils/Bytecode.hpp`](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Bytecode.hpp) (Bytecode utilities)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_desktop["Desktop interface"]
  node_ui["Desktop UI<br/>[Form1.cs]"]
end

subgraph group_runtime["Executor runtime"]
  node_entry["Executor entry"]
  node_bridge["Bridge<br/>[Bridge.hpp]"]
  node_server["Connection setup<br/>[server.h]"]
end

subgraph group_target["Roblox integration"]
  node_process["Process discovery<br/>[Process.hpp]"]
  node_memory["Process memory<br/>[Memory.hpp]"]
  node_instances["Instance access<br/>[Instance.hpp]"]
  node_offsets["Runtime offsets<br/>[Offsets.hpp]"]
end

subgraph group_language["Luau toolchain"]
  node_compiler["Luau compiler<br/>[Compiler.cpp]"]
  node_bytecode["Bytecode utilities<br/>[Bytecode.hpp]"]
end

node_user(("User"))
node_roblox(("Roblox process"))
node_script["Target scripts"]

node_user -->|"uses"| node_ui
node_user -->|"calls Nuke"| node_entry
node_entry -->|"starts bridge"| node_bridge
node_bridge -->|"sets up connection"| node_server
node_entry -->|"finds processes"| node_process
node_entry -->|"locates datamodel"| node_instances
node_instances -->|"reads and writes"| node_memory
node_instances -->|"uses offsets"| node_offsets
node_entry -->|"compiles and signs"| node_bytecode
node_bytecode -->|"compiles source"| node_compiler
node_entry -->|"replaces script bytecode"| node_instances
node_entry -->|"targets process"| node_roblox
node_user -->|"supplies source"| node_script
node_entry -->|"executes source"| node_script

click node_ui "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutorUI/Form1.cs"
click node_entry "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/ExternalExecutor.cpp"
click node_bridge "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Bridge.hpp"
click node_server "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Dependecies/server/server.h"
click node_process "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Process.hpp"
click node_memory "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Memory.hpp"
click node_instances "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Instance.hpp"
click node_offsets "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Update/Offsets.hpp"
click node_compiler "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Dependecies/Luau/Compiler.cpp"
click node_bytecode "https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Bytecode.hpp"

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_ui,node_user toneBlue
class node_entry,node_bridge,node_server toneAmber
class node_process,node_memory,node_instances,node_offsets toneMint
class node_compiler,node_bytecode toneRose
class node_roblox,node_script toneIndigo
```

## Components

### Desktop interface

- [Desktop UI](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutorUI/Form1.cs): `ExternalExecutorUI/Form1.cs`

### Executor runtime

- [Executor entry](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/ExternalExecutor.cpp): `ExternalExecutor/ExternalExecutor.cpp`
- [Bridge](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Bridge.hpp): `ExternalExecutor/Bridge.hpp`
- [Connection setup](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Dependecies/server/server.h): `ExternalExecutor/Dependecies/server/server.h`

### Roblox integration

- [Process discovery](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Process.hpp): `ExternalExecutor/Utils/Process.hpp`
- [Process memory](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Memory.hpp): `ExternalExecutor/Utils/Memory.hpp`
- [Instance access](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Instance.hpp): `ExternalExecutor/Utils/Instance.hpp`
- [Runtime offsets](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Update/Offsets.hpp): `ExternalExecutor/Update/Offsets.hpp`

### Luau toolchain

- [Luau compiler](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Dependecies/Luau/Compiler.cpp): `ExternalExecutor/Dependecies/Luau/Compiler.cpp`
- [Bytecode utilities](https://github.com/chimeralle-real/externalexecutor/blob/main/ExternalExecutor/Utils/Bytecode.hpp): `ExternalExecutor/Utils/Bytecode.hpp`

### Other components

- **User**
- **Roblox process**
- **Target scripts**

## Connections

- User → Desktop UI: uses
- User → Executor entry: calls Nuke
- Executor entry → Bridge: starts bridge
- Bridge → Connection setup: sets up connection
- Executor entry → Process discovery: finds processes
- Executor entry → Instance access: locates datamodel
- Instance access → Process memory: reads and writes
- Instance access → Runtime offsets: uses offsets
- Executor entry → Bytecode utilities: compiles and signs
- Bytecode utilities → Luau compiler: compiles source
- Executor entry → Instance access: replaces script bytecode
- Executor entry → Roblox process: targets process
- User → Target scripts: supplies source
- Executor entry → Target scripts: executes source
