Skip to content

Releases: droe/binja-blocks

Binja Apple Blocks Plugin 0.4.1

31 Dec 16:35
Compare
Choose a tag to compare

QoL release:

  • Make plugin actions cancellable (#30)
  • Queue plugin actions until initial analysis is complete (#32)

Full Changelog: 0.4.0...0.4.1

Binja Apple Blocks Plugin 0.4.0

26 Dec 20:52
Compare
Choose a tag to compare

What's Changed

Improvements to annotation:

  • Full support for generic helper info on descriptors (#27, #20, #23)
    • Annotate generic helper info just before descriptors, if present according to in-descriptor flags
    • Use whichever of layout or generic helper info has the better quality layout info
  • Improved heuristic of when to include layout field in descriptor (#7, #23)
  • New plugin command: Annotate stack byref here (#10)
  • Better flags decoding
  • Avoid clobbering invoke function parameter types of 100% confidence with types derived from the Objective-C signature string
  • Propagate type of captured self to block literal type

Other notable changes:

Full Changelog: 0.3.8...0.4.0

Binja Apple Blocks Plugin 0.3.8

21 Dec 16:06
Compare
Choose a tag to compare

Minor improvements to annotation:

  • Fix parsing of ObjC types with bit fields (b)
  • Annotate flags as enums, not uints, to allow Binja to decode them
  • Detect and annotate in-descriptor flags
  • Reference Objective-C types by name, not by value
  • Multiple minor robustness improvements to stack block and byref detection

Other improvements:

  • Use proper logger with log category Apple Blocks
  • No longer generate any comments

Full Changelog: 0.3.7...0.3.8

Binja Apple Blocks Plugin 0.3.7

14 Dec 22:38
Compare
Choose a tag to compare

What's Changed

  • Annotate byref keep and destroy functions with appropriate function types when annotating byrefs (#11)
  • Make plugin work in dyld shared cache mode (#6, #17; for best results, use latest development build)
  • Fixed multiple issues where multiple HLIL instructions at the same address as an instruction of interest would confuse the parsing of block literals and byrefs (#16, #14)
  • Improve error reporting to be more precise and less noisy for problems resulting from e.g. complex HLIL (#15)
  • Fix issue where imported variables in block literals would have a wrong offset suffix (regression introduced in 0.3.6)
  • Fix issue where blocks without layout information would cause an exception (regression introduced in 0.3.6)

Full Changelog: 0.3.6...0.3.7

Binja Apple Blocks Plugin 0.3.6

12 Dec 18:11
Compare
Choose a tag to compare

What's Changed

  • Set block literal struct defintions to their actual size by @WeiN76LQh in #2 addressing #1
  • Only add layout field to block descriptor for extended layout in #4 addressing #3
  • Make all plugin commands undoable as a single undo transaction

New Contributors

Full Changelog: 0.3.5...0.3.6

Binja Apple Blocks Plugin 0.3.5

04 Dec 10:39
Compare
Choose a tag to compare

Improvements to function signature annotation:

  • Propagate the invoke function signature to the invoke pointer on the corresponding block literal in order to clean up block invocations.
  • Set appropriate names for the invoke function's first parameter as well as all all parameters of the copy and dispose functions.
  • Avoid clobbering auto-detected parameters when annotating invoke for a block that has no signature info.

QoL improvement:

  • Add plugin command to remove comment added by plugin, in order to clean up after manually adding missing imported variables to the block literal struct.

Full Changelog: 0.3.4...0.3.5

Binja Apple Blocks Plugin 0.3.4

01 Dec 15:48
Compare
Choose a tag to compare

Documentation-only release to add screenshots to README.md.

Full Changelog: 0.3.3...0.3.4

Binja Apple Blocks Plugin 0.3.3

01 Dec 00:13
Compare
Choose a tag to compare

Bug fix release improving robustness of stack block and byref annotation.

Full Changelog: 0.3.2...0.3.3

Binja Apple Blocks Plugin 0.3.2

29 Nov 16:33
Compare
Choose a tag to compare

Maintenance release that improves parsing of block signature ObjC type strings, adding support for more undocumented type codes and more gracefully handling parse failures.

Full Changelog: 0.3.1...0.3.2

Binja Apple Blocks Plugin 0.3.1

27 Nov 23:09
Compare
Choose a tag to compare

Bug fix release improving compatibility with more obscure ObjC signature strings, addressing a number of exceptions and improving failure handling.

Full Changelog: 0.3.0...0.3.1