whatisgithub

What is struct-compare?

milankovo/struct-compare — explained in plain English

Analysis updated 2026-05-18

17PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

An IDA Pro plugin that shows two structure or union types side by side, aligned by field offset, so reverse engineers can compare and merge them.

Mindmap

mindmap
  root((struct-compare))
    What it does
      Side by side struct view
      Offset aligned rows
      Diff coloring
    Tech stack
      Python
      IDA Pro
    Use cases
      Compare struct versions
      Merge fields
      Edit fields in place
    Requirements
      IDA Pro 9.2 plus
      Interactive GUI mode
    Audience
      Reverse engineers
      IDA plugin users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Compare two versions of a struct or union to spot which fields were added, removed, or changed.

USE CASE 2

Merge specific fields from one structure into another and preview the generated C declaration first.

USE CASE 3

Rename, delete, or retype fields directly inside the comparison view using IDA's own shortcuts.

USE CASE 4

Keep comparison windows in sync automatically as types change or after an undo or redo.

What is it built with?

PythonIDA Pro

How does it compare?

milankovo/struct-compare0petru/sentimoagi-eval-official/forte
Stars171717
LanguagePythonPythonPython
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires IDA Pro 9.2 or later running interactively, not usable headless.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

Struct Compare is a plugin for IDA Pro, a tool reverse engineers use to inspect and analyze compiled programs. This plugin adds a side by side comparison view for two structure or union type definitions inside IDA's Local Types database, so a user can see how two versions of a data structure differ. To use it, a person picks two structures, either by selecting both in the Local Types window or sending one at a time to a comparison window. The plugin opens two synced panes next to each other, with rows aligned by the byte offset of each field, so matching, differing, and unique members line up visually. Differences are shown with color: pink means a field exists on both sides but is different, green means a field only exists on one side, and no color means the field is identical on both. Beyond just viewing differences, the plugin lets a user merge fields from one structure into the other, with a preview of the generated C declaration before anything is written to the database. Merges go through IDA's own type parsing, so they can be undone. Fields can also be renamed, deleted, or retyped directly inside the comparison panes using the same keyboard shortcuts IDA normally uses in its own type editor, but only while a compare pane is active. If the underlying types change elsewhere, or the user performs an undo or redo, open comparison windows refresh automatically. Installing it means placing the plugin folder in IDA's plugins directory, or installing through IDA's HCLI package manager. It requires IDA Pro version 9.2 or later, running with its normal graphical interface rather than headless. The project is written in Python and is aimed at reverse engineers who work with IDA Pro's type system on a regular basis. It is released under the MIT license.

Copy-paste prompts

Prompt 1
Walk me through installing this IDA Pro plugin and opening my first struct comparison.
Prompt 2
Explain what the pink and green colors mean when comparing two structures in this plugin.
Prompt 3
Show me how the merge feature works and how to preview a merged C declaration before applying it.
Prompt 4
Describe how this plugin's architecture splits work between struct_compare_entry.py and struct_compare.py.

Frequently asked questions

What is struct-compare?

An IDA Pro plugin that shows two structure or union types side by side, aligned by field offset, so reverse engineers can compare and merge them.

What language is struct-compare written in?

Mainly Python. The stack also includes Python, IDA Pro.

What license does struct-compare use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is struct-compare to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is struct-compare for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.