This repository was archived by the owner on Jun 25, 2025. It is now read-only.
Commit 94bdcd8
committed
Add a setting to opt out of rewriting message sends with visible implementations
The setting is on by default to preserve the current experience. It
should likely be revisited as related changes are merged.
I find this to be confusing as often as it is helpful since it picks the
first implementation of the selector it sees without consideration for
the type of the receiver.
This is particularly annoying if the binary being analyzed implements a
method with the same name as a commonly-used method on a system type
(`-description` or `-path`, for instance), or has methods with generic
names (`-initWithURL:`) on many types.
Explicit cross-references from selectors to method implementations make
it possible to see the potential implementations without rewriting the
call, and an Objective-C pseudo-language
(Vector35/binaryninja-api#6807) provides an even
more natural representation of Objective-C message sends without these
downsides.1 parent 0df5ff8 commit 94bdcd8
2 files changed
Lines changed: 15 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
44 | 53 | | |
45 | 54 | | |
46 | 55 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
| 118 | + | |
| 119 | + | |
118 | 120 | | |
119 | 121 | | |
120 | 122 | | |
| |||
126 | 128 | | |
127 | 129 | | |
128 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
129 | 135 | | |
130 | 136 | | |
131 | 137 | | |
| |||
135 | 141 | | |
136 | 142 | | |
137 | 143 | | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | 144 | | |
143 | 145 | | |
144 | 146 | | |
| |||
0 commit comments