summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-14Simplifed documentation for "Launching Binary Ninja from the command line", ↵Galen Williamson
and moved it to user guide.
2025-04-11Fix pseudo C and rust type cast on HLIL_DEREFBrandon Miller
Should be using the instruction size of the HLIL_DEREF instruction, not the size of the HLIL_DEREF's source expression
2025-04-11Add instruction attribute for intermediate computations that are potentially ↵Rusty Wagner
unused in MLIL
2025-04-10[SharedCache] Fix building on some toolchainsMason Reed
Implicit std::filesystem::path conversion oops
2025-04-10Added documentation for Launching Binary Ninja from the command line (CLI), ↵Galen Williamson
re: new and existing instances
2025-04-10Fix function type construction leaking in Rust APIMason Reed
2025-04-10Add debug info rust testMason Reed
2025-04-10[SharedCache] Make the shared cache file lookup more straightforwardMason Reed
We already had separated this part out into the `CacheProcessor` but its more like a builder than anything, so this refactors that out into a `SharedCacheBuilder`. - Separate out the `CacheProcessor` and simplify its implementation - Move more implementation specific stuff to the shared cache view - Prepare for more validation of the shared cache to detect irregular or incomplete shared cache information - Deduplicate a lot of file vs. project file lookup stuff - Stop copying all images when getting the number of images to log - Allow user to select another directory to scan for shared cache files, might make this a warning instead to prevent users from relying on this behavior We will likely follow this commit up soon with better open behavior, maybe open with options can specify a list of cache entry files? Shouldn't be too much effort aside from making the UI modal for that.
2025-04-10cleanup troubleshooting docsJordan Wiens
2025-04-09[aarch64] add lifting for B.NV instruction, fix branch generation for B.AL ↵Galen Williamson
and B.NV, fix AlwaysBranch patching to generate a valid B instruction
2025-04-09[aarch64] add lifting for B.AL instructionGalen Williamson
2025-04-09[mips] always show 0 offset in MIPS operands using Register + Offset ↵Galen Williamson
Addressing Mode (including when the register r0 is elided)
2025-04-09Shared cache and kernel cache UI cleanup.Alexander Taylor
One day, these will share more code, but today is not quite that day.
2025-04-09More gracefully ignore MH_FILESET in MachOView.Alexander Taylor
This avoids the 3 errors on view initialization for all supported kernel caches that aren't "real".
2025-04-09Revert "Disable MH_FILESET parsing in Mach-O view"Alexander Taylor
This reverts commit 9169a13c818fc7f3b09246360c31e200b01bda23.
2025-04-09Fix capitalization of AArch64.Alexander Taylor
2025-04-09Remove extra refcount when getting debug info from a bvElykDeer
2025-04-09Add docs for union field resolution; Resolves #6578ElykDeer
2025-04-09Expose AnalysisState through the APIXusheng
2025-04-08Add API to post requests to the workflow machine.Brian Potchik
2025-04-08[SharedCache] Fix exception message causing an exceptionMason Reed
And also removed unneeded VMReader construction in ApplyRegion
2025-04-08Action to push/pull all types to a Type ArchiveGlenn Smith
2025-04-08[aarch64] remove "unknown hint" warningGalen Williamson
2025-04-08Misc rust formattingMason Reed
2025-04-08[ObjC] Handle Objective-C ivars with an offset of 0Mark Rowe
objc-runtime-new.mm mentions an offset of 0 is used for anonymous bitfields. Previously this would throw an exception when attempting to read from offset 0 and the types would not be applied.
2025-04-08Update compilers list requirementsGlenn Smith
2025-04-08Improve MSVC VFT analysis speed and accuracyMason Reed
Also adds more information to the progress text when processing vfts for both msvc and itanium
2025-04-08Add misc cancellation points in RTTI analysisMason Reed
Some missing checks in case there is a billion segments (see .obj files)
2025-04-08[aarch64] lift all LD[1-4]R? and ST[1-4] opcodes, lift ST/LDCLR, ST/LDEOR, ↵Galen Williamson
ST/LDSET, and their variants Also fixes all outstanding issues in arm64test.py, including intrinsics, dc, at, and tlbi
2025-04-08[SharedCache] Fix older BNDBs not updating workflow to use new workflow nameMason Reed
2025-04-08Fix workflow Rust API not returning refcounted objectsMason Reed
IDK why this was not done prior, leaking the returned core activity and workflow object.
2025-04-08[SharedCache] Apply demangled names and types more broadlyMason Reed
Fixes the case of stub functions being applied with mangled names.
2025-04-08Remove notion of image name from objective-c processorMason Reed
This made the macho objective-c processor aware of images and was passed around everywhere, instead we have an overridable section getter that gives the control over the section retrieval to the derived processor. In the case of shared cache this means we can store the image to be processed and then use the header to locate the relevant sections. Fixes: https://github.com/Vector35/binaryninja-api/issues/6594
2025-04-08[SharedCache] Apply objc_msgSend call type overrides in more placesMark Rowe
`fixObjCCallTypes` is updated to handle tail calls as well as regular calls. Additionally, if the selector address is not valid it now looks for the `sel_` symbols that `DSCObjCProcessor::ReadMethodList` adds for selectors whose names reside in regions that are not yet mapped. This allows call type overrides to be applied even when a selector's name is defined in a different image.
2025-04-08Omit the branch when lifting xabortBrandon Miller
When not in RTM, the xabort intrinsic instruction is a NOP. When in RTM, the only way to resolve the branch destination is to resolve the fallback address computed by a seperate xbegin instruction
2025-04-07[SharedCache] Apply call overrides to objc_msgSendSuper / objc_msgSendSuper2Mark Rowe
These are treated the same as `objc_msgSend` with the exception of their first argument being an `objc_super*` rather than `id`.
2025-04-07[SharedCache] Include segment in image section nameMason Reed
This removes some section name collisions where a section name is in two separate image segments. See https://github.com/Vector35/binaryninja-api/pull/6454 for more information. Co-Authored-By: WeiN76LQh <WeiN76LQh@github.com>
2025-04-07[SharedCache] Respect workflow override on shared cache databasesMason Reed
Fixes: https://github.com/Vector35/binaryninja-api/issues/6571
2025-04-07[SharedCache] Add symbolizing of all accesses to non-loaded images in functionsMason Reed
2025-04-07Fix broken .gitignoreMason Reed
2025-04-07[SharedCache] Don't process shared cache when view is not file backedMason Reed
This fixes a case where the remote file is downloaded and the shared cache view is selected, we _only_ work for file backed views, as our shared cache specific file accessors work on those. So this is not a loss in functionality. In the future if we wanted to load shared caches without touching disk (yikes) than we would need to remove this restriction, or provide a way in the API for user to process their own cache entries (after view init).
2025-04-07[SharedCache] Allow the user to select the original shared cache file on diskMason Reed
This gives the user the ability to take a database with no original file path continue processing entries with the user supplied base file. This also will set the original file path for future loads, we might want to make that optional. And the behavior with remote projects for that might be undesired.
2025-04-07add venv to virtualenv setting descriptionJordan Wiens
2025-04-07Also update kernelcache template.Alexander Taylor
Fixes #6586, but for this plugin as well.
2025-04-07Fix broken list in docs.Alexander Taylor
2025-04-07Stop including generated Python file.Alexander Taylor
2025-04-07[SharedCache] Support loading from user plugins directory tooGlenn Smith
Check for the core plugin setting and, if it's disabled, look in the user directory
2025-04-07Don't ifdef-out virtual functions in ViewGlenn Smith
2025-04-07Support string arguments to workflow functions that expect activity lists. ↵Brian Potchik
(skip-ci)
2025-04-07Return None instead of raising in func IL gettersBrandon Miller
Return None instead of raising an ILException in Python Function.llil, mlil, etc to allow these properties to play nice with map and filter