summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-08-15add note to show_message_box API about escapingJordan Wiens
2025-08-14[Mac] Consistently specify rpaths for plug-insMark Rowe
C++ plug-ins now consistently use the `plugin_rpath` or `ui_plugin_rpath` macros to ensure they have `SKIP_BUILD_RPATH` set when building on Mac (i.e., no `LC_RPATH` is added). Rust plug-ins have their build.rs updated to only specify `-Wl,-rpath` when building for Linux. It is not needed on macOS. On macOS we instead explicitly specify an `@rpath`-relative install name. This doesn't change any behavior, but avoids leaving an absolute path as the library's install name and is consistent with CMake's behavior for C++ plug-ins.
2025-08-14Add "highlight returns" render layer exampleGlenn Smith
2025-08-14[thumb2] silence parentheses-equality warnings when compiling generated ↵Galen Williamson
thumb2 disassembler
2025-08-14[armv7] add explicit signedness to conversions for scalar forms of VCVTGalen Williamson
2025-08-14[thumb2] improved disassembly and lifting of VCVT instruction for scalar ↵Galen Williamson
floating-point/integer cases
2025-08-14Corrected python docstring for LowLevelILFunction.float_convertGalen Williamson
[thumb2] removed redundant format suffixes from disassembly of VFP instruction [thumb2] Corrected lifting of VCVT instruction
2025-08-14[armv7] Add lifting for VCVT floating-point scalar variantsGalen Williamson
2025-08-14[thumb2] Updated thumb2 disassembler generator to use Tatsu-generated parser ↵Galen Williamson
instead of deprecated Grako
2025-08-14[armv7/thumb2] Fix Lifting for PC-relative vldr instruction does not align ↵Galen Williamson
PC when calculating address #6947 Updated thumb2 pcode parser used by disassembler generator to use Tatsu instead of deprecated Grako
2025-08-14Bump CURRENT_CORE_ABI_VERSION for GetFilePathInProjectAlexander Khosrowshahi
2025-08-14Expose GetFilePathInProject API for context menuAlexander Khosrowshahi
2025-08-14ELFView performance fix: avoid calling GetSectionsAt in the innerloopPeter LaFosse
When the section list gets large GetSectionsAt becomes quite slow instead the the whole list of sections outside the loop and just encour that hit once. It could probably be made even faster if we used an interval tree but then we have to pay the cost of building the tree which may be more nauanced
2025-08-14Ensure ELFView only add segments in a Begin/EndBulkAddSegments contextPeter LaFosse
2025-08-13[DSC] Add support for DriverKit shared cachesMark Rowe
2025-08-13[WARP] Use type-safe activity configurationMark Rowe
2025-08-13[SVD] Use type-safe activity configurationMark Rowe
2025-08-13[Rust] Add builder API for creating workflowsMark Rowe
`Workflow::new` is replaced by `Workflow::build` that returns a `Builder` type that supports the operations that mutate a workflow, such as registering activities. `Workflow::instance` is replaced by `Workflow::get` to make clear that it is intended to look up an existing workflow. `Workflow::cloned` is introduced to wrap the common pattern of retrieving an existing workflow and cloning it with the same name in order to modify it. `Builder::activity_before` / `Builder::activity_after` are introduced to wrap the common pattern of registering an activity then inserting it before or after a given activity.
2025-08-13[Rust] Add a type-safe builder API for Activity configurationMark Rowe
This makes it possible to see what structure the configuration takes and eliminates errors due to typos in JSON string literals.
2025-08-13[Rust] Fix warnings about names that are not snake caseMark Rowe
The names can simply be omitted since they are only mentioned in the declaration of a function pointer.
2025-08-13make type library questions headersJordan Wiens
2025-08-13Fix round and single-operand uses of COMBINE in Pseudo-CGalen Williamson
2025-08-12Docs: fix example descriptionsGlenn Smith
2025-08-12Docs: use new log apiGlenn Smith
2025-08-12Docs: reorder to have python first in multi-lang sectionsGlenn Smith
2025-08-12Docs: Note about AnalysisContext vs FunctionGlenn Smith
2025-08-08Update remaining projects to C++20Mark Rowe
2025-08-07Fix clean builds when CMake is using Unix MakefilesMark Rowe
The `$<TARGET_FILE:binaryninjaapi>` syntax does not do what is intended for Unix Makefiles. In practice there's no reason for this custom command to depend on the `binaryninjaapi` target. The Rust API uses core's C APIs directly rather than via the C++ API, and it already depends on binaryninjacore.h via `RUST_API_SOURCES`. Since it's running `cargo check` and not doing a full compilation this header-only dependency is sufficient.
2025-08-08[WARP] Move symbol and comment application to when matched functions are ↵Mason Reed
inserted Instead of applying symbols and comments in the applier step, we will do it when the matched function is identified. This has the side effect that if you turn off the apply activity names and comments will still be applied, more work to be done later.
2025-08-06[Rust] Take download callbacks by reference to avoid boxingMason Reed
2025-08-05[ELF] Fix a memory leak when parsing .gnu_debugdataMark Rowe
2025-08-05Avoid leaking Relocation instancesMark Rowe
`BNRelocationHandlerDefaultApplyRelocation` / `BNRelocationHandlerApplyRelocation` / `BNRelocationHandlerGetOperandForExternalRelocation` do not take ownership of the reference that is passed to them. Instead they take their own reference to the object. As a result, `Relocation` objects passed into `RelocationHandler::ApplyRelocation` / `CoreRelocationHandler::ApplyRelocation` / `CoreRelocationHandler::GetOperandForExternalRelocation` were being leaked.
2025-08-05[ARM64] Fix lifting of mrs xzr, ... to not reference the xzr registerMark Rowe
ARM64 lifting replaces references to the zero register with constant zeroes. The zero register is not intended to appear in any lifted IL. In the case of the `mrs` instruction, the destination being a zero register means the system register is accessed only for a side-effect, and is not stored anywhere. The lifting is updated to specify no output registers for the intrinsic in that case.
2025-08-03Fix undefined `log_error` in downloadprovider.pyMason Reed
Was causing nightly tests to fail only on windows however which is strange
2025-08-03[Rust] Misc formattingMason Reed
2025-08-01Make the IL iterators real iterators for std::find_ifGlenn Smith
2025-08-01Update IL modification docsGlenn Smith
2025-08-01Support MLIL expr mappings in C++Glenn Smith
2025-08-01Add unflatten workflow example C++ portGlenn Smith
2025-08-01Add log functions for logging the current stack trace without an active ↵Rusty Wagner
exception
2025-08-01Use log_error_for_exception in the Python API to pass tracebacks in the ↵Rusty Wagner
stack trace associated with log messages, instead of creating large mutli-line messages for every exception
2025-08-01Add log_for_exception family of APIs to the Python APIRusty Wagner
2025-08-01Add log message dialog for showing stack tracesRusty Wagner
2025-08-01Add LogForException APIs to pass stack trace information separate from the ↵Rusty Wagner
message
2025-07-31improve focusing in type browserJordan Wiens
2025-07-31fix a recursion bug in the tabsyncingJordan Wiens
2025-07-31add focusandselectfilter for filtereditJordan Wiens
2025-07-31support for multi-language code block tab syncingJordan Wiens
2025-07-31correct fix for s and i hotkeys in type browserJordan Wiens
2025-07-31fix initial focus in type browserJordan Wiens