summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-29Light unused variable cleanup in Psuedo C/Obj-C Pluginkat
2025-05-29[PseudoObjC] Handle named type references to types that don't existMark Rowe
2025-05-29Detect calls that the Objective-C workflow has rewritten directly to an ↵Mark Rowe
implementation These are detected by their function names having the characteristic `-[ClassName methodName:]` format. Calls to functions with this naming pattern that accept a selector as a second argument are assumed to be `objc_msgSend` calls that the Objective-C workflow rewrote. These calls are formatted identically to other `objc_msgSend` calls with the exception that the selector tokens reference the address of the call target rather than the selector string, so double-clicking on them takes you to the fixed destination of the rewritten call.
2025-05-29Implement a Pseudo Objective-C language representationMark Rowe
This is implemented in the Pseudo C plug-in as it shares 99% of the logic. The Objective-C support is implemented in a subclass of `PseudoCFunction`. The handling of instruction types that the Objective-C representation needs to customize is extracted into virtual functions that the Objective-C subclass overrides. This currently supports: * Rewriting `objc_msgSend` / `objc_msgSendSuper2` with constant selectors to `[receiver message]` notation. * Rewriting calls to `objc_alloc` / `objc_alloc_init` / `objc_new` to the equivalent message send notation. * Rewriting `objc_retain` / `objc_release` and friends to the equivalent message send notation. * Displaying Objective-C class references as their class names rather than `_OBJC_CLASS_$_` symbol names. * Displaying Objective-C string literals as `@"..."`. This works best when used in conjunction with https://github.com/bdash/bn-objc-extras as the reference counting runtime calls add so much clutter.
2025-05-28PR #6757: prefer fp, lr for x29, x30yrp
arm64: prefer fp, lr arm64: update tests to use new reg names, improve windows build
2025-05-28Revert "Fix compilation with MSVC: arm64/disassembler/decode_scratchpad.c"Galen Williamson
This reverts commit cb7c2d3bb716a2e96cf7f127bbf71992a4861907.
2025-05-28[ObjC] Use relative pointer types for members of `objc_method_entry_t`Mark Rowe
They were previously relying on the Objective-C workflow to render the `rptr_t` typedef. Relative pointer types are now a first class citizen and are rendered correctly without any additional work.
2025-05-28Support for Linux x86-64 x32 ABIBrandon Miller
2025-05-28Eliminate jsoncpp usage from the AnalysisContext C++ API object.Brian Potchik
2025-05-27Update decode_scratchpad.cjustanotheranonymoususer
2025-05-27Fix compilation with MSVC: arm64/disassembler/decode_scratchpad.cjustanotheranonymoususer
MSVC shows several warnings, but this one is shown as an error, preventing compilation.
2025-05-27Misc rust formattingMason Reed
2025-05-27update idb_import idb-rs to 0.1.10rbran
2025-05-26Fix analysis state properties to return enums instead of integers.Brian Potchik
2025-05-26Fix crash when exporting DWARF failsJosh Ferrell
2025-05-23add cross-referencing to docs for save and create_databaseJordan Wiens
2025-05-23Add UI action and API to control expression foldingRusty Wagner
2025-05-23Fix ChoiceField docs, add .default getter/setterJosh Ferrell
2025-05-23Fix spurious cross-reference updates during startup initialization. Save the ↵Brian Potchik
polar bears.
2025-05-23Add aliases for the RTTI/VFT analysis activities.Brian Potchik
2025-05-23Add 'Remove from Recent Files' action to the context menu for the recent ↵Brian Potchik
files list.
2025-05-23[RTTI] Fix exception in binary with a erroneous class hierarchy descriptorMason Reed
2025-05-23[RTTI] Fix typo in some log callsMason Reed
2025-05-22Bump abi version for new apiGlenn Smith
2025-05-22Fix formatting nullptrGlenn Smith
2025-05-22Fix Ref<T> and Confidence<T> formattersGlenn Smith
2025-05-22Add fmt printer for Ref<Type>Glenn Smith
2025-05-22Add TypeContainer::GetEmptyTypeContainerGlenn Smith
2025-05-22[RTTI] Catch uncaught exceptions to let analysis finish in the event of an ↵Mason Reed
thrown exception Probably should have done this sooner, just lets the user continue analysis, rtti exceptions are continuable from the view of analysis.
2025-05-21Fix HLIL_LABEL renderingGlenn Smith
2025-05-21[SharedCache] Fix .dylddata sections failing to propagate constantsMason Reed
This occurred because prior to the change made in build `7484` we short-circuited when the pointer pointed to a read only segment, now that we consult the section the sections semantics were incorrect and failed, this fixes the dyld data sections to have correct semantics.
2025-05-20Fix the build.Alexander Taylor
Previous commit causes failures in API documentation generation. This builds and passes unit tests locally, hoping that will also be the case for CI.
2025-05-20add missing importJordan Wiens
2025-05-20Fix type hints in project python apiJosh Ferrell
2025-05-20relax caller_sites filterJordan Wiens
2025-05-20fix error in debug report exampleJordan Wiens
2025-05-20add missing debug report imageJordan Wiens
2025-05-20add HLIL debug report exampleJordan Wiens
2025-05-20add better verification for caller_sites to ensure calls, fixes #3722Jordan Wiens
2025-05-19Fix demangler for internal core type changesRusty Wagner
2025-05-19Implement function level metadataBrandon Miller
2025-05-17[RTTI] Fix crash with zeroed base class descriptorMason Reed
Fixes https://github.com/Vector35/binaryninja-api/issues/6837
2025-05-17[Rust] Re-open type archive in unit test to verifyMason Reed
2025-05-17Add `BNIsMemoryMapActivated` APIMason Reed
So that users of the memory map API can know if a view has activated the memory map and adjust behavior accordingly.
2025-05-16[Python] Support HLIL collapsing and update PseudoPythonGlenn Smith
Fixes Vector35/binaryninja-api#6679
2025-05-16Fix crash with invalid vtable info when processing MSVC vftablesMason Reed
Found when a vtable is constrained to a size less than the base vft, indicating a bad base vft associating most likely. Fixes https://github.com/Vector35/binaryninja-api/issues/6840
2025-05-14Update bug_report.mdJordan
2025-05-14add binja variant to bug report templateJordan
2025-05-13[yasm] Fix warning for use of deprecated FindPythonGlenn Smith
2025-05-13[CMake] Report compatibility with 3.15 to silence deprecation warningsGlenn Smith