objdiff-core 3.7.3

A local diffing tool for decompilation projects.
Documentation
syntax = "proto3";

import "report.proto";

package objdiff.report;

// A pair of reports to compare and generate changes
message ChangesInput {
  // The previous report
  Report from = 1;
  // The current report
  Report to = 2;
}

// Changes between two reports
message Changes {
  // The progress info for the previous report
  Measures from = 1;
  // The progress info for the current report
  Measures to = 2;
  // Units that changed
  repeated ChangeUnit units = 3;
}

// A changed unit
message ChangeUnit {
  // The name of the unit
  string name = 1;
  // The previous progress info (omitted if new)
  optional Measures from = 2;
  // The current progress info (omitted if removed)
  optional Measures to = 3;
  // Sections that changed
  repeated ChangeItem sections = 4;
  // Functions that changed
  repeated ChangeItem functions = 5;
  // Extra metadata for this unit
  optional ReportUnitMetadata metadata = 6;
}

// A changed section or function
message ChangeItem {
  // The name of the item
  string name = 1;
  // The previous progress info (omitted if new)
  optional ChangeItemInfo from = 2;
  // The current progress info (omitted if removed)
  optional ChangeItemInfo to = 3;
  // Extra metadata for this item
  optional ReportItemMetadata metadata = 4;
}

// Progress info for a section or function
message ChangeItemInfo {
  // The overall match percent for this item
  float fuzzy_match_percent = 1;
  // The size of the item in bytes
  uint64 size = 2;
}