Recent Commits to bindiff:main

  • 18/09/2026 9:04

    Debian package: Stop stripping RPATH, handled by CMake already

    Debian package: Stop stripping RPATH, handled by CMake already
    
    Remove the chrpath invocation that deletes RPATH/RUNPATH from binaries and plugin shared libraries during Debian package creation.
    
    We already set `SKIP_BUILD_RPATH` in `CompileOptions.cmake` (via BinExporT).
    
    PiperOrigin-RevId: 983800205
    Change-Id: Ida4ee4decac98660f0d73228740297493afa0309
  • 16/09/2026 9:34

    No public description

    No public description
    
    PiperOrigin-RevId: 982456760
    Change-Id: I0b4208dea34368fd98f6b3f086dd25230285cb27
  • 09/09/2026 10:46

    CLI: Cleanup headers

    CLI: Cleanup headers
    
    PiperOrigin-RevId: 978516711
    Change-Id: I2b01a4a7e3bebe197d6ab18a42ad7e15fb7697d8
  • 09/09/2026 5:53

    Unit tests for core matching algorithms and writers

    Unit tests for core matching algorithms and writers
    
    Add unit test suites covering
    - all 14 basic block matching algorithms,
    - all 14 function matching algorithms,
    - GroundtruthWriter, GetMatchColor,
    - and config loading/merging
    
    Also fixes `FindCallReferenceFixedPoints` wrongly returning `false` when new fixed points are discovered. This has been the case for at least 15y (!).
    
    PiperOrigin-RevId: 978398954
    Change-Id: I8e6c21b3fc463a4ab29755a1a85517237030903d
  • 08/09/2026 14:39

    IDA plugin: Fix SIGSEGV in CallGraph::IsLibrary when viewing flow graphs

    IDA plugin: Fix SIGSEGV in CallGraph::IsLibrary when viewing flow graphs
    
    When diff results are loaded from disk (is_incomplete() == true),
    Results::PrepareVisualDiff was experiencing a segmentation fault:
    1. primary and secondary std::unique_ptr<FlowGraph> were declared inside
       the if (is_incomplete()) block, causing them to be destroyed prior
       to database writing. Their destructor detached them from the call
       graph and set call_graph_ to null.
    2. database_writer->Write was passed member variables flow_graphs1_,
       flow_graphs2_, and fixed_points_ instead of the local variables
       containing only the selected function pair.
    
    Extend the lifetime of primary and secondary across PrepareVisualDiff
    and pass the local flow_graphs1, flow_graphs2, and fixed_points to
    database_writer->Write.
    
    PiperOrigin-RevId: 977992480
    Change-Id: I35d4867cb6c76b30a3d9e94ec89ae6a9d2056821
  • 18/08/2026 14:06

    Java Gradle build: Modernize build scripts, update deps and address d…

    Java Gradle build: Modernize build scripts, update deps and address deprecations
    
    Update build scripts in preparation for Gradle 9:
    - Use Task Configuration Avoidance API (`tasks.register` and `configureEach`)
    - Replace deprecated `mainClassName` property with `application.mainClass`
    - Use explicit property assignment for repository URLs
    - Update dependencies to later versions
    
    PiperOrigin-RevId: 966659125
    Change-Id: Ic2bad8c9c231bfe79c5fd3f16205920edb8db48c
  • 18/08/2026 10:41

    No public description

    No public description
    
    PiperOrigin-RevId: 966563085
    Change-Id: Ie56cc2ad151af72c8477abd9ccf159d7df7c0b59
  • 18/08/2026 6:22

    Update copyright years in user-visible strings to 2026

    Update copyright years in user-visible strings to 2026
    
    PiperOrigin-RevId: 966465443
    Change-Id: If72e585218be88d79044e255cb852e7de2c01390
  • 13/08/2026 12:11

    Refactor codebase to use `absl::Status` for error handling

    Refactor codebase to use `absl::Status` for error handling
    
    - Remove the `StatementOrThrow` and `ExecuteOrThrow` methods from the SQLite wrapper
    - Replace exception-based error handling with `absl::Status` and `absl::StatusOr`
    - Replace try-catch blocks with `ABSL_RETURN_IF_ERROR` and `ABSL_ASSIGN_OR_RETURN` macros across the database writer, reader, and IDA plugin code. Additionally, introduce a `ShowWarningAndReturn` helper to handle UI warnings on failure
    
    We will probably need more refactorings to separate how/when we show UI messages
    and when/what we will log.
    
    PiperOrigin-RevId: 964092040
    Change-Id: I5037e8fc64b354b134ffce881585a887337ec784
  • 13/08/2026 7:29

    Update JFreeChart dependents to 1.5.6

    Update JFreeChart dependents to 1.5.6
    
    PiperOrigin-RevId: 963980831
    Change-Id: If6451568a16f58f7d028996107b8d8d302e6d33f
  • 05/08/2026 4:56

    IDA Pro plugin: Remove 32-bit vs 64-bit IDA warning when diffing

    IDA Pro plugin: Remove 32-bit vs 64-bit IDA warning when diffing
    
    This is no longer relevent, as we are now building 64-bit address aware versions only.
    
    PiperOrigin-RevId: 959486926
    Change-Id: I1d98099c9ac6864e91ee0b53c785c63087ed1f0d
  • 04/08/2026 10:39

    Refactor `FlowGraph` and `CallGraph` creation to use factory methods

    Refactor `FlowGraph` and `CallGraph` creation to use factory methods
    
    - Replace the constructors of `FlowGraph` with static factory methods (`Create` and `FromProto`) that return `absl::StatusOr`
    - Update `CallGraph::AttachFlowGraph` and `DetachFlowGraph` to return `absl::Status` instead of throwing exceptions. Update call sites and tests to handle the new status-returning APIs.
    - Same exercise for the IDA Pro plugin's `SetupTemporaryFlowGraphs()`
    
    PiperOrigin-RevId: 958989365
    Change-Id: Ic720e6452f20dcdd074abe26f5238dfe6ee5fe2a
  • 04/08/2026 8:56

    Automated Code Change

    Automated Code Change
    
    PiperOrigin-RevId: 958953771
    Change-Id: Ib9e8c2786d29ed92b08089a06c49a3893150c75f
  • 04/08/2026 6:40

    #Cleanup headers, modernize to C++20

    #Cleanup headers, modernize to C++20
    
    Cleanups in the BinDiff codebase:
    - Include what you use
    - Replaces `ABSL_CONST_INIT` with standard C++20 `constinit`.
    - C++20 defaulted `operator==()`
    - Removes deprecated GetName() and GetConfidence() methods in MatchFlowGraph, updating callers to use name() and confidence().
    - Cleans up unused and missing header includes in BUILD, main_portable.cc, and match/flow_graph.h.
    - Mark throwing methods in SQLite support code as deprecated
    
    PiperOrigin-RevId: 958902120
    Change-Id: I66db8e4e463da7c54d608037c3ba0777011a3eaa
  • 31/07/2026 10:26

    Automated Code Change

    Automated Code Change
    
    PiperOrigin-RevId: 957104966
    Change-Id: Ice192ec0e8c740588493ac8fbe3bf3b1edd3f6ce
  • 30/07/2026 10:38

    Expose `SetupGraphsFromProto` in `differ.h`

    Expose `SetupGraphsFromProto` in `differ.h`
    
    This change exposes `SetupGraphsFromProto` in the public BinDiff interface, allowing clients to load BinExport protos directly in memory.
    
    PiperOrigin-RevId: 956489672
    Change-Id: Iab14193a0dc4f525d6de79e82bbc7841d287368c
  • 30/07/2026 5:53

    Automated Code Change

    Automated Code Change
    
    PiperOrigin-RevId: 956366898
    Change-Id: Ie2cbe0dc6ca1279aaa4d5d9adab9f85151cc969c
  • 27/07/2026 6:00

    GitHub Actions: Fix incorrect indentation in YAML file

    GitHub Actions: Fix incorrect indentation in YAML file
    
    PiperOrigin-RevId: 954491951
    Change-Id: Ic61aaf8e2a95d43d656138ef514e55c2cba06858
  • 24/07/2026 11:28

    Clean up IDA SDK compatibility code and require IDA 9.0+.

    Clean up IDA SDK compatibility code and require IDA 9.0+.
    
    - Removes support for IDA SDK versions older than 9.0
    - Update plugin structures to use C++20 designated initializers
    - Clean up header includes
    
    PiperOrigin-RevId: 953356721
    Change-Id: I5259a0eb0eadd0338a727c445a6c82750c1b0742
  • 23/07/2026 9:11

    BinDiff/BinExport: Replace custom status macros with Abseil's

    BinDiff/BinExport: Replace custom status macros with Abseil's
    
    - Migrates the codebase from the custom status macros (`NA_RETURN_IF_ERROR`, `NA_ASSIGN_OR_RETURN`, `NA_ASSERT_OK_AND_ASSIGN`) to the standard Abseil equivalents (`ABSL_RETURN_IF_ERROR`, `ABSL_ASSIGN_OR_RETURN`, `ABSL_ASSERT_OK_AND_ASSIGN`)
    
    As part of this migration:
    - Deleted `status_macros.h` and `status_macros_test.cc`
    - Updated Build files to depend on `absl::status_macros`
    
    PiperOrigin-RevId: 952694707
    Change-Id: I8f2bf3ded24cbbb65df7f2500c57f67c7b693a35
  • 23/07/2026 4:21

    BinDiff/BinExport: Update build configuration and dependencies

    BinDiff/BinExport: Update build configuration and dependencies
    
    Update various build settings, dependencies, and scripts for both projects:
    - Update CMake to version 4.4.0 and uses the default Xcode path in macOS build scripts
    - Update Googletest and Benchmark dependencies to newer revisions.
    - Force MSVC default runtime library behavior
    - Restrict Binary Ninja plugin compilation on unsupported platforms.
    - Fixe the BinDiff install target name casing and adjust IDA plugin compile definitions
    
    PiperOrigin-RevId: 952570437
    Change-Id: I3a1368c8d764b42d8fd288ab1dc08f2a22dee9ae
  • 22/07/2026 6:28

    BinDiff: Update build system for IDA Pro 9.4+ and modernize CI.

    BinDiff: Update build system for IDA Pro 9.4+ and modernize CI.
    
    - Update the IDA Pro plugin targets to support IDA 9.4 and newer, which unifies the plugin binaries and removes the legacy _ida64 suffix from build and packaging configurations
    - Modernize CMake configurations, replacing custom ida_* wrappers with standard CMake commands
    - Update the embedded SQLite dependency to version 3.53.0
    - Update GitHub Actions workflows to use newer runner OS versions (including ARM support) and newer action versions
    - Configure multi-architecture macOS builds
    
    PiperOrigin-RevId: 951980730
    Change-Id: I270baddc3926bd11542cd418a80c28a7cfbc65f6
  • 21/07/2026 10:11

    No public description

    No public description
    
    PiperOrigin-RevId: 951446592
    Change-Id: Ic24f737250acd9d48173b245176692c566b51720
  • 21/07/2026 7:40

    Automated Code Change

    Automated Code Change
    
    PiperOrigin-RevId: 951386002
    Change-Id: I77ce3859a69a04a487d943e5885501ab4a0d4bc2
  • 21/07/2026 6:39

    Automated Code Change

    Automated Code Change
    
    PiperOrigin-RevId: 951358540
    Change-Id: I890860a0689c78d460e4205775b98ec51d8296cd
  • 07/05/2026 5:02

    macOS Kokoro build script: Update to CMake 4.3.2

    macOS Kokoro build script: Update to CMake 4.3.2
    
    PiperOrigin-RevId: 911800900
    Change-Id: I692aea67b78c135d9a0aee7a4339e59806a3cbb1
  • 10/11/2025 7:38

    Automated Code Change

    Automated Code Change
    
    PiperOrigin-RevId: 830348037
    Change-Id: Ia419da1c9e0f4d708d50bdbbfb190d72d932c170

Log in