Objective-C Analysis Plugin

The objc plugin was created to facilitate analysis of binary files compiled from Objective-C.

For an overview of what the plugin can do, see menu Edit>Plugins>Objective-C Options.

Note: This plugin will only work with Mach-O binaries.

The bulk of the plugin's work is done at load time, when it will parse Objective-C specific
data embedded in the input file and use this to create type information and identify
method implementations.

The plugin will also perform Objective-C specific analysis during decompilation.
When an Objective-C function is decompiled, the plugin will analyze all calls to objc_msgSend
and use the arguments to determine if objc_msgSend will ultimately call one of the methods
in the current database.

If such a situation is detected, the plugin will add an xref to the target method and update
the type of the return value. This is done in the hopes that continued use of the decompiler
will improve call graphs for Objective-C binaries.

The objc plugin also provides a "step into" for objc_msgSend.
When using menu Debugger>Run until message received, the debugger will automatically
run to objc_msgSend, use the argument values to determine which method will be called,
and break once execution reaches this method.

Also, Objective-C type info can be parsed for any given module by using right click->Load debug info
in the Modules window.