summaryrefslogtreecommitdiff
path: root/plugins/dwarf
AgeCommit message (Collapse)Author
2026-05-18[DWARF Import] Use proper address width for unknown architecturesJosh Ferrell
2026-05-10[Rust] Refactor `binary_view` moduleMason Reed
- Remove the "viral" `BinaryViewExt` trait and its blanket impl - Split up the binary view type from the custom trait impl - Simplify and fix bugs regarding custom binary view initialization - Rewrite Minidump binary view example, parses the PE headers to create proper sections now - Add some extra documentation - Add unit test for custom binary view
2026-04-13types: fragment type API support (C++, Python)Ryan Snyder
2026-02-26[DWARF Import] Do not wrap function parameter types in named type referencesJosh Ferrell
2026-02-23[Rust] Refactor `FileMetadata` file informationMason Reed
- Rename and retype `FileMetadata::filename` and make the assignment required to happen at time of construction. - Add `FileMetadata::display_name` which is only to be used for presentation purposes. - Add `FileMetadata::virtual_path` for containers. - Rename `FileMetadata::modified` to `FileMetadata::is_modified` to be more consistent across codebase. - Add some missing documentation. - Add `BinaryView::from_metadata` with accompanying documentation.
2026-02-23[Rust] Fix plugins being referenced in `cargo about` outputMason Reed
2026-02-06[DWARF Import] Do not wrap pointer types in named type referencesJosh Ferrell
2026-01-11[DWARF] Fix misc missing imports from `log` => `tracing`Mason Reed
2026-01-11[Rust] Enter more session scoped tracing spans for debug info and binary ↵Mason Reed
view callbacks
2026-01-11[Rust] Replace `log` with `tracing`Mason Reed
- Added more documentation - Replaced global named logger for plugins, fixing the issue when the CU has multiple (e.g. statically linked demo) - Simplified some misc code This is a breaking change, but I believe there is no better time to make it, we cannot continue to use the `log` crate, it is too limited for our needs.
2026-01-08[DWARF Import] Fix potential hang when encountering some unhandled ↵Josh Ferrell
DW_AT_location variants for a DW_TAG_variable
2026-01-01update copyrights for 2026Jordan Wiens
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-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] Bump pinned version to 1.91.1Mason Reed
2025-11-28[DWARF] Fix loading Fat Mach-O debug filesJosh Ferrell
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-13[DWARF] Prevent extra slashes in generated debuginfod urlsJosh Ferrell
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[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-12Replace calls to unwrap() in dwarf_importJosh Ferrell
2025-10-07[Rust] Fix save file dialog not respecting default file pathMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/7268
2025-08-21Add support for automatically loading PDB/DWARF info from sibling files in ↵Josh Ferrell
projects
2025-08-20[Rust] Misc formatting fixesMason Reed
2025-08-18Fix loading local variables from DWARF in non-relocatable imagesJosh Ferrell
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-06[Rust] Take download callbacks by reference to avoid boxingMason Reed
2025-07-15[Rust] Misc formattingMason Reed
2025-07-10Improve DWARF local variable recoveryJosh Ferrell
2025-07-09Improve DWARF local variable offset calculationJosh Ferrell
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-13[Rust] Fix dwarfdump not buildingMason Reed
2025-05-27Misc rust formattingMason Reed
2025-05-26Fix crash when exporting DWARF failsJosh Ferrell
2025-05-13[CMake] Report compatibility with 3.15 to silence deprecation warningsGlenn Smith
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.