Home

Awesome

Apple Blocks Plugin

Author: Daniel Roethlisberger

Annotation of Apple libclosure blocks.

Description

Type annotation of stack and global blocks, block descriptors, variables closed over and related function signatures in Binary Ninja. Blocks are an implementation of closures often found in C, C++, ObjC and ObjC++ code for Apple platforms. Blocks are not the same as C++ lambdas.

Stack block before annotation:

Screenshot of stack block before annotation

Stack block after annotation:

Screenshot of stack block after annotation

Invoke function before annotation:

Screenshot of invoke function before annotation

Invoke function after annotation:

Screenshot of invoke function after annotation

Commands:

Features:

Known limitations:

References

Blocks language docs:

Blocks implementation details:

Objective-C Type Encodings:

License

This plugin is released under an MIT license.