discover-class

Map a C++ class's vtable and inheritance chain in a running process via RTTI.

15|4|Updated Mar 7, 2026
One-click install
npx skills add https://github.com/vzco/arc-probe --skill discover-class
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: discover-class
Source: https://github.com/vzco/arc-probe/tree/main/plugins/arc-probe/skills/discover-class
Command: npx skills add https://github.com/vzco/arc-probe --skill discover-class

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Quickly locate and map a C++ class in a live process using RTTI, then reveal its vtable, getters, and a basic layout for labeling in the GUI.

Core Features & Use Cases

  • Retrieve a class by name or partial name and locate it across modules.
  • Build the full inheritance chain and identify related classes.
  • Map the vtable and identify key virtual functions to derive a field layout.
  • Example: locate C_BaseEntity, map its health-related fields, and label them in the GUI.

Quick Start

Run the tool with a class name to begin mapping its RTTI, vtable, and inheritance.

Frequently Asked Questions about discover-class

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find a C++ class in a running process using RTTI?

To find a C++ class in a running process using RTTI, you can use a class mapping tool that searches modules by name, locates the vtable, and reveals key virtual functions to identify the class structure.

What is the best way to map a C++ vtable and inheritance tree during reverse engineering?

Mapping a C++ vtable and inheritance tree during reverse engineering is best done by leveraging RTTI data to locate the class, extract its vtable, and build the full inheritance chain of related classes.

Can I label C++ class fields in a disassembler GUI by mapping the vtable?

Yes, you can label C++ class fields in a disassembler GUI by mapping the vtable and identifying key virtual functions, which allows you to derive a basic layout and apply GUI labels to the structures.

Does mapping a C++ class via RTTI require the target binary to be loaded with modules?

Yes, mapping a C++ class via RTTI requires the target binary to be loaded with modules, RTTI access enabled, and memory inspection capabilities to successfully locate the class and disassemble its vtable.

Why do I need RTTI access to map C++ virtual functions and class layouts?

You need RTTI access to map C++ virtual functions because RTTI provides the necessary type metadata to locate the class by name across modules, enabling the extraction of its vtable and field layout.