summaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)Author
2025-12-10[Rust] Move architecture module code into more reasonable filesMason Reed
To keep backwards compatibility for commonly referenced code we re-export them within the architecture module. Also does some light refactoring of some newly added APIs to keep them more consistent with other parts of the codebase.
2025-12-09[Rust] Fix misc formattingMason Reed
2025-12-09[DWARF Import] Do not link functions without addresses to externsJosh Ferrell
2025-12-08Introduce an RAII type for managing bulk symbol modificationsMark Rowe
Fixes https://github.com/Vector35/binaryninja-api/issues/7666. Correctly managing the state of bulk symbol modifications via `BeginBulkModifySymbols` / `EndBulkModifySymbols` is error-prone in the face of exceptions and early returns. Leaking a bulk symbol modification can leave the view in a state where no further changes to symbols will be applied. All users of the C++ API are encouraged to move from `BeginBulkModifySymbols` / `EndBulkModifySymbols` to the new `BulkSymbolModification` class.
2025-12-05[Rust] Do not clean out-of-tree dependencies for incremental buildsMason Reed
We already do this for a number of plugins / crates, this commit goes over the rest to make sure that they all do this. We keep cleaning binaryninjacore-sys as we want to generate the core bindings immediately on changes to binaryninjacore.h
2025-12-05[Rust] Fix misc clippy lints and warningsMason Reed
These are introduced after changing to Rust 1.91.1
2025-12-05[Rust] Bump pinned version to 1.91.1Mason Reed
2025-12-01[ObjC] Support removing reference counting operations in more places in the ↵Mark Rowe
shared cache Dataflow is now used to determine call targets when detecting calls to reference counting runtime functions. The previous approach of matching on specific instructions missed some patterns that are common in the shared cache.
2025-12-01[WARP] Consult type library function objects when matched function has no ↵Mason Reed
explicit type Helps with windows functions where we had previously defined the signature
2025-12-01[RTTI] Add more error checking for malformed PE binariesMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7705 RTTI processing with malformed sections can still cause prolonged analysis, in extreme cases like the binary in the issue needing the user to stop the RTTI processing once it gets to the Itanium RTTI pass. More work to be done, I would like to solve this with some section heuristics using the sections/segments entropy.
2025-12-01[RTTI] Skip MSVC VFT sweep if we never collected any class information in ↵Mason Reed
the previous pass
2025-11-28[DWARF] Fix loading Fat Mach-O debug filesJosh Ferrell
2025-11-25[WARP] Stop propagating skipped file error when processing archivesMason Reed
Should have the same behavior as doing it on a directory
2025-11-25[WARP] Fix leaking binary view on empty viewsMason Reed
Can be triggered by trying to run the processor on a file with no functions. Found this while doing misc performance testing on windows.
2025-11-19[DWARF] Improve logging when loading fails, remove extra bv creationJosh Ferrell
2025-11-19[DWARF] Fix incorrect error messages for empty lexical blocksJosh Ferrell
2025-11-19Allow loading supplementary dwarf debug info from path in .gnu_debugaltlinkJosh Ferrell
2025-11-16[DWARF] Fix crash in dwarf export with detached NTR vtable data variableMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7646 Also cleaned up and added some more context to the `NamedTypeReference::target` function.
2025-11-16[WARP] Fix unused rerun matcher checkbox when loading file on diskMason Reed
2025-11-16[WARP] Fix container list not refreshing for dynamically added containersMason Reed
When running the command "WARP\\Load File" it will create a new container and add it to the global container list, we need to show this in the UI
2025-11-16[WARP] Explicitly create user signature directory on plugin initMason Reed
Fixes cases where the user signature directory for some reason has not been created, typically the directory will exist as the sigkit runner will also try and create the directory.
2025-11-13[DWARF] Prevent extra slashes in generated debuginfod urlsJosh Ferrell
2025-11-05[WARP] Bump parser version to 1.0.1Mason Reed
2025-11-05[WARP] Demote server disconnect failure to warningMason Reed
Its not critical, but I still want it to be visible when it fails
2025-11-04[WARP] Add number of matched functions to the ending log message for matchingMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7266
2025-11-04Update FilterEdit and FilterTarget to preserve existing selectionsMark Rowe
The down and enter keys now preserve an existing selection in the associated list or table views, rather than unconditionally selecting or activating the first item.
2025-11-04[WARP] Return existing source id when adding a file to a disk containerMason Reed
Removes the need to book keep on the caller side
2025-11-04[WARP] Use enterprise download provider when availableMason Reed
This allows connections to enterprise servers without requiring the default download provider to be switched in settings
2025-11-04[WARP] Update python example to fix adding a source to a "read-only" containerMason Reed
2025-11-04[WARP] Add example of batch processing using the headless Rust APIMason Reed
2025-10-23Support bitfields in type systemMason Reed
Also adds support for parsing bitfields in PDB, DWARF and SVD plugins WIP: API needs to be considered more, also need to find type related apis that may need to be rethought.
2025-10-22Add more plugins to freeMason Reed
Adds WARP, DWARF Import and Objective-C plugins to free
2025-10-22[WARP] Use download provider API instead of reqwestMason Reed
Unfortunately we cannot use reqwest because enterprise servers provide invalid certificates, so we must use the enterprise download provider to bypass certain certificate validations
2025-10-22[Rust] Refactor download provider module to allow for custom implementationsMason Reed
2025-10-20[DWARF] Greatly improve handling of typedefsJosh Ferrell
2025-10-18[DWARF] Support parsing struct member offsets from DW_AT_data_bit_offset, ↵Josh Ferrell
fix struct members being put at wrong offset when location fails to be parsed
2025-10-17Fix leaking a BinaryView when loading a sibling DWARF fileJosh Ferrell
2025-10-16Fix recovery of unnamed function parameters from DWARFJosh Ferrell
2025-10-16Apply relocations when parsing DWARFJosh Ferrell
2025-10-16Improve error messages in dwarf_importJosh Ferrell
2025-10-12[WARP] Fix misc sidebar navigation / focus event bugsMason Reed
- Fixed crash related to pending fetch callback for deleted view frame - Fixed focus not being kept for tables in the sidebar, as well as focus in general - Made matched function list navigation require a double click, to fix accidental navigation to other functions
2025-10-12[WARP] Improve UX surrounding removal of matched functionsMason Reed
- Adds Python API to remove matched function - Adds command + UI actions to remove matched function - Adds command + UI actions to ignore function in subsequent matches
2025-10-12Replace calls to unwrap() in dwarf_importJosh Ferrell
2025-10-11Fix demo ifdefsJosh Ferrell
2025-10-07[WARP] Add optional `analysis.warp.fetcher` activity to run fetch networked ↵Mason Reed
functions as apart of initial analysis This is off by default for the obvious reasons, we may also in the future want to expand upon this with a "matched view" such that the first step a user can take after loading is to validate what functions were matched and decide if they want to keep any of that data. This fetch happens as apart of the initial analysis, such that a headless script will not return from the load function until it has finished fetching. We may want to add a configurable timeout, and/or run the fetch out of band (let load return before fetching finishes).
2025-10-07[WARP] Misc `cloned()` -> `copied()` fixupMason Reed
2025-10-07[WARP] Format UI pluginMason Reed
2025-10-07[WARP] Improved fetch dialog UXMason Reed
- Respects views fetch batch size and allowed tags - Saves and loads from the view settings instead of qt settings
2025-10-07[WARP] Move WARP settings to own setting groupMason Reed
This then allows us to group the settings into more understandable subgroups such as fetcher & matcher
2025-10-07[WARP] Implicitly make newly added network sources writableMason Reed
This fixes an issue where the commit dialog would not fill in the newly added network source