Skip to content

Symbols and data types

Symbols label program locations. Data types describe how values and memory should be interpreted. Both influence readability, but a confident-looking name or structure can still encode a wrong hypothesis.

Open the upstream Window → Data Types view to inspect the Data Type Manager. It separates built-in types, the current program’s types, and additional archives. Archive associations can carry changes between a program and its type source; inspect the archive state before committing or updating types.

The Symbol Table lists symbols and supports inspection of references. Use it to find a candidate, then return to the Listing and Decompiler for context.

  1. Collect accesses to the suspected object and note offsets and widths.
  2. Distinguish a field value from a pointer and record uncertain areas.
  3. Build a structure whose offsets match observed uses.
  4. Apply it to a suitable variable or memory location.
  5. Inspect all affected uses for contradictions before propagating the type.

Keep names descriptive and avoid implying more certainty than the evidence supports. For shared archives, establish who owns changes and review updates before applying them to important projects.

VERIFY Opcodex’s final menus and archive compatibility. TODO: update screenshot of the Data Type Manager after the interface is available.

Next: Decompiler and Scripting.


Sources: Data Type Manager, Symbol Table.

Adapted from the Ghidra documentation (Apache 2.0).