Runtime feature research covering FOV unlocking, render-scale supersampling, actor chams, and gathering ESP for the Black Desert client. Includes source code, technical documentation, and a complete offset atlas.
This archive documents runtime feature research against the Black Desert x64 client. Each feature was developed from first principles: locating engine addresses through static analysis and live memory probing, validating writes with safety guards, and building tooling that survives game updates through an explicit recovery workflow.
The research covers four independent areas:
| Area | Status | Document |
|---|---|---|
| FOV unlock | ✅ Working | FOV_UNLOCK_DOCUMENTATION.md |
| Render-scale supersampling (up to 400%) | ✅ Working | RENDER_SCALE_DOCUMENTATION.md |
| Actor chams (player/NPC outlines) | ✅ Working | ACTOR_CHAMS_WORKING_PROOF_AND_CRASH_RECORD_2026-07-22.md |
| Gathering resource ESP | ✅ Working | ESP_CURRENT_STATE.md |
All findings are based on static analysis of client Lua, live memory probing via the helper, and passive observation. No server-side packets were modified.
Pink/magenta outlines rendered on all player characters and NPCs via a hooked material pass. Health bars overlaid per entity. A runtime control panel exposes per-type actor filters (Players, NPCs, Animals, Mounts, Objects), independent visible/occluded colors per actor class, render distance, and live backend status.
Entity tracking overlay with colored bounding boxes and distance labels. Extended entity draw range beyond the default client culling distance.
Internal 3D world rendered at ~337% of the 1080p output resolution. The UI and output stay at native 1920×1080 while the world geometry and textures are computed at ~3427×1928. The rooftop tile geometry below is impossible to resolve at native resolution.
The primary tool. Handles FOV control, render-scale supersampling, and update recovery in a single small window.
Safety model: The tool calculates two addresses from the current game module base and confirmed RVAs before every write. Both addresses must be readable, contain matching values, and fall inside a plausible range — otherwise the write is refused. A game update that moves the addresses causes the tool to fail safe, not write blindly.
RVA 1: 0x4514C78
RVA 2: 0x657CDEC
Self-test:
python FOV_Tool.pyw --self-test
Expected: PASS: Python, helper/render-scale integrity, and configured RVAs are valid.
The exact hash-verified helper binary required by the successful game connection path. Runs hidden; no console window is shown. Required alongside FOV_Tool.pyw at runtime.
A native C++ DLL (supersampling_backend_v5.dll) loaded directly by the FOV tool after connecting to the game process. Has an inert DllMain and explicit initialize/shutdown exports. Not a proxy DLL and not placed in the game directory.
Five versioned builds (v1–v5) are included in source form. The C++ source is in supersampling_backend/src/.
Native C++ actor outline implementation. Hooks into the material/render pass to draw colored outlines on actor entities. Source and MinHook dependency included.
→ Proof, crash record, and exact working state: ACTOR_CHAMS_WORKING_PROOF_AND_CRASH_RECORD_2026-07-22.md
skeleton_esp/— Skeleton-based entity position tracking for the ESP overlay.outline_probe/— Outline-pass detection and hooking for the chams system.graphics_backend/— D3D11 backend utilities shared between chams and ESP.
| Script | Purpose |
|---|---|
analyze_chams_bindings.py |
Analyzes material binding offsets for the chams hook |
camera_state_probe.py |
Live camera matrix and state reader |
chams_live_inspector.py |
Runtime chams hook inspector |
live_image_dump.py |
Dumps the live unpacked game image for static analysis |
load_fov_dump_bridge.py |
Bridges the FOV tool to a dumped image for offset correlation |
manage_esp_slot.py |
ESP slot manager for entity tracking |
paz_patcher.py |
PAZ archive reader/patcher for Lua content extraction |
rebuild_live_image.py |
Rebuilds a coherent PE from live section dumps |
retained_connection.py |
Manages persistent game process connection state |
esp_payload.lua |
Lua-side ESP payload injected via the game's scripting runtime |
| Document | Contents |
|---|---|
| FOV_UNLOCK_DOCUMENTATION.md | Verified engine RVAs, write safety guards, update recovery workflow |
| RENDER_SCALE_DOCUMENTATION.md | Engine render-scale locations, VRAM preflight, live test checklist |
| ESP_CURRENT_STATE.md | Current gathering ESP architecture, entity tracking, fast character-switch testing |
| ACTOR_CHAMS_WORKING_PROOF_AND_CRASH_RECORD_2026-07-22.md | Working chams proof, crash record, material hook investigation |
| LUA_TO_TOOL_FEATURE_GUIDE.md | How to implement a new feature from extracted game Lua |
| UNPACKED_CLIENT_OFFSET_ATLAS.md | Master offset reference for all located engine addresses |
| docs/unpacked_offset_atlas/ | Raw offset data and supporting tables |
The UNPACKED_CLIENT_OFFSET_ATLAS.md and docs/unpacked_offset_atlas/ directory are the authoritative reference for all located offsets. Every entry includes:
- The RVA relative to the game module base
- How the address was confirmed (static analysis, live probe, or both)
- Which tool or feature consumes it
- Update sensitivity notes
When a game patch moves a confirmed address:
- Open Details → Update recovery in
FOV_Tool.pyw. - Use Record baseline with the known pre-patch internal value.
- Induce a known delta in-game and click Correlate.
- The tool calculates and displays new candidate RVAs.
- Confirm and update the configured values.
Full procedure: FOV_UNLOCK_DOCUMENTATION.md § Update recovery
CTFAnalysis/
├── FOV_Tool.pyw Main application
├── FOV_LOD_Tool.pyw FOV + LOD variant
├── tools/ Analysis and bridge scripts
├── supersampling_backend/
│ └── src/supersampling_backend.cpp C++ render-scale backend source
├── actor_chams/ Native chams implementation + MinHook
├── skeleton_esp/ Skeleton-based entity tracker
├── outline_probe/ Outline-pass hook
├── graphics_backend/ Shared D3D11 utilities
├── live_dumper/ Live image dump tooling
├── step4_actor_proof/ Actor argument probe evidence
├── known-good/ Known-good binary snapshots
├── config/ Tool configuration
└── docs/
├── screenshots/ Working proof screenshots
├── unpacked_offset_atlas/ Raw offset tables
└── *.md Technical documentation
Research and documentation archive. Static and passive analysis only — no server-side packet modification.


