summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-07-15If type references exceed the xref item limit, other references may be less ↵Rusty Wagner
than the item limit but still not a complete list. Add the + indicator on the other categories if this condition is detected.
2025-07-15Add the ability to limit the number of results in the cross reference APIsRusty Wagner
2025-07-15Add API to get all type references at the same time to avoid duplicating workRusty Wagner
2025-07-15Added search placeholder for DSCView and KCView.Hongyu Chen
2025-07-15[WARP] Misc improvementsMason Reed
- Fix project file filter not blacklisting warp files - Fix project name not being used for default file save name - Prevent adding the same file to the available sources
2025-07-15[WARP] Fallback to using segment information for relocatable rangesMason Reed
This previously was not allowed as the information would sometimes include a zero based segment, however this is still preferable in the case of firmware, where sections will not be available by default. This improves the usability of WARP with firmware by removing the requirement of filling section information prior to function analysis.
2025-07-15[WARP] Add network containerMason Reed
This is going to be disabled by default on this upcoming stable, however users may enable it once we deploy the public server. The data from the server is done through `Container::fetch_functions` independent of the nonblocking function lookup functions. The sidebar has been updated to drive fetching so that when users navigate to a new function the fetcher will kick off. This fetcher operates on a separate thread, in the event of a user navigating to many functions before the current fetch has completed they all will be batched together in a single fetch. Networked container currently is limited to just function prototypes, other type information separate from the function object will be omitted.
2025-07-15[Rust] Update some testsMason Reed
2025-07-15Expose analysis' system call type and name retrievalMason Reed
Previously we only really had a way to access the platform system call information, this was missing the system call information found in type libraries Fixes https://github.com/Vector35/binaryninja-api/issues/7089
2025-07-15[Rust] Add `BinaryView::search` and friendsMason Reed
2025-07-15[WARP] Add more options to creating signatures in projectsMason Reed
2025-07-15[WARP] Add example of creating signatures headlessly in pythonMason Reed
2025-07-15[Rust] Misc formattingMason Reed
2025-07-15[KernelCache] Fix misc warningsMason Reed
2025-07-15[WARP] Add `IsInstructionComputedVariant` APIMason Reed
Was previously not exposed, we want it for unit tests.
2025-07-15[WARP] Filter out LLIL_JUMP artifacts in lifted ILMason Reed
With the new instruction retrieval we are getting the instructions at the end of the lifted function which are not really apart of the function, but they share the address of the last ret/jump.
2025-07-15Fix project handle not being checked for when listing valid pluginsMason Reed
This caused project commands to throw when there valid callback was called outside the context of a project
2025-07-15Fix shared cache cmake artifact in kernel cacheMason Reed
2025-07-15Move LLIL instruction retrieval into the LLIL function where it belongsMason Reed
The python API was kept the same seeing as we are close to the release, will likely start deprecating some of those API's soon.
2025-07-15add binexport to open source docsJordan Wiens
update plugin documentation now that binexport is shipped add binexport documentation
2025-07-14Reserve vector capacity when populating vectors in conversion operatorsMark Rowe
2025-07-14Disable outlining in .gnu_debugdata to prevent incorrect symbol definitions.Brian Potchik
2025-07-14Change return type of parse_types_from_string to BasicTypeParserResultAlexander Khosrowshahi
2025-07-14Remove pluginManager.communityUpdateChannel setting in favor of ↵Josh Ferrell
pluginManager.debug
2025-07-14Revert "Update Objective-C Workflow to use the meta workflow."Brian Potchik
This reverts commit 5bafe5c7bdb0b56037a0b5c573236f9c6367353a.
2025-07-14Update Objective-C Workflow to use the meta workflow.Brian Potchik
2025-07-14[Mach-O] Handling for special library ordinals used in binding informationkat
2025-07-13[ObjC] Handle LLIL_TAILCALL instructions when ↵Mark Rowe
analysis.objectiveC.resolveDynamicDispatch is enabled
2025-07-13[ObjC] Use NamedTypeReference to refer to id / SEL / BOOLMark Rowe
Rather than introducing duplicate definitions of these types, use a NamedTypeReference that will be resolved to the type from the libobjc type library when it is loaded. This prevents these types from showing up as id_1 / SEL_1 in some places rather than as their expected names.
2025-07-13[ObjC] Handle tail calls to objc_msgSend when applying call type adjustmentsMark Rowe
2025-07-13[ObjC] Fix an off-by-one error that would skip inlining of the first ↵Mark Rowe
objc_msgSend stub
2025-07-13[ObjC] Use the appropriate integer size for entries in __objc_ivarMark Rowe
The `__objc_ivar` section contains [values of type `long` for all architectures except arm64, where it contains `int`][1]. This fixes problems with resolving non-fragile ivar accesses to struct field accesses on arm64 and 32-bit architectures. [1]: https://github.com/llvm/llvm-project/blob/535d6917ec3308ade866f205644b740666312342/clang/lib/CodeGen/CGObjCMac.cpp#L5628-L5629
2025-07-12Allow constructing MLILFunction with null LLILFunction/FunctionGlenn Smith
2025-07-12Handle setting -DBN_INSTALL_DIR to the app bundle on macosGlenn Smith
2025-07-12Add support for Assemble/Compile behavior for new Mapped views.Brian Potchik
2025-07-12Fix potential crash in FeatureMap during memory map changes.Brian Potchik
2025-07-12Fix GetDataOffsetForAddress API to properly work for mapped load regions only.Brian Potchik
2025-07-12enhances expandable group to support expandable content and notJordan Wiens
2025-07-12update docs for backtick and python console, resolves #6816Jordan Wiens
2025-07-12Enhance MemoryRegionDialog with comprehensive region type support.Brian Potchik
2025-07-12Add support for unbacked memory regions directly in the memory map.Brian Potchik
2025-07-11Fix UpdateInfoFetcher lifetime issuesMark Rowe
`UpdateInfoFetcher` performs fetches asynchronously and needs to ensure it remains alive for the duration of the fetch. The fetch may not complete before its creator is destroyed, so `UpdateInfoFetcher` needs to control its own lifetime via `std::enable_shared_from_this`.
2025-07-10UI improvements for managing Guided Analysis mode.Brian Potchik
2025-07-10[DSC] Performance improvements and clean-up in SymbolTableViewMark Rowe
Avoid copying the vector of symbols where possible. When no filter string is applied we no longer copy the entire vector symbols by having the symbols used for display be indirected via a pointer. It points either to the unfiltered symbols or the filtered symbols. Some unncessary copies have been removed by using `std::move` where appropriate. Filtering has been updated to avoid `std::vector::reserve` / `std::vector::shrink_to_fit` in favor of letting the filtered vector control its own growth and reuse its buffer. This avoids allocating a ~100MB buffer every time we update the filter only to later reallocate and move the contents into a smaller buffer. Instead the buffer grows via `std::vector`'s usual growth algorithm and it is preserved across filter calls to avoid unnecessarily reallocating it, and only shrink the buffer if it has shrunk significantly vs previous iterations.
2025-07-10[DSC] Use BNAllocStringWithLength when copying strings for the APIMark Rowe
We're copying `std::string` objects that know their length. There's no reason to force a call to `strlen`.
2025-07-10[DSC] Fix GetRegionAt / optimize GetRegionContainingMark Rowe
`GetRegionAt` was really providing the semantics of `GetRegionContaining` due to `m_regions` being an `AddressRangeMap` and using transparent comparators to allow `find` to work with any address in the range. `GetRegionAt` is updated to verify that the start address of the region that was found matches the requested address. `GetRegionContaining` is updated to use `AddressRangeMap::find` rather than doing a linear search over all regions.
2025-07-10Fix the Triage Summary view's exports list to only update when visibleMark Rowe
The `ExportsTreeView` now asks the model to pause / resume updates when its visibility changes. When paused, all notifications from the view are ignored. When resumed, notifications set a flag to indicate that an update is needed and resume the update timer if it is not already active. The timer is stopped after an update is processed. There's some extra complexity here to avoid emitting a signal for every `BinaryView` notification that is processed. These notifications are typically generated on background threads. The overhead of emitting a signal and it being routed to the main thread adds up given the number of notifications involved when loading a large binary.
2025-07-10Fix building rapidjson with clang on windowsJosh Ferrell
2025-07-10Improve DWARF local variable recoveryJosh Ferrell
2025-07-09reimplement llil validation for caller_sites and implement plural IL forms ↵Jordan Wiens
on references