Page MenuHomeSolus

Update Cutter to 1.12.0
ClosedPublic

Authored by aleksvor on Fri, Sep 4, 7:40 AM.

Details

Summary

Changelog:

  • Decompiler
    • Context menu interactions with the decompiler are now context sensitive, only relevant menu items are shown and they applied to the item that was clicked.
    • Decompiler based Syntax Highlighting in the Decompiler widget (old highlighting mode can be chosen in appearance options).
    • Support opening multiple Decompiler widgets at the same time. Each of the instances can be set to show different decompiler (Ghidra, RetDec, r2dec, ...) and different functions.
    • Make the current-address synchronization consistent with rest of widgets.
  • Other
    • Support analysis after opening the file.
    • Configurable analysis options from the Preferences widget.
  • Radare2
    • Cutter 1.12.0 depends on radare2 4.5.1.
  • Known limitations
    • The new features in the Decompiler work best with r2ghidra, not all of them are implemented for r2dec.
    • Some hacky features, like instruction patching, that were available in the previous context menu are not available in the new one and might be added in the future.
    • Decompiling large functions using r2ghidra causes UI to freeze temporarily.

Depends on D9578.

Test Plan

Disassembled /bin/ls, checked Dashboard, decompiled main function with r2dec and tested syntax highlighting with KSyntaxHighlighting.

Diff Detail

Repository
R4774 cutter
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

aleksvor created this revision.Fri, Sep 4, 7:40 AM
aleksvor requested review of this revision.Fri, Sep 4, 7:40 AM
aleksvor updated this revision to Diff 23090.

Forgot the patch with workaround for build environment where Py2 and Py3 are both available (such as ours).

JoshStrobl accepted this revision.Tue, Sep 8, 5:35 AM
JoshStrobl added a subscriber: JoshStrobl.

LGTM, thanks!

This revision is now accepted and ready to land.Tue, Sep 8, 5:35 AM
This revision was automatically updated to reflect the committed changes.