summaryrefslogtreecommitdiff
path: root/plugins/dwarf
AgeCommit message (Collapse)Author
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.
2025-05-12[Rust] More cleanup regarding `BnString`Mason Reed
- Removed `to_string` shortcut from `BnString`. - Misc formatting
2025-05-12[Rust] Return `String` instead of `BnString` for cases where lossy ↵Mason Reed
conversion can be tolerated Still need to go and audit all usage, but realistically the most important places to give the user control are with symbols, where the data can come from non utf8 sources This is still incomplete, I just looked for usage of -> BnString so any other variant was omitted.
2025-04-25Fix misc rust formattingMason Reed
2025-04-23Various DWARF fixesJosh Ferrell
- Do not add binary base to function address twice when a symbol with that function's raw name already exists - Load eh_frame/debug_frame from base bv instead of debug bv and make calculated cie offset ranges relative to bv start - Fix dwarf raw name resolution not resolving specification - Try to load eh_frame/debug_frame from both raw and normal views in dwarf import
2025-04-14Set vendor for .eh_frame parsing for aarch64 binariesJosh Ferrell
2025-04-10Fix function type construction leaking in Rust APIMason Reed
2025-04-09Fix capitalization of AArch64.Alexander Taylor
2025-04-01DWARF Parser: Remove error log and ignore lexical ranges that start and end at 0ElykDeer
2025-03-28belated copyright year updateJordan Wiens
2025-03-06Make more GLOB_RECURSE statements GLOBMason Reed
I don't want to wait 10 seconds to glob for rust plugins! Someone should really go and rip out all these duplicate cmake files...
2025-03-06Fix dwarf CMakeLists.txt globbing wrong directoryMason Reed
Reason #555 we should redo rust cmake stuff
2025-02-28Handle base structures in DWARF importMason Reed