data-diff

Compare data symbols against decompiled builds to reveal byte- and relocation-level divergences.

4|Updated Mar 19, 2026
One-click install
npx skills add https://github.com/freeqaz/rb3 --skill data-diff
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: data-diff
Source: https://github.com/freeqaz/rb3/tree/main/.claude/skills/data-diff
Command: npx skills add https://github.com/freeqaz/rb3 --skill data-diff

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Structured byte- and relocation-level diff of a data symbol, target vs the decompiled build. objdiff's normal output diffs code; --include-data handles data: vtables, RTTI, pointer/jump tables, string pools, and static initializers.

Core Features & Use Cases

  • Compare data symbols to find divergences slot by slot.
  • Inspect vtables, RTTI, pointer tables, and string pools to pinpoint mismatches.
  • Use with the target and decompiled build to validate data layout and initializers.

Quick Start

Run the data diff against a data symbol with the command bin/objdiff-cli diff -p . -u <unit> "<symbol>" -f json-pretty --include-data

Frequently Asked Questions about data-diff

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

FAQPage Schema
How do I find data symbol divergences in decompiled builds?▼

To find data symbol divergences, compare the target symbol against the decompiled build using objdiff with the --include-data flag to reveal byte- and relocation-level mismatches in vtables, RTTI, and string pools.

Can I diff vtables and RTTI structures slot by slot?▼

Yes, you can diff vtables and RTTI structures slot by slot by running a structured data symbol comparison to pinpoint exact layout mismatches between the target binary and the decompiled build.

What is the best way to validate static initializers during decompilation?▼

The best way to validate static initializers during decompilation is to inspect byte- and relocation-level divergences in the data symbol using a structured JSON diff to validate data layout accuracy.

Does objdiff work with data symbols below 100% decompilation completion?▼

Yes, objdiff works with data symbols below 100% by comparing the target against the decompiled build to expose remaining byte-level divergences in pointer tables and string pools.

How do I get structured JSON output for binary data analysis?▼

Get structured JSON output for binary data analysis by running the diff command with the -f json-pretty flag, which reads data_diff.relocations and data_diff.segments to pinpoint exact mismatches.

Why does my decompiled data layout not match the target binary?▼

Your decompiled data layout may not match due to byte- and relocation-level divergences in static initializers or vtables, which you can identify by comparing the target symbol against the decompiled build.