summaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)Author
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-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-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-13[ObjC] Handle LLIL_TAILCALL instructions when ↵Mark Rowe
analysis.objectiveC.resolveDynamicDispatch is enabled
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-10Improve DWARF local variable recoveryJosh Ferrell
2025-07-09Improve DWARF local variable offset calculationJosh Ferrell
2025-07-08[RTTI] Fix leak of BackgroundTaskMark Rowe
2025-07-06[WARP] Fix tag type creation marking the view as modifiedMason Reed
2025-07-06[WARP] Recover register variables and re-add tags to matched functionsMason Reed
2025-07-04[WARP] Fix possible skipped instructions when multiple IL expressions are ↵Mason Reed
appended for a given instruction
2025-07-04[RTTI] Fix vtables straddling section boundaries causing a OOB exceptionMason Reed
This fixes an issue with certain shared cache binaries where a VFT was placed at the tail of the const data section
2025-07-04[WARP] Remove warning about missing sections for Raw viewMason Reed
2025-07-03Temporarily disable tags for WARP functions tag types are not thread safeMason Reed
Another set of bugs caused by undo and main thread actions, when will it end
2025-07-02[WARP] Fix rpath for warp UI on linuxMason Reed
Was not able to find the core plugin in the plugins directory
2025-07-02[WARP] Make plugin commands more discoverableMason Reed
Removing the nesting because we now scope view plugin commands out of the context menu
2025-07-02[WARP] Fix headless builds depending on binaryninjauiMason Reed
2025-07-02Fix Objective-C dynamic dispatch setting.Brian Potchik
2025-07-02WARP 1.0Mason Reed
- Added FFI - Added a sidebar to the UI - Added project, directory and archive processing - Added generic `Container` interface for extensible stores of WARP data - Fixed type references being constructed and pulled incorrectly - Added HTML, Markdown and JSON report generation - Made the WARP information added as an analysis activity - Flattened the signatures directory, the target information is stored in the file now - Matched function information is stored as function metadata in the database to reliably persist, alongside the function GUID - Split the matching out from the application, allowing you to match on a given function without applying it - Added more/better tests - Added support for binaries with multiple architectures, the functions are now also queried based off the Target, see WARP spec for more details - Greatly improved support for RISC architectures, see WARP spec for more details - Greatly improved UX when loading files after the fact, will now sanely rerun the matcher - Omitted the function type if not a user type, this greatly reduces file size - Improved support for functions that reference a page aligned base pointer, see WARP spec for more details - Removed some extra cache structures that were causing erroneous behavior - Fixed edge-case in LLIL traversal missing some constant pointers, this was a bug in the Rust bindings - Added support for function comments - Made long running tasks, such as generating, matching and loading signatures, cancellable where possible - Made function constraints more versatile, allowing for easy extensions in the future, see WARP spec for details - Added options to signature generation, such as what data to store, and whether to compress the data or not - Made all long running tasks prompt the user for required information before the task starts, allowing users to "set it and forget it" and not have to baby sit the finalization of the task - Myriad of other changes to the actual WARP format that impact performance, file size and general feature set, see https://github.com/Vector35/warp for more details
2025-07-02Add highlight render layer to WARPMason Reed
Highlights all variant instructions and blacklisted instructions Variant instructions are highlighted red, blacklisted will be orange.
2025-07-02Move instruction filters out of `basic_block_guid` and make them publicMason Reed
Need to do this for exposing to FFI and things like render layers
2025-07-01Make StackRenderLayer not wait for IL generationGlenn Smith
2025-06-27[RTTI] Fix itanium vft analysis adding misaligned functions for thumb2Mason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/6959
2025-06-25Fix compiler warnings in PDB type parser.Alexander Taylor
2025-06-25Fix reported `cargo fmt` errors from Rust CI.Alexander Taylor
2025-06-25Update CXX_STANDARD to 20.Alexander Taylor
Also update minimum CMake version.
2025-06-25Remove implicit conversions from Confidence to underlying type, these can ↵Rusty Wagner
cause bugs and also issues with C++20
2025-06-23Move workflow_objc to API repo, remove CFString & relptr rendererskat
2025-06-13[Rust] Fix dwarfdump not buildingMason Reed
2025-06-13[Rust] Misc API additions/docs and formatting fixesMason Reed
2025-06-05Stack Offset render layer: Use AnnotationToken to fix Edit InstructionGlenn Smith
Fixes #6900
2025-06-05Fix running in headless modeMichael Krasnitski
2025-06-05Fix incorrect paths in EFI ResolverMichael Krasnitski
2025-05-27Misc rust formattingMason Reed
2025-05-27update idb_import idb-rs to 0.1.10rbran
2025-05-26Fix crash when exporting DWARF failsJosh Ferrell
2025-05-23Add aliases for the RTTI/VFT analysis activities.Brian Potchik
2025-05-23[RTTI] Fix exception in binary with a erroneous class hierarchy descriptorMason Reed
2025-05-23[RTTI] Fix typo in some log callsMason Reed
2025-05-22[RTTI] Catch uncaught exceptions to let analysis finish in the event of an ↵Mason Reed
thrown exception Probably should have done this sooner, just lets the user continue analysis, rtti exceptions are continuable from the view of analysis.
2025-05-17[RTTI] Fix crash with zeroed base class descriptorMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/6837
2025-05-16Fix crash with invalid vtable info when processing MSVC vftablesMason Reed
Found when a vtable is constrained to a size less than the base vft, indicating a bad base vft associating most likely. Fixes https://github.com/Vector35/binaryninja-api/issues/6840
2025-05-13[CMake] Report compatibility with 3.15 to silence deprecation warningsGlenn Smith
2025-05-12[Rust] Remove `NonSSAVariant` bound from `LowLevelILFunction`Mason Reed
We don't do enough with the lifted il != non lifted il to justify the bound. This makes modifying IL much less work as the historical lifted il bound is gone.
2025-05-12[Rust] Implement custom interactive handlerrbran
2025-05-12[Rust] Reduce usage of `IntoCStr` in function signaturesMason Reed
This is being done to reduce complexity in function signatures, specifically many of the strings we are passing ultimately should be new types themselves instead of "just strings", things such as type ids. Another place which was confusing was dealing with filesystem related APIs, this commit turns most of those params into a stricter `Path` type. This is bringing the rust api more inline with both python and C++, where the wrapper eagerly converts the string into the languages standard string type. Special consideration must be made for symbols or other possible non utf-8 objects. This commit will be followed up with one that adds the `IntoCStr` bound on API's we want to keep as invalid utf-8 so we can for example, get section by name on a section with invalid utf-8.
2025-05-12[Rust] More cleanup regarding `BnString`Mason Reed
- Removed `to_string` shortcut from `BnString`. - Misc formatting