From 28ff277a2a7693d5a9ab1929bc459049c2e52b27 Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Mon, 11 Aug 2025 10:42:07 -0700 Subject: [PATCH 1/3] [Rust] Add LowLevelILFunction::{get_ssa_register_value, get_ssa_flag_value} These are available on `LowLevelILFunction`. --- rust/src/low_level_il/function.rs | 34 ++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/rust/src/low_level_il/function.rs b/rust/src/low_level_il/function.rs index 1955c147be..177b2a1a03 100644 --- a/rust/src/low_level_il/function.rs +++ b/rust/src/low_level_il/function.rs @@ -18,11 +18,12 @@ use std::marker::PhantomData; use binaryninjacore_sys::*; -use crate::architecture::CoreArchitecture; +use crate::architecture::{CoreArchitecture, CoreFlag}; use crate::basic_block::BasicBlock; use crate::function::Function; use crate::low_level_il::block::LowLevelILBlock; use crate::rc::*; +use crate::variable::RegisterValue; use super::*; @@ -297,6 +298,37 @@ impl Ref> { }; self.instruction_from_index(LowLevelInstructionIndex(instr_idx)) } + + /// Returns the value of the given SSA register. + #[must_use] + pub fn get_ssa_register_value( + &self, + reg: &LowLevelILSSARegisterKind, + ) -> Option { + let register_id = match reg { + LowLevelILSSARegisterKind::Full { kind, .. } => kind.id(), + LowLevelILSSARegisterKind::Partial { partial_reg, .. } => partial_reg.id(), + }; + let value = unsafe { + BNGetLowLevelILSSARegisterValue(self.handle, register_id.into(), reg.version() as usize) + }; + if value.state == BNRegisterValueType::UndeterminedValue { + return None; + } + Some(value.into()) + } + + /// Returns the value of the given SSA flag. + #[must_use] + pub fn get_ssa_flag_value(&self, flag: &LowLevelILSSAFlag) -> Option { + let value = unsafe { + BNGetLowLevelILSSAFlagValue(self.handle, flag.flag.id().0, flag.version as usize) + }; + if value.state == BNRegisterValueType::UndeterminedValue { + return None; + } + Some(value.into()) + } } impl ToOwned for LowLevelILFunction From b302d7ba796f41b1102ee61feed8b8e212299997 Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Mon, 11 Aug 2025 10:42:07 -0700 Subject: [PATCH 2/3] [Rust] Fix a couple of oversights in the API 1. Some SSA-specific functions are now implemented on `LowLevelILFunction` rather than `Ref>`. 2. A lifting helper for `LLIL_TAILCALL` is added to `LowLevelILFunction`. 3. `PossibleValueSet::ImportedAddressValue` now holds the value. --- rust/src/low_level_il/function.rs | 2 +- rust/src/low_level_il/lifting.rs | 1 + rust/src/variable.rs | 16 ++++++++++++---- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/rust/src/low_level_il/function.rs b/rust/src/low_level_il/function.rs index 177b2a1a03..65c3536a4c 100644 --- a/rust/src/low_level_il/function.rs +++ b/rust/src/low_level_il/function.rs @@ -249,7 +249,7 @@ impl Ref> { } } -impl Ref> { +impl LowLevelILFunction { /// Return a vector of all instructions that use the given SSA register. #[must_use] pub fn get_ssa_register_uses( diff --git a/rust/src/low_level_il/lifting.rs b/rust/src/low_level_il/lifting.rs index f2850776cf..a51cd3d5f2 100644 --- a/rust/src/low_level_il/lifting.rs +++ b/rust/src/low_level_il/lifting.rs @@ -1048,6 +1048,7 @@ impl LowLevelILMutableFunction { no_arg_lifter!(bp, LLIL_BP, VoidExpr); unsized_unary_op_lifter!(call, LLIL_CALL, VoidExpr); + unsized_unary_op_lifter!(tailcall, LLIL_TAILCALL, VoidExpr); unsized_unary_op_lifter!(ret, LLIL_RET, VoidExpr); unsized_unary_op_lifter!(jump, LLIL_JUMP, VoidExpr); // TODO: LLIL_JUMP_TO diff --git a/rust/src/variable.rs b/rust/src/variable.rs index 7e32727a3b..fc6febfb67 100644 --- a/rust/src/variable.rs +++ b/rust/src/variable.rs @@ -654,7 +654,9 @@ pub enum PossibleValueSet { value: i64, }, ReturnAddressValue, - ImportedAddressValue, + ImportedAddressValue { + value: i64, + }, SignedRangeValue { value: i64, ranges: Vec>, @@ -708,7 +710,9 @@ impl PossibleValueSet { }, RegisterValueType::StackFrameOffset => Self::StackFrameOffset { value: value.value }, RegisterValueType::ReturnAddressValue => Self::ReturnAddressValue, - RegisterValueType::ImportedAddressValue => Self::ImportedAddressValue, + RegisterValueType::ImportedAddressValue => { + Self::ImportedAddressValue { value: value.value } + } RegisterValueType::SignedRangeValue => { let raw_ranges = unsafe { std::slice::from_raw_parts(value.ranges, value.count) }; Self::SignedRangeValue { @@ -791,7 +795,9 @@ impl PossibleValueSet { raw.value = value; } PossibleValueSet::ReturnAddressValue => {} - PossibleValueSet::ImportedAddressValue => {} + PossibleValueSet::ImportedAddressValue { value } => { + raw.value = value; + } PossibleValueSet::SignedRangeValue { value, ranges } => { let boxed_raw_ranges: Box<[BNValueRange]> = ranges.into_iter().map(BNValueRange::from).collect(); @@ -884,7 +890,9 @@ impl PossibleValueSet { } PossibleValueSet::StackFrameOffset { .. } => RegisterValueType::StackFrameOffset, PossibleValueSet::ReturnAddressValue => RegisterValueType::ReturnAddressValue, - PossibleValueSet::ImportedAddressValue => RegisterValueType::ImportedAddressValue, + PossibleValueSet::ImportedAddressValue { .. } => { + RegisterValueType::ImportedAddressValue + } PossibleValueSet::SignedRangeValue { .. } => RegisterValueType::SignedRangeValue, PossibleValueSet::UnsignedRangeValue { .. } => RegisterValueType::UnsignedRangeValue, PossibleValueSet::LookupTableValue { .. } => RegisterValueType::LookupTableValue, From 2303f75b080f6dd0c9a5c669a71f64ce830f5650 Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Mon, 11 Aug 2025 10:42:07 -0700 Subject: [PATCH 3/3] Rewrite Obj-C workflow in Rust This is functionally equivalent to the previous workflow_objc, with the following changes: 1. It mutates the `core.function.metaAnalysis` workflow rather than registering a new named workflow. The activities now all check for the presence of the Objective-C metadata added by `ObjCProcessor` to determine whether they should do work, rather than relying on `MachoView` to override the function workflow when Objective-C metadata is present. This fixes https://github.com/Vector35/binaryninja-api/issues/6779. 2. The auto-inlining of `objc_msgSend` selector stub functions is performed in a separate activity from the processing of `objc_msgSend` call sites. The selector stub inlining activity is configured so that it does not run in `DSCView` as the shared cache needs different behavior for stub functions more generally that `SharedCacheWorkflow` already provides. 3. The way that types like `id` and `SEL` are referenced is fixed so that they show up as `id` rather than `objc_struct*`. This also replaces the Objective-C portion of the shared cache's workflow, and incorporates several bug fixes that had been applied to it but not the standalone Objective-C workflow. --- Cargo.lock | 12 + Cargo.toml | 5 +- README.md | 8 +- docs/guide/objectivec.md | 41 ++- docs/img/objc-workflow-selected.png | Bin 71140 -> 0 bytes docs/img/pseudo-objc-menu-item.png | Bin 0 -> 258631 bytes plugins/warp/src/plugin.rs | 8 +- plugins/workflow_objc/.clang-format | 4 - plugins/workflow_objc/.gitignore | 7 - plugins/workflow_objc/BinaryNinja.h | 21 -- plugins/workflow_objc/CMakeLists.txt | 133 ++++++-- plugins/workflow_objc/CONTRIBUTING.md | 26 -- plugins/workflow_objc/Cargo.toml | 16 + plugins/workflow_objc/Constants.h | 10 - plugins/workflow_objc/GlobalState.cpp | 102 ------ plugins/workflow_objc/GlobalState.h | 79 ----- plugins/workflow_objc/LICENSE.txt | 26 -- plugins/workflow_objc/MessageHandler.cpp | 63 ---- plugins/workflow_objc/MessageHandler.h | 16 - plugins/workflow_objc/Performance.h | 38 --- plugins/workflow_objc/Plugin.cpp | 45 --- plugins/workflow_objc/README.md | 27 +- plugins/workflow_objc/Workflow.cpp | 316 ------------------ plugins/workflow_objc/Workflow.h | 48 --- plugins/workflow_objc/build.rs | 15 + .../src/activities/inline_stubs.rs | 26 ++ plugins/workflow_objc/src/activities/mod.rs | 2 + .../src/activities/objc_msg_send_calls.rs | 164 +++++++++ .../objc_msg_send_calls/adjust_call_type.rs | 123 +++++++ .../rewrite_to_direct_call.rs | 61 ++++ plugins/workflow_objc/src/error.rs | 30 ++ plugins/workflow_objc/src/lib.rs | 48 +++ .../src/metadata/global_state.rs | 207 ++++++++++++ plugins/workflow_objc/src/metadata/mod.rs | 5 + .../workflow_objc/src/metadata/selector.rs | 52 +++ plugins/workflow_objc/src/workflow.rs | 57 ++++ rust/src/workflow/activity.rs | 13 + view/macho/machoview.cpp | 33 +- view/sharedcache/workflow/ObjCActivity.cpp | 184 ---------- view/sharedcache/workflow/ObjCActivity.h | 9 - .../workflow/SharedCacheWorkflow.cpp | 3 - 41 files changed, 987 insertions(+), 1096 deletions(-) delete mode 100644 docs/img/objc-workflow-selected.png create mode 100644 docs/img/pseudo-objc-menu-item.png delete mode 100644 plugins/workflow_objc/.clang-format delete mode 100644 plugins/workflow_objc/.gitignore delete mode 100644 plugins/workflow_objc/BinaryNinja.h delete mode 100644 plugins/workflow_objc/CONTRIBUTING.md create mode 100644 plugins/workflow_objc/Cargo.toml delete mode 100644 plugins/workflow_objc/Constants.h delete mode 100644 plugins/workflow_objc/GlobalState.cpp delete mode 100644 plugins/workflow_objc/GlobalState.h delete mode 100644 plugins/workflow_objc/LICENSE.txt delete mode 100644 plugins/workflow_objc/MessageHandler.cpp delete mode 100644 plugins/workflow_objc/MessageHandler.h delete mode 100644 plugins/workflow_objc/Performance.h delete mode 100644 plugins/workflow_objc/Plugin.cpp delete mode 100644 plugins/workflow_objc/Workflow.cpp delete mode 100644 plugins/workflow_objc/Workflow.h create mode 100644 plugins/workflow_objc/build.rs create mode 100644 plugins/workflow_objc/src/activities/inline_stubs.rs create mode 100644 plugins/workflow_objc/src/activities/mod.rs create mode 100644 plugins/workflow_objc/src/activities/objc_msg_send_calls.rs create mode 100644 plugins/workflow_objc/src/activities/objc_msg_send_calls/adjust_call_type.rs create mode 100644 plugins/workflow_objc/src/activities/objc_msg_send_calls/rewrite_to_direct_call.rs create mode 100644 plugins/workflow_objc/src/error.rs create mode 100644 plugins/workflow_objc/src/lib.rs create mode 100644 plugins/workflow_objc/src/metadata/global_state.rs create mode 100644 plugins/workflow_objc/src/metadata/mod.rs create mode 100644 plugins/workflow_objc/src/metadata/selector.rs create mode 100644 plugins/workflow_objc/src/workflow.rs delete mode 100644 view/sharedcache/workflow/ObjCActivity.cpp delete mode 100644 view/sharedcache/workflow/ObjCActivity.h diff --git a/Cargo.lock b/Cargo.lock index e9b6202ee8..c66dec847c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3472,6 +3472,18 @@ dependencies = [ "bitflags 2.9.1", ] +[[package]] +name = "workflow_objc" +version = "0.1.0" +dependencies = [ + "binaryninja", + "binaryninjacore-sys", + "dashmap", + "log", + "once_cell", + "thiserror 2.0.12", +] + [[package]] name = "writeable" version = "0.6.1" diff --git a/Cargo.toml b/Cargo.toml index 2f56c5c55d..2811850a56 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,9 +16,10 @@ members = [ "plugins/idb_import", "plugins/pdb-ng", "plugins/pdb-ng/demo", - "plugins/warp", "plugins/svd", - "plugins/svd/demo" + "plugins/svd/demo", + "plugins/warp", + "plugins/workflow_objc", ] [workspace.dependencies] diff --git a/README.md b/README.md index ae8db7657b..d5244d7d66 100644 --- a/README.md +++ b/README.md @@ -124,18 +124,18 @@ This repository contains all of our Binary View Type plugins available here: ## Other Plugins -* [SVD Loader](https://github.com/Vector35/binaryninja-api/tree/dev/plugins/svd/) +* [Objective-C](https://github.com/Vector35/binaryninja-api/tree/dev/plugins/workflow_objc/) * [RTTI Analysis](https://github.com/Vector35/binaryninja-api/tree/dev/plugins/rtti/) -* [WARP Integration](https://github.com/Vector35/binaryninja-api/tree/dev/plugins/warp/) * [Stack Render Layer](https://github.com/Vector35/binaryninja-api/tree/dev/plugins/stack_render_layer/) +* [SVD Loader](https://github.com/Vector35/binaryninja-api/tree/dev/plugins/svd/) * [Triage View](https://github.com/Vector35/binaryninja-api/tree/dev/examples/triage/) +* [WARP Integration](https://github.com/Vector35/binaryninja-api/tree/dev/plugins/warp/) ## Related Repositories -In addition to this main API repository being open source Vector35 also has open sourced the Debugger and the Objective-C plugins open source as well: +In addition to this main API repository being open source Vector35 also has open sourced the Debugger plugin as well: * [Debugger](https://github.com/Vector35/debugger) -* [workflow_objc](https://github.com/Vector35/workflow_objc) ## Licensing diff --git a/docs/guide/objectivec.md b/docs/guide/objectivec.md index 5fef33bc11..3c4414b9a2 100644 --- a/docs/guide/objectivec.md +++ b/docs/guide/objectivec.md @@ -1,35 +1,40 @@ # Objective-C -Binary Ninja ships with [an additional plugin](https://github.com/Vector35/workflow_objc) for assisting with Objective-C analysis. +Binary Ninja ships with built-in functionality for assisting with Objective-C analysis. A brief summary of the features offered is as follows: -- **Function Call Cleanup.** When using the Objective-C workflow, calls to - `objc_msgSend` can be replaced with direct calls to the relevant function's - implementation. - - **Name and Type Recovery.** Using runtime information embedded in the - binary, Binary Ninja can automatically apply names and type information to + binary, Binary Ninja automatically applies names and type information to Objective-C functions. - **Structure Markup.** Data variables are automatically created for Objective-C structures such as classes and method lists to enable easy navigation. -- **Data Renderers.** Formatting of Objective-C types such as tagged and/or - (image-)relative pointers is improved via custom data renderers. +- **String Literal Handling.** Data variables are automatically created for all + `CFString` or `NSString` instances present in the binary. -- **CFString Handling.** Data variables are automatically created for all - `CFString` instances present in the binary. +- **Automatic Call Type Adjustments.** Binary Ninja automatically infers the number of arguments and their names + for individual calls to `objc_msgSend` and `objc_msgSendSuper2`. Argument names are derived from the selector + components, and argument types are inferred in limited cases. -## Usage +- **Pseudo Objective-C Language.** Decompiled code can be displayed using a _Pseudo Objective-C_ + language syntax. This renders `objc_msgSend` and other Objective-C runtime calls using the + `[receiver message:argument other:argument2]` syntax found in Objective-C source code. + Additionally, literals such as `CFString` or `NSString` are displayed inline as `@"string"`. -If you have an Objective-C binary opening in Binary Ninja should automatically process -the information. This is handled by the view, e.g. MACH-O & Shared Cache. +- **Direct Call Rewriting.** Calls to `objc_msgSend` can be rewritten to be direct calls to + the first known method implementation for that selector. + + This is disabled by default as it will give potentially confusing results for any selector + that has more than one implementation or for common selector names. That said, some users may + still find it to be useful. It can be enabled via `analysis.objectiveC.resolveDynamicDispatch` + setting. + +## Usage -### Workflow +Objective-C metadata will be automatically processed when you open a Mach-O or DYLD shared cache binary in Binary Ninja. -To utilize function call cleanup, the Objective-C workflow must be chosen when loading a binary for analysis. +The Pseudo Objective-C Language representation is available via the language pop-up menu at the top of Linear and Graph views: -![](../img/objc-workflow-selected.png) +![](../img/pseudo-objc-menu-item.png) -This will automatically apply structure analysis as the binary is analyzed and -also translate `objc_msgSend` calls to direct method calls, where possible. diff --git a/docs/img/objc-workflow-selected.png b/docs/img/objc-workflow-selected.png deleted file mode 100644 index 14d4c4ac147bf314ef30926deaa469446ebf87c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71140 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 W*u8Ll`MDSgkgTVxpUXO@geCy?Gd_a= diff --git a/docs/img/pseudo-objc-menu-item.png b/docs/img/pseudo-objc-menu-item.png new file mode 100644 index 0000000000000000000000000000000000000000..e0db6c4a29ebf190a5c650eebc5022ca1be1b0a4 GIT binary patch literal 258631 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