summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-09Fix QueueGenerator GIL deadlock in search APIs.Brian Potchik
2026-03-06Implement DTPOFF64 and DTPMOD64 relocations.Alexander Taylor
Finally closes #5463.
2026-03-06Remove unused variable (skip-ci)Xusheng
2026-03-05Add mutex and recursive_mutex to bn::baseMark Rowe
On Apple platforms these wrap `os_unfair_lock`. On other platforms they're aliases for the std equivalents.
2026-03-05Add 'Open Selected Files with Container Browser...' to project browser ↵Brian Potchik
context menu.
2026-03-05Parse and display PE resource information in triage view. Fix ↵Xusheng
https://github.com/Vector35/binaryninja-api/issues/4052, fix https://github.com/Vector35/binaryninja-api/issues/5607
2026-03-04Add TypeLibrary::Register, to allow loading type libraries from scriptGlenn Smith
2026-01-27Fix MIPS64 relocation entry parsing.Alexander Taylor
2026-03-03add examples about triggering binexport headlesslyJordan Wiens
2026-03-03Fix MemoryRegionDialog prepopulating length for file backed regions.Brian Potchik
2026-02-27[MachO] Fix relocations from chained fixups not respecting addendsMark Rowe
The addends were correctly stored in the relocation info and displayed as offsets in linear view, but the relocation handlers never applied them. Reading from an address containing such a relocation would give an incorrect value.
2026-02-27[MachO] Ensure that weak bound symbols are not resolved to their import addressMark Rowe
Fixes https://github.com/Vector35/binaryninja-api/issues/7989. Also corrects an oversight from d92b3684 in handling of library ordinals >= 128.
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