| Age | Commit message (Collapse) | Author |
|
- Removed last use of user object creation in objective-c
- Fixed function type info being omitted from certain images loaded automatically
- Add TODO about undo action in view init. This is not critical, just a non-actionable warning because of a design flaw
I will restate this again for anyone in the future, until the undo action system is thread-safe avoid calling it from any thread other than the main thread, it is very easy to deadlock or cause other issues. That goes for basically all user analysis object creation.
|
|
|
|
|
|
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.
|
|
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.
|
|
arm64: prefer fp, lr
arm64: update tests to use new reg names, improve windows build
|
|
This reverts commit cb7c2d3bb716a2e96cf7f127bbf71992a4861907.
|
|
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.
|
|
|
|
|
|
|
|
MSVC shows several warnings, but this one is shown as an error, preventing compilation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
polar bears.
|
|
|
|
files list.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
thrown exception
Probably should have done this sooner, just lets the user continue analysis, rtti exceptions are continuable from the view of analysis.
|
|
|
|
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.
|
|
Previous commit causes failures in API documentation generation. This
builds and passes unit tests locally, hoping that will also be the case
for CI.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes https://github.com/Vector35/binaryninja-api/issues/6837
|
|
|
|
So that users of the memory map API can know if a view has activated the memory map and adjust behavior accordingly.
|
|
Fixes Vector35/binaryninja-api#6679
|
|
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
|
|
|
|
|
|
|