summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-12-08[AArch64] Update system registers based on ARM's 2025-09 dataMark Rowe
This change consists of two parts: 1. Updating the system register enumeration and names based on the latest data from ARM. 2. Removing register names that conflict with the official names from ARM. The conflicting register names came a data set of Apple-specific system register names. These would ideally not be baked into the AArch64 disassembler at all, but would be added by Binary Ninja's Apple platform. The exact mechanism for doing that is still TBD. Fixes https://github.com/Vector35/binaryninja-api/issues/7664.
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-07Fix docs example rendering for PluginCommandContextJosh Ferrell
2025-12-05add examples for execute_ APIsJordan Wiens
2025-12-05[Rust] Bump rust toolchain version for CIMason Reed
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-05Do not register the dbg object from the APIXusheng
2025-12-04[DSC] Fix unhandled exception when opening secondary cache file with ↵Mason Reed
unbacked regions Fixes https://github.com/Vector35/binaryninja-api/issues/7724
2025-12-04Pass arch to finalized LowLevelILFunction (#7729)Truman Kilen
Co-authored-by: Mason Reed <mason@vector35.com>
2025-12-02Remove section semantics workarounds from ABB, use BinaryView interface ↵Brian Potchik
directly for better performance in presence of many sections.
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-01rust doc generation scriptJordan Wiens
2025-12-01[Python] Add `BinaryView.is_offset_backed_by_file`Mason Reed
Seems we forgot to expose this one
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-29Update debug info user docsJosh Ferrell
2025-11-29Update .gitignoreJosh Ferrell
2025-11-28[DWARF] Fix loading Fat Mach-O debug filesJosh Ferrell
2025-11-26[DSC] Place synthetic sections after the cache's address rangeMark Rowe
This ensures they do not overlap with any images that may later be loaded from the shared cache.
2025-11-26[KernelCache] Place synthetic sections after the cache's address rangeMark Rowe
This ensures they do not overlap with any images that may later be loaded from the kernel cache. Fixes https://github.com/Vector35/binaryninja-api/issues/7634.
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-25Update to Qt 6.10.1Rusty Wagner
2025-11-25Fix rust documentation warnings.Brian Potchik
2025-11-25Add SectionMap with bulk operations and batch section APIs.Brian Potchik
2025-11-24Add APIs for getting files in a project folderJosh Ferrell
2025-11-24[Rust] Fix misc broken doc linksMason Reed
2025-11-24Add AnalysisContext FFI for SectionMap queries.Brian Potchik
2025-11-24Keep quick setting display names in sync with Settings titles.Brian Potchik
2025-11-23Add IsOffsetReadOnlySemantics API.Brian Potchik
2025-11-23[Rust] Clarify and expand on the current set of queryable offset propertiesMason Reed
Now that we have more duplicate API's we need to clarify and cross link between them to help alleviate the confusion for readers.
2025-11-23[Rust] Fix misc formattingMason Reed
2025-11-23Unify SettingsCache and MemoryMap access under immutable snapshots for ↵Brian Potchik
consistent, lock-free AnalysisContext queries.
2025-11-21Add get and __contains__ methods to all *MetaClassPeter LaFosse
Fixes: https://github.com/Vector35/binaryninja-api/issues/7588
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-19Fix generated type hints for function params in _binaryninjacore.pyJosh Ferrell
2025-11-19Fix BinaryView.set_manual_type_source_overrideJosh Ferrell
2025-11-19Improve python api type hintsJosh Ferrell
2025-11-19Fix some python API error messagesJosh Ferrell
2025-11-19Add more type hints to lineardisassembly.pyJosh Ferrell
2025-11-19Fix DisassemblyTextLine reprJosh Ferrell
2025-11-19Allow loading supplementary dwarf debug info from path in .gnu_debugaltlinkJosh Ferrell
2025-11-18Override QDialog methods in OptionsDialogJosh Ferrell
2025-11-17Fix some compiler warningsRusty Wagner
2025-11-17Add functions_by_name to rust implementation of BinaryViewExtJames Johnson
Python has the get_functions_by_name method on binary views that is useful for finding a function by name. This adds that same method to the rust implementation for binary views. The implementation is essentially the same as the python version apart from the ordering of the symbols. Python will order functions defined in the binary before functions defined outside of the binary. The rust implementation of `symbols_by_name` does not take an ordering for the symbols so that is currently left out here.
2025-11-17Fix calculation of mask for constant valuesJames Johnson
This fixes an error when a constant is being loaded into a flag. The constants associated with a flag value have their size set to zero. That causes the mask for the constant value to be all zeros. Due to that, getting the value of a zero sized constant will always return 0 even if it should be 1. This commit special cases the size of zero to create a mask of 1 which will correctly mask off the lowest byte and return that as the constant.