summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-02-27[MachO] Fix incorrect handling of BIND_SPECIAL_DYLIB_*_LOOKUP in chained fixupsMark Rowe
These lookup modes are negative values that are encoded in the library ordinal, an unsigned field, of an import fixup entry. Incorrect sign extension when converting these ordinals back to signed values led to them being misinterpreted.
2026-02-26[DWARF Import] Do not wrap function parameter types in named type referencesJosh Ferrell
2026-02-26Fix QualifiedName join from ffi and also support NameSpace joinGlenn Smith
2026-02-26Python: QName separator is actually called join by C++Glenn Smith
2026-02-26Pass separator to qname ctorGlenn Smith
2026-02-26fix[python]: missed mismatch for flag_namenullableVoidPtr
2026-02-26fix[python]: covariant user listsnullableVoidPtr
2026-02-26fix[python]: relax type children passed into factoriesnullableVoidPtr
2026-02-26fix[python]: BinaryView typesnullableVoidPtr
2026-02-26feat[python]: QualifiedName.separatornullableVoidPtr
2026-02-26fix[python]: CallingConvention.get_incoming_flag_valuenullableVoidPtr
2026-02-26Fix settings view layout and resize performance.Brian Potchik
2026-02-25Fix a crash that could occur in TypeDialog if parser results arrived at the ↵Mark Rowe
wrong time
2026-02-24[DSC] Simplify file mapping to fix intermittent unrelocated pointersMark Rowe
The `FileAccessorCache`'s LRU eviction could discard a file's mapped data after slide info had already been applied to it. Future accesses to the file produced a fresh mapping, but failed to reapply the slide info. This could result in pointers not correctly being slid, such as in https://github.com/Vector35/binaryninja-api/issues/7689. The LRU cache existed to stay within OS file descriptor limits, since the old `MappedFile` held its fd open for the lifetime of the mapping. There's no real reason for it to hold the file descriptor open like this. Closing it after `mmap` is sufficient to avoid the file descriptor limits. `MappedFileRegion` replaces the combination of `FileAccessorCache`, `WeakFileAccessor`, and `MappedFileAccessor`. It closes the fd immediately after mmap, so all files can stay mapped without consuming descriptors, making the cache unnecessary. `MappedFileRegion` is owned directly by the `CacheEntry` for its full lifetime. Slide info is applied exactly once to each `MappedFileRegion`.
2026-02-23[x86] Intel APX support (#6423)Avery
Co-authored-by: Mason Reed <mason@vector35.com>
2026-02-23[KernelCache] Automatically unwrap kernel caches within a full IMG4 containerMark Rowe
This builds on the existing support for opening kernel caches directly from IM4P payload files, and allows opening macOS kernel caches directly from `/System/Volumes/Preboot/<apfs-uuid>/boot/<boot-manifest-hash>/System/Library/Caches/com.apple.kernelcaches/kernelcache`.
2026-02-23Revert "validation for zero sized symbol or string tables"Brian Potchik
This reverts commit bcc40473b3660005e83f51150bdc17ae177768dc.
2026-02-23Revert "guard against empty .interp and .dynamic"Brian Potchik
This reverts commit 4573354f23da495099983dac4b665988cd837ff5.
2026-02-23[RTTI] Scope loggers to the associated viewMason Reed
2026-02-23[BNTL] Fix misc unused warningsMason Reed
2026-02-23Add global plugin command typeMason Reed
Register plugins which are available outside the context of a binary view
2026-02-23[BNTL] Misc improvementsMason Reed
2026-02-23[Rust] Misc documentation and cleanupMason Reed
2026-02-23[Rust] Ensure proper lifetime management of `WebsocketClientCallback` objectsMason Reed
2026-02-23[Rust] Fix `OwnedBackgroundTaskGuard` requiring mutable selfMason Reed
2026-02-23[Rust] Misc type library doc improvementsMason Reed
2026-02-23[BNTL] Misc improvementsMason Reed
2026-02-23[BNTL Utils] Fix misc clippy lintsMason Reed
2026-02-23Add BNTL utility pluginMason Reed
Allow users to easily create, diff, dump and validate type libraries Supports the following formats: - C header files (via core type parsers) - Binary files (collects exported and imported functions) - WinMD files (via `windows-metadata` crate) - Existing type library files (for easy fixups) - Apiset files (to resolve through forwarded windows dlls) Can be invoked as a regular plugin via UI commands or via CLI. Processing of type libraries inherently requires external linking, processing will automatically merge and deduplicate colliding type libraries so prefer to use inside a project or a directory and process all information (for a given platform) at once, rather than smaller invocations.
2026-02-23[Rust] Misc documentation cleanupMason Reed
2026-02-23[BNTL] Allow decompressing standalone TypeLibrary objectsMason Reed
Previously you must have written the type library to disk
2026-02-23[Rust] Add `TypeLibrary::remove_named_object` and ↵Mason Reed
`TypeLibrary::remove_named_type`
2026-02-23[Rust] Misc TypeLibrary API improvementsMason Reed
2026-02-23[Python] Add `TypeLibrary.remove_named_object` and ↵Mason Reed
`TypeLibrary.remove_named_type`
2026-02-23[BNTL] Add API to remove dataMason Reed
Useful when relocating information between type libraries before finalization
2026-02-23[Python] Add missing `TypeLibrary.duplicate` APIMason Reed
2026-02-23[Rust] Update allowed licensesMason Reed
2026-02-23[Rust] Add `load_project_file` and `load_project_file_with_progress`Mason Reed
Use these when you intend to query through the `FileMetadata::project_file`, if you do not use these then you will be in a detached binary view from the originating project
2026-02-23[Rust] Add `OwnedBackgroundTaskGuard` for finishing background task ↵Mason Reed
automatically
2026-02-23[Rust] Add a precondition check to make sure metadata has been pulled before ↵Mason Reed
pulling remote projects
2026-02-23[Rust] Impl `Send` and `Sync` for `RemoteProject`Mason Reed
2026-02-23[Rust] Impl `Send` and `Sync` for `RemoteFolder`Mason Reed
2026-02-23[Rust] Impl `Send` and `Sync` for `RemoteFile`Mason Reed
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] Impl `Debug` for `RemoteFolder`Mason Reed
2026-02-23[Rust] Impl `Debug` for `RemoteProject`Mason Reed
2026-02-23[Rust] Fix clippy lintsMason Reed
2026-02-23[Rust] Use `PathBuf` instead of `String` for include directories param in ↵Mason Reed
`TypeParser`
2026-02-23[Rust] Impl `From<BnString>` for `QualifiedName`Mason Reed
2026-02-23[Rust] Fix unbalanced ref returned in `RemoteFile::core_file`Mason Reed