http://open-source-security-software.net/project/cutter/releases.atom Recent releases for cutter 2024-09-19T01:40:42.778498+00:00 python-feedgen cutter v1.0-alpha cutter v1.0-alpha 2017-11-21T23:11:56+00:00 Cutter testing release. 2017-11-21T23:11:56+00:00 cutter v1.0 cutter v1.0 2017-12-04T10:03:02+00:00 This is the first release of Cutter 2017-12-04T10:03:02+00:00 cutter v1.1 cutter v1.1 2017-12-25T10:02:48+00:00 Cutter Christmas release. - Many improvements and bugfixes 2017-12-25T10:02:48+00:00 cutter v1.2 cutter v1.2 2018-01-30T22:06:25+00:00 2018-01-30T22:06:25+00:00 cutter v1.3 cutter v1.3 2018-03-09T17:04:29+00:00 # Cutter 1.3 ## Additions * Added Jupyter Notebook integration * Added python bindings to Jupyter (`import cutter; cutter.cmd('pd 10')`) * Added basic search capability * Improved color handling (splitted Qt Theme and Disassembly Theme) * Added option to set `anal.bb.maxsize` * Added Types widget * Added Virtual Tables widget * Added Resources widget * Added a `build.sh` script for easier building * Added option to nop instructions * Added `ahb` (bits selection) for current instruction (Useful for arm/thumb, etc.) * Added highlight for main function in functions panel * Added `asm.fcnlines` option * Added radare2 plugins information in About window ## Fixes * Fixed byte/instruction edition (write mode) * Fixed colors on Windows * Fixed a segfault when closing the LoadOptions dialog * Improved loading to match radare2 behaviour * Made HexdumpWidget more resizable * Fixed sorting in Strings widget * Fixed double click in Sections widget * Fixed dark theme handling and logo color for NewFile dialog * Adjusted Omnibar size and padding * Improved graph view * Made the AnalThread interruptable ## Deletion * Removed old NotepadWidget in favor of Jupyter Notebook 2018-03-09T17:04:29+00:00 cutter v1.4 cutter v1.4 2018-04-24T08:53:04+00:00 # Cutter 1.4 release ## Additions * Added project deletion with a right click in the projects list * Added FlagsWidget context menu * Added registers used by current function in the side bar * Added `cutter.refresh()` python API for Jupyter (refresh widgets) * Added ability to open Cutter with no files * Added certificates listing * Added quick filter to Imports and Exports widgets * Added ROP gadgets searching (`/Rj`) * Added `/v` search ability * Added option to swap conditional jumps (patching) * Added `asm.size` option in preferences ## Fixes * Fixed some fonts issues * Fixed multiple widgets sorting issues * Jupyter notebook fixes * Fixed HexdumpWidget scrolling and seeking * Fixed omnibar seeking * Improved RelocsWidget * Fixed restoring window layout * Fixed OS X packaging issue * Removed useless stuff from AppImage * Removed lib files from Windows zip package * Fixed some crashing issues in specific environment * Updated documentation 2018-04-24T08:53:04+00:00 cutter v1.5 cutter v1.5 2018-07-02T12:09:49+00:00 # Cutter 1.5 release ## Additions * Add QuickFilter to RelocsWidget * Readme/documentation update * Load radare script from Options Dialog * Distribute precompiled cutter_*.py files * Windows dist: moved r2 related data to <radare2> subdir * Added a button "Version Information" in Dashboard (iVj) * CommentsWidget refactor * Reordered preferences panel * Dark theme improvements * Added copy address feature in graph/disasm * Added info about nullptr and connect() style (doc) * Added entropy to Section widget * Added message box when r_core_file_open fails * Disassembly improvements * Added ctrl+wheel zoom in graph view * Added forward/back functionality to mouse buttons * Disabled alignement to 0 in HexdumpWidget * Replaced placeholder icons in preferences window with SVGs * Graph improvements * Added headers widget * Added a panel for zignatures * Added possibility to have multiple graph/disasm/hexdump widgets * Added AsyncTask * Added AsyncTaskDialog * Added widget to view register values (debugger WIP) * Reset settings do not change selected architecture anymore * Added python dependencies notice for default building process * Added appstream XML file * Added shortcuts to change font-size in disassembly widget * Added a open file dialog * Fetch strings asynchronously * Run Commands from ConsoleWidget in AsyncTask * Disabled Console QLineEdit when task is running * Improved docker build guidelines and Dockerfile * Fetch functions asynchronously * Added possibility to have C++ plugins * Increased default graph maxcols * Added python _getentropy fix for macOS El Capitan * Updated radare2 ## Fixes * Refactor SymbolsWidget to use Model/View architecture * Refactor SectionsWidget to use Model/View architecture * Refactored Analysis Options * Fixed Entropy and base addr on Dashboard view * Fixed base address load option default value * Fixed switching between views in same offset * Fixed x-refs to Address * Fixed references to pkg-config in lib_radare2.pri for unix * Fixed weird widget priority behaviour and add message to empty graph * Fixed highlight color in xref dialog ## Removals * Removed callgrind Macros * Removed Progress UI from OptionsDialog 2018-07-02T12:09:49+00:00 cutter v1.6 cutter v1.6 2018-07-14T20:28:15+00:00 # Cutter 1.6 - Codename "Arterial Incision" This is a smaller release than 1.5 with the primary goal to fix a bug on Windows, which caused the Functions, Strings and Console widgets to be unusable. ## Additions * Updated radare2 to a98557b (after 2.7.0) * Use p- in VisualNavbar * Optimize VisualNavbar Stats Loading * Save last clicked tab in NewFileDialog * Added IO list to NewFileDialog * Enable sorting for plugin lists (#566) * AppVeyor: optimize python modules (#569) ## Fixes: * Fixed unusable Functions, Strings and Console widgets on Windows by recent changes in radare2 * Fix #562, replace ?d. by aod * Docker: Fix typo in README.md, travis: fix image name (#564) * Remove unnecessary newline from VisualNavbar tooltip * Fix dont open any file option * Fix unwanted jumping from Hexdump to Disassembly * Fix empty IO * Fix HexDump HTML issues * Reorder starting AnalTask and showing Dialog * Do not show MainWindow if loading failed * Initialize settings earlier and disable jmptbl (#576) * Exclude python libs when using linuxdeployqt * Set r2 prefix before r_core_loadlibs() 2018-07-14T20:28:15+00:00 cutter v1.7 cutter v1.7 2018-08-17T19:41:39+00:00 # Cutter 1.7 - Codename "Xarkes doesn't care about codenames" Along with some smaller additions and fixes, this release introduces the first big changes by our GSoC student @fcasal in the form of emulation support. ## Additions * Graph highlighting (#624) * UI Improvemetnts + graph.offset implementation (#612) * Add T/F shortcuts in graph view (#611) * adding Open Shellcode function to the New menu mode (Fix #547) (#609) * Add Set to Code/Data feature (#602) * Added options to remove excessive spacing (#577) ## Fixes * Fixing #625 - EditInstruction ignores reject() (#626) * Fix #619 (#623) * Fix OptionsDialog initialization warning * Fix disassembly colors (#617) * Set bits for analysis after loading the binary (#618) * Fix #601 (#613) * Fix #604 - Forbid double clicking on ok * Fix wrong rebase * Fix AttachProcDialog include in DebugToolbar.cpp * Fix flagspace for initial script * Fix companion script loading * Fix segfault when adding new graph widget (#592) * Fix export graph in contextmenu (#593) * Fix opening correct panel in the preferences dialog via the contextmenu (#583) * Set r2 prefix before r_core_loadlibs() ## Emulation/Debug * Added continue until call for emulation (#599) * Added option to break esil execution on invalid instructions (#597) * Only enable emulation * Added register references to registerwidget tooltip * Added context menu to register refs * Added check for non-executable binary * Center label vertically in registers * Added seeking, editing and colors to stack widget * Fix location of breakpoint contextmenu * preserve maximization choice when switching to debug * Fix register editing in emulation * Fix horizontal scrolling in stack widget * Fix naming of program counter in contextmenu * Larger stack by default * Fix highlighting in RIP when restarting emu/debug * Debug geometry is now customizable * Preserve open widget when switching to and from debug mode * Fix wonky widgets when using readSettings * Closing Cutter during debug stops the process * Added register references widget * Hack to fix continue until commands (#586) * Monospace fonts (#584) * Add esil stack options and cleanup (#582) * Debugging shortcuts (#578) * Added emulation support (#553) * Added new buttons to breakpoint widget (#548) * highlight PC line while debugging (#541) * Color debug toolbar when debugging (#545) * Added Breakpoint widget (#546) * fix saving settings when debugging * Added debug option to define program arguments * added debug option to change debug plugin * add continue until call/syscall to toolbar * when quitting debug, we go to where we were before debug * added basic debug view and stop debug button to toolbar * Debug toolbar (#521) 2018-08-17T19:41:39+00:00 cutter v1.7.1 cutter v1.7.1 2018-08-26T12:04:52+00:00 # Cutter 1.7.1 Patch release primarily for fixing the Strings Widget. ## Additions * Add 'Export as code' feature (#657) * Updated radare2 submodule to f82b289 (#652) * Specify require for QT (#646) * Make af from DisassemblyContextMenu more meaningful * Add -i Command Line Arg * Use InitialOptions right from the start * Rename OptionsDialog to InitialOptionsDialog * Navbar color improvements (#628) ## Fixes * Fixed #643 empty strings panel (#655) * Don't use native macOS Font Dialog (Fixes #630) * Fix Default Anal Level * Fixing graphOptions layout (#640) 2018-08-26T12:04:52+00:00 cutter v1.7.2 cutter v1.7.2 2018-10-08T08:58:48+00:00 # Cutter 1.7.2 ## Additions * Added export graph feature (#650) * Added icon for Windows (#674, #677) * Updated documentation * Added support for r2dec * Added instruction preview to the bytes edit dialog (#696) * Added a dialog when trying to write a non writable file (#695) * Added an update check (#704) * Refresh the view after executing an r2 script (#723) * Added filename to title (#726) * Keep graph view priority if graph is empty (#734) * Local variable edition via context menu (#708) * Enabled continue, asm.flags in emulation ## Fixes * Fixed missing items from view submenu * Updated offset during startup * Fixed segfault when pressing f or t in graph mode * Fixed xref description * Fixed jump tables display * Fixed instruction preview dialog (#714) * Fixed Cutter load script for sleeping * Random segfaults fixing (#724) * Fix editable hex widget (#725) * Fixed macOS builds (dynamic lib loading) * Updated attach dialog (#603) * Updated debug toolbar * Fixed Ctrl+F in Flag widget (#759) * Hide debug IO plugins (#767) * Fixed macOS instructions to build manually * Updated radare2 ## Removals * Removed pie chart (#661) * Removed unneeded menu (#720) * Removed QtWebEngine by default (#728) ## Known issues * Jupyter Widget not working on some Windows environments 2018-10-08T08:58:48+00:00 cutter deploy-test cutter deploy-test 2018-11-04T14:49:33+00:00 2018-11-04T14:49:33+00:00 cutter nightly cutter nightly 2018-12-24T15:02:53+00:00 Cutter binaries 2018-12-24T15:02:53+00:00 cutter v1.7.3 cutter v1.7.3 2018-12-26T13:04:41+00:00 # Cutter 1.7.3 ## Additions * Added recent projects list in NewFileDialog (#785) * Added extra function information to function widget (#788) * Added color scheme customization feature (#709) * Added status bar and display items count (#779) * Added indicator to show when a command is being executed (#789) * Added context menu to Strings Widget (#817) * Added some keyboard shortcuts for widgets (#819) * Added header to Disassembly Widget to show function prototype (#771) * Added close and reopen button to Hexdump Widget side view (#852) * Added segments view (#851) (#916) * Enabled colors in console (#823) * Added edit function menu and dialog (#765) * Disabled debug window menu outside debug/emulation mode (#860) * Made text in About Dialog selectable (#871) * Added try again option when write failed (#880) * Added translations system (#848, #895) * Updated seek after console tasks finishes (#883) * Auto refresh contents after loading PDB (#935) * Added section selection to Strings Widget (#938) * Added xref shortcut to Strings Widget (#858) * Added new package UI design for MAC build (#986) * Added *BSD support to `build.sh` (#994, #1000) * Added block selection in Hexdump Widget (#1006) * Added Dark Native Colors ## Fixes * Runtime crash fix (#799) * Fixed extra empty row in Function Widget (#797) * Don't show Load Options dialog when choosing not to open any file (#800) * Fixed handling of `Close` button in `Save Project` dialog (#806) * Fixed `asm.var.sub*` fetching in AsmOptionsWidget * Fixed logic bug with close window flag (#826) * Fixed non-mono font token highlighting on graph view (#825) * Multiple highlight fixes (#896, #899) * Fixed C++ plugin loading (#829) * Fixed function summary displayed in tooltip (#831) * Moved General Settings menu to Appearance (#837) * Fixed `exit()` calls in CutterApplication constructor * Typos fixes * Fixed utf8 file path for Windows (#890, #969) * Fixed project saving on Windows (#900) * Fixed Settings initialization (#901) * Fixed Dockerfile building * JSON parsing optimization (#947) * Fixed Jupyter with recent versions (#949) * `build.sh` improvements * Improved some colors (#976, #992, #1003) * Fixed graph refreshing * Several clean up * Updated radare2 ## Deletion * Removed `isForbidden()` that checked command in console widget * Killed Sidebar Widget 2018-12-26T13:04:41+00:00 cutter v1.7.4 cutter v1.7.4 2019-01-21T21:31:22+00:00 # Cutter v1.7.4 This release improves greatly the performances of the interface. ## Additions * Added a Welcome Dialog (#1116) * Added RefreshDeferrer to redraw only visible widgets * Added 'Copy' context menu option to graph view (#1097) * Highlight program counter in Navbar widget (#1095) ## Fixes and changes * Fixed pdJ command results (#1124) * Fixed translations deployment for MAC & Linux * Fixed overlap qlabel and icon in WelcomeDialog (#1123) * Fixed r2 injection in FunctionsWidget tooltip (#1122) * Fixed CutterSeekable isSynchronized() and signal on de-syncing (#1121) * Fixed incorrect "(unsynced)" in the graph widget's title. * Improved xref widget performances (#1112) * Added USE_LIB_MAGIC check to avoid compilation issues * Fixed DisassemblyWidget's eventFilter crash (#1111) * Fixed a bug with the emulation layout (#1107) * Fixed many warnings in DisassemblerGraphView (#1103) * Refactored CutterSeekableWidget to CutterSeekable (#1099) * Enforce LTR layout (#1102) * Removed Fallback for afcf in Graph Header (#1090) (performances) * Wrapped Python API * Optimized tooltip data retrieving (#1088) * Adjust size of each section in the address maps of Section Widget (#1086) * Fixed lrelease for Windows (#1055) * docker/Dockerfile: Added check for image building (#1054) * Improved XREF window size and locations (#1049) * Fixed some tiny analysis issues caused by Cutter * Implemented click and seek for the address maps in the Section Widget (#1046) * Made Plugin window bigger for readability (#1044) * Set default IO plugin to file:// (#1042) * Fixed AppImage Link in README.md 2019-01-21T21:31:22+00:00 cutter deps-test cutter deps-test 2019-03-05T12:53:03+00:00 2019-03-05T12:53:03+00:00 cutter deploy-test-v1.8.0 cutter deploy-test-v1.8.0 2019-03-17T11:45:42+00:00 2019-03-17T11:45:42+00:00 cutter v1.8.0 cutter v1.8.0 2019-03-20T13:51:11+00:00 # Cutter 1.8.0 This release is one of the biggest so far, bringing a full Python API for creating Plugins and many improvements to the Graph Widget, such as the Graph Overview, along with lots of other improvements and fixes. Notice that in this version we dropped the support for 32-bit binaries. We also made improvements to our configuration files, this might reset your current configurations. ## Additions * Add Support for Python Plugins * Add Graph Overview * Graph scrolling forever (#1195) * Add Plugins Section to Preferences * Add configurable graph overview node color (#1259) * Auto update check (#1235) * Added feature to link a type to an address (#1219) * Add feature to apply structure offset and fix some issues in EditVariablesDialog (#1215) * Added a BasicBlock highlighting API * Show sizes of structs and unions (#1203) * Implement highlight in Types dialog (#1186) * Added load, delete and export features in the Types Widget (#1158) * Added a checkbox in the preferences dialog for asm.indent (#1175) * Add support for listing and editing Anal Classes in ClassesWidget * Adding #685 (Adding a report issue button) (#1165) * Added some of the features mentioned in the Types Widget Project. (#1153) * Added 'asm.xrefs' option in preferences dialog (#1150) * Added support for automatically saving and opening recent folder (#1149) * Added dialog to show infinite progress-bar while running script (#1145) ## Fixes and Changes * Updated radare2 to 3.3.0 (#1231) * Fix changing Variable Name in EditVariablesDialog * Fixes regarding saving and restoring of the Widget Layout (#1308) * append layout to OpenFileDialog, so the dialog more flexible (#1293) * Removed asm.stackptr option because the result is meaningless (#1285) * Fix NewFileDialog positioning on macOS * Fix NewFileDialog leaking MainWindow * Replace red syntax highlighting with blueish color (#1261) * Disable aan (#1253) * Start using "gui.navbar.seek" color instead of "gui.navbar.err" to show seek cursor (#1244) * Fix an infinite loop bug (#1218) * Overview does not disappear anymore when it is moved to the same dock as Graph (#1212) * Change organizationName and use QSettings:IniFormat (#1213) * Fix Segfault when jupyter is not installed * Modified some APIs for more consistence * Move everything Jupyter related out of PythonManager * Fix arch and bits in Hexdump Widget (#1209) * Update SyntaxHighlighter.cpp (#1206) * Fix a bug which causes segfault when adding another Graph (#1202) * Fix FunctionsWidget Tooltip Colors * Move HTML Disasm formatting to Cutter * AppVeyor: switch to VS2017, Qt 5.12 and disable x86 build (#1184) * disable "aan" from advanced options (#1190) * Fix graph header resizing (#1189) * Fix SDB Browser docking problem and rename the whole thing (#1188) * Fix progress bar alignment (#1185) * Fixed memory leak and refactored code (#1181) * Reordered menu items by alphabetical order (#1178) * set ayu default for dark interface (#1174) * Fixed AboutDialog leaking (#1168) * Improved big blocks rendering performance (#1166) * Fixed asm.xrefs checkbox in Asm Options (#1167) * Prevent r2 injection when opening a file (#1125) * Fix graph blocks rendering optimization (#1164) * Force context menu to show shortcuts fix. Closes #1154 (#1163) * Dockerfile: Use Cutter from master, merge layers (#1141) * Moved type checkbox from windows/info to windows dropdown (#1142) * Fix CutterCore::getAllRelocs() for RBTree (#1135) 2019-03-20T13:51:11+00:00 cutter deploy-test-macos cutter deploy-test-macos 2019-04-06T09:46:20+00:00 2019-04-06T09:46:20+00:00 cutter v1.8.1 cutter v1.8.1 2019-04-14T20:56:41+00:00 After the great 1.8.0 release, this one concentrates on bugfixes and minor improvements. ## Additions * Update radare2 to 3.4.1 (#1420) * Add automatic Crash Handling (#1157, #1439, #1443, #1447, #1449) * Navigate through graph view with arrows (#1441) * Implement middle mouse button panning. (#1433) * Make plugins path selectable and bold (#1422) * Load plugins from app dir on Windows (#1408) * Implement Getter for MainWindow's menus (#1418) * Enable dock grouped dragging when available. (#1402) * Add emu.str in Preferences->Metadata (#1369) * Add compiler information to dashboard (#1385) ## Fixes and Changes * Refactor Refresh and Display of Overview (#1453) * Fix Segfault with Extra Widgets * Removed max bbsize analysis option (#1424) * Fix crash in StringsWidget::on_actionX_refs_triggered. (#1450) * Focus on visible disasm or graph (#1444) * fix compile ubuntu gcc7 (#1442) * Use Python stable ABI >= 3.5 (#1426) * Replace GraphView::useCache with dirty flag (#1437) * Bring back Launch Script for macOS (#1438) * Fix GraphEdge initialization in DisassemblerGraphView (#1436) * Rewrite block sorting and placment so that unreachable blocks are processed. (#1428) * Minor Header Optimizations (#1429) * R2PluginsDialog: Sort plugins by name in ascending order (#1431) * Meson: remove workaround for qtmain lib (#1430) * Make graph layout more failure resistant. (#1427) * Separate graph layout code from GraphView. (#1414) * Take pixel ratio into account for graph cache. (#1405) * Get color for optimization (#1404) * Init Layout after loading Plugin UI (#1407) * Xrefs select top item (#1401) * Do not update sectionWidget position outside valid range. (#1399) * Fixed not switching Disassembly to not opened Graph view using <space> (#1370) * build.sh: Check for lrelease-qt5 (#1396) * Renamed asm.bbline to asm.bb.line (#1400) * Fixed overview basic block highlighting (#1393) * Remove Jupyter Integration (#1398) * Improve hexdump width calculation. (#1389) * Fixed a few issues with the XRef dialog (#1384) * Delete all PySide2 QObjects before Py_Finalize() (#1386) * Add CutterPlugin::terminate() (#1372) * Build an app bundle on macOS (#1355) * DisassemblerGraphView zooming fix (#1354) * Feature/dialogs optimization (#1360) * Fix a bug regarding highlighting the words in Graph * Fix crash because of mixing debug and release CRT. (#1361) * Extend FindPySide2.cmake and FindShiboken2.cmake for current versions (#1358) * Fixed a bug related to reset_settings (#1349) 2019-04-14T20:56:41+00:00 cutter deploy-test-pancake cutter deploy-test-pancake 2019-04-29T10:51:55+00:00 2019-04-29T10:51:55+00:00 cutter v1.8.2 cutter v1.8.2 2019-05-20T21:05:35+00:00 ## Additions * Updated radare2 to 3.5.1 * New Hexedit (#1516) * Save Console Wrap in QSettings (#1550) * Added hotkeys for undo and redo seek (#1514) * Added advanced options aao and avrr to the initial options dialog (#1513) * Added X-Refs context menu item for Flags Widget (#1499) * New Color Theme Editor (#1461) * Added Light Theme (#1486) * Added Console Autocompletion from radare2 (#1489) * Added Ctrl-Shift-C shortcut (#1476) * Show a tooltip with Asm\Hex preview on search hits (#1480) * Added Option to toggle Line Wrap in Console (#1466) ## Fixes and Changes * Keep Console Font on Theme Change (#1567) * Remove vertical padding in QMenuBar in Light Theme (#1566) * Improve Color Theme Copy Feature (#1560) * Add Settings and Color Theme Versioning (#1557) * Take in to account selected instruction when moving view offset. (#1551) * Make code compatible with QT 5.9 (#1553) * Fix XrefsDialog Preview Font (#1548) * Fix non-integer Font Metrics in Graph (#1545) * Fix io plugin listing. (#1544) * Remove unnecessary Console Messages (#1546) * Fix Sections Size in Visualization * Auto Resize Visualization in SectionsWidget * Add Permissions Column to SectionsWidget * Make gui.dataoffset color adapt to Native * Always enter mouse drag mode when clicking on overview widget. (#1539) * Refresh overview even when function doesn't change (#1541) * Fix Bindings of Signals (Fix #1482) (#1530) * Seperate Widget showing grid of bytes from rest of the hexdump panel. (#1504) * Fix Shortcuts of DisassemblyContextMenu (#1510) * Make grouped dock dragging optional. (#1506) * Invalidate overview graph cache when changing color. (#1502) * docker/Dockerfile: Make build noninteractive (#1500) * Use API for Functions (#1498) * Only require Shiboken2 and PySide2 Version up to Minor (#1491) * Delete Extra Widgets on Close (#1490) * Use same font size for all text in hexdump widget. (#1485) * Fix highlighting bugs in DisasmWidget (#1477) * Help not getting lost in empty parts of graph. (#1467) * Show context menu with non block specific graph actions everywhere. (#1465) * Show recent files ordered by opening time. (#1462) * Improve project choose page (#1451) * Start placing edges from centre. (#1460) * Fallback to current offset in LinkTypeDialog (#1458) 2019-05-20T21:05:35+00:00 cutter v1.8.3 cutter v1.8.3 2019-07-09T09:59:03+00:00 ## Additions * Updated radare2 to 3.6.0 * Case Insensitive ASM search (#1612) * Improve hex selection painting and right click behavior. (#1602) * Implement Editing and Viewing of Types in the Types Widget (#1597) * Improve Graph Overview Fill and Node Colors (#1596) * Implement Seek to start/end of function Shortcuts (#1589) * Basic Block Highlight (#1533) * Hide duplicate and cross-function edges. (#1582) ## Fixes and Changes * Rename dialog text is now preselected (#1635) * Disable asm.movlea by default (#1630) * Fix asm.describe typo (#1629) * Move graph header to GraphWidget. (#1628) * Initial refactoring and improvement for Assembly Options Dialog (#1627) * Disable modification buttons for builtin color themes (#1615) * Fix crash on theme edition (#1614) * Fix Console Font for some Platform Themes (#1610) * Don't raise unsynced widgets. (#1609) * Remove Memory Widget Pointers and Toggle Actions * Refactor Layout Save and Restore Feature (#1538) * Use correct character width for hexwidget (#1607) * Reset breakpad to buildable commit (#1605) * Fix def. Cutter specific Colors for Custom Themes (#1606) * Interface theme and theme features refactoring (#1598) * Combine Set-As menu items (#1601) * Remove default Shiboken2 executable in qmake proj (#1600) * Sync hex.pairs eval to "Bytes as pairs" in Hexdump (#1586) * Added natural registers sorting in RegistersWidget (#1591) * Fix memory leaks found by ASAN. (#1590) * Make the shadow selection wider in hex (#1584) * Update hex side panel only when visible. (#1578) * Fix PNG iCCP errors (#1583) * Fix QToolbutton color and offset in light theme. (#1579) * Remove tab style modifications in native style sheet. (#1565) * Lock Core in CutterCore::loadScript() (#1581) 2019-07-09T09:59:03+00:00 cutter v1.9.0-pre cutter v1.9.0-pre 2019-09-05T14:16:39+00:00 2019-09-05T14:16:39+00:00 cutter v1.9.0 cutter v1.9.0 2019-09-06T08:31:18+00:00 This release comes bundled with the r2ghidra Decompiler. Enjoy r2con 2019! ## Additions * Bundle r2ghidra-dec * Select highlighted variable in EditVariablesDialog if possible. (#1727) * Allow seeking in unsynchronized widgets using 'g'. (#1731) * Decompiler Auto-Refresh (#1724) * Make Decompilation asynchronous (#1721) * Add context menu entries for target address (#1712) * Add context menu to PseudocodeWidget (#1702) * Graphviz based graph layout (#1691) * Graph edge highlight (#1693) * Added QtVersion inside AboutDialog * Updated DisasWidget zoom shortcuts * Remember last selected Decompiler * Add Plugin Interface for Decompilers * Add a generic Decompiler interface and remove pdc (#1659) * Add scrolling to DisassemblyWidget left panel * Sync PseudocodeWidget with Seek (#1648) * Use KSyntaxHighlighting (#1645) * Add Loading ~/.cutterrc (#1644) ## Fixes and Changes * Rename PseudoCode widget to Decompiler (#1728) * Center Rename Dialogs (#1743) * Update radare2 to 3.8.0 * Fix unnecessary Auto-Decompile on Seek (#1734) * Read global offset when opening a new hexdump widget. (#1732) * Common behaviour for lists with items that have address (#1700, #1718) * Increase asm.tabs indention * Fix Main Task Synchronization (#1723) * Fix Disassembly widget focus detection. (#1720) * Refactor Decompiled Code Structure (#1717) * Fix Segfault after changing Decompiler (Fix #1705) (#1715) * Restore cursor after making empty selection. (#1714) * Don't interpret data as code in xrefs from table. (#1710) * Improve InitialOptionsDialog and modify UI terminology for analysis (#1669) * Fix out of bounds memory access. (#1697) * Fixed file name display in new file dialog (#1675) * Allow returning to top level in sdb widget. (#1696) * Fix memory leak in sdbListKeys. (#1695) * Fix ClassesWidget sorting by vtable offset (#1686) * Transfer zoom events from overview to main graph. (#1685) * Use bundled radare2 as ExternalProject in cmake (#1674) * Don't use scr.html in CommandTask (#1683) * Fix arrow offset when scrolling with arrows or zooming in. (#1677) * Docker: Move to alpine; Use multistage building * Rewrite raise memory widget functionality (#1654) * Unify preferences layouts (#1670) * Use more specific stylesheet selecters. (#1668) * Adjust arrow offset calculation. * Make penSizePix thinner * Improve arrow widget * First implementation of new disassembly widget * Make Syntax Highlighter react to Theme Changes (#1650) 2019-09-06T08:31:18+00:00 cutter v1.10.0 cutter v1.10.0 2019-12-20T19:20:34+00:00 This release comes with the long promised native and remote debugging support. Celebrate the end of the year with Cutter 1.10! ## Currently supported features * Multiplatform native debugger * Remote debugging using GDB * Remote kernel debugging using WinDbg * Attaching to a running process * STDIO interaction with debugee * Support for multi-threading * Stack and Registers inspection * Backtrace * Memory map And much more! ## Planned and in-progress debug features * Reverse debugging * SIMD register display * Hardware breakpoints support * Conditional breakpoints * Signal handling customization * Performance improvements * Integration with rarun2 library preload * Standalone DLL debugging * WinDbg Ethernet protocol support Note that any kind of contribution is welcome. We are eager to hear your feedback for more debug improvement ideas! ## Known issues * Linux breakpoints only work if you are selecting the thread that will hit the breakpoint * Function stack variable comments aren't relocated in GDB remote debug * Cutter's interface changes size when debug is started/stopped * macOS debugging doesn't work without signing the binary Please give it a try and let us know what you think :) ## Full Changelog ### Additions * Add -F command line option to specify Format (#1946) * Define string of length N in address (#1915) * Add startRemote to the debug dropdown menu * Add a signal for widget rebasing and switch to oodf for remote debug rebasing (#1913) * Add debug dialogs (#1903) * Add processes widget for kernel and child debugging (#1894) * Stdin redirection for locally debugged processes (#1892) * gdbserver and windbg remote debugging support (#1874) * ThreadsWidget and r2 debugging fixes (#1846) * Pressing Enter in disassembly will jump to the desired location (#1910) * Add menus to seek backward and forward buttons. (#1889) * Add Adikso's Midnight Theme (#1895) * Highlight in red changes in the Hexdump Widget (#1880) * Add instruction highlight in graph view (#1879) * Add highlight to hexdump (#1862) * Redirect stdout/stderr to Console Widget (#1821) * Add shortcuts to breakpoints widget (#1834) * Add common zoom action for widgets using font from configuration (#1813) * Implement parsing selected bytes as Yara (#1818) * Add search color option feature + sort color options by name (#1803) * Add information from aai to Dashboard, fixes #1571 (#1792) * Add addressable item context menu to stack widget (#1779) * Add more shortcuts to DisassemblyContextMenu (#1782) * Graph export without graphviz (#1773) ### Fixes and Changes * Moved the debug exit dialog to DebugActions * Update radare2 to 4.1.1 - reantull * Use events to notify the user about the debugee's death * Fix remote debug crash after the first session * Prevent the update of some widgets while debug task is in progress to avoid freezing * Switch to registerChanged from seekChanged where possible * When using add breakpoint button add it not toggle. (#1953) * Workaround for new debug widgets being opened in normal mode. (#1950) * Show debug widget menu under Debug. (#1949) * Highlight Breakpoints and PC in decompiler (#1948) * Fix Segfault on Quit after Debug/Emulation (#1943) * Fix automatic function naming (#1942) * Increase input field size when resizing NativeDebugDialog. (#1930) * Fix formatBytecount's sizes (#1928) * Separate the search widget's boundaries for debug and non-debug modes * Replace changeDebugView and changeDefinedView with toggleDebugView * Removed disabling of startEmul to show the restart debug option when emulating * Remove metadata from inkscape icons * Remove auto scroll from registerRefs widget * Support multi-theme icons on debug * Improve debug icons * Show icon in menus * Use uppercase for program counter name * Make labels selectable by mouse * Disable auto scroll in stack widget * Rename backtrace func name column * Auto-select text in EditInstructionDialog * Improve RegistersWidget grid UI * Improve stack widget ui * Remove column of active thread in ThreadsWidget * Remove vertical numbers in debug widgets * Change label to suspend process * Detach Cutter interface from debug command execution (#1857) * Look for sym.main instead of main 'cause latter is not rebasing in PIEs * Fix PIE debug * Hides the ContinueUntilMain button if there is no flag called main * Fixes issues with reset layout in debug mode * Fix emulation not working after a debugging session * Improve seek backward and outside of function in Decompiler widget (#1916) * Fix 1756: Disable seek when selecting text on Decompiler Widget (#1917) * Coverity Fixes (#1912, #1907) * Replace hardcoded system plugin directories with list from Qt. (#1814) * Added a temporary fix to allow backslashes names (#1899) * Improve compatibility with cmake 3.10. (#1882) * Disable asm.lines and asm.bytes in XRefs Preview (Fix #1339) (#1893) * Fix Strings Widget for changes in radare2 (#1885) * Change focus order in SetToDataDialog. (#1873) * Hide and resize hexdump sidebar with heuristics (#1798) * Refactored qhelpers AbstractItemView item select (#1850) * Fix decompiler widget not updating xrefs to decompiled function (#1851) * Automatically select the first line of xref (#1849) * Deduplicate seek forward and backward action. (#1844) * Show bytes has been renamed and moved (#1841) * Replacing all QRegExp with QRegularExpression (#1820) * Fix graph zoom reset and use same font size as everything else. (#1835) * Fix Native Plugin Loading for CMake (#1829) * Fix refresh after renaming imported function (#1828) * Improve compatibility with cmake 3.5 and QT 5.5-5.11. (#1805) * Allow local development using Docker (#1806) * Fix #1802 (newly created graph docks have no title) (#1815) * Restore breakpoint listing. (#1811) * Use AddressableItemContextMenu in Registers widget. (#1794) * Improve about dialog (#1799) * Fix crash when using graph shortcut (#1801) * Fixed zoom shortcuts to something more generic (#1781) * Fix "ta" commands after radare2 command refactoring #1774 (#1775) * Fix Segfault on Theme Editor Preview Click * Fixed TypeWidget font to monospace. (#1755) 2019-12-20T19:20:34+00:00 cutter v1.10.1 cutter v1.10.1 2020-02-01T17:37:45+00:00 [📥 *Take me to the download links*](#downloads) ### Highlights ⭐ r2dec decompiler is now shipped by default on all platforms ⭐ radare2 is updated to its newest version - v4.2.1 ⭐ Major performance improvements across Cutter ⭐ Remove prefixes from flags and functions to make them prettier ⭐ New dialog to set and edit breakpoints, including hardware and conditional breakpoints ⭐ Improved API for plugin authors ⭐ Faster and better telescoping for Stack and Registers ⭐ Various bug fixes and small improvements #### The Arctic World Archive On **February 2, 2020**, GitHub will capture a snapshot of every active public repository, to be preserved in the [GitHub Arctic Code Vault](https://archiveprogram.github.com/). This data will be stored on 3,500-foot film reels, provided and encoded by Piql, a Norwegian company that specializes in very-long-term data storage. The film technology relies on silver halides on polyester. This medium has a lifespan of 500 years as measured by the ISO; simulated aging tests indicate Piql’s film will last twice as long. ![csm_Svalbard_Global_Seed_Vault_f25d850445](https://user-images.githubusercontent.com/203261/72778630-78cf6a80-3c54-11ea-8562-8d66d71f84b2.jpg) ### Additions * Bundle r2dec into macOS and Linux Builds (#2023, #2033) * Show pretty names for flags and functions (#2014) * Add realname and libname to Flags and Imports widgets (#2024) * Add Breakpoint editor dialog (#1975) * Add more breakpoint editing options (#1967) * Imporve Register references widget (#2038) * Add API for Plugins to extend context menu (#2029) * Add a custom telescoping function and improve StackWidget's output (#1990) * Make breakpoints available outside of debug (#2027) * Add virtual-size to section widget (#2030) * Add sha256 and crc32 to the hexdump widget (#2006) * Patching: add a ';' delimiter and responsive dialog box, multiple instructions can be patched (#1984) * Improve graph HighDPI scaling (#1963) * Threads widget now shows the current location in code instead of the thread's path ([#15771](https://github.com/radareorg/radare2/pull/15771)) ### Fixes and Changes * Update radare2 to 4.2.1 (#2040) * Simplify and move Plugin context menu GUI code out of core. (#2039) * Make user plugin path in settings a link (#2034) * Improve default line-width values on graph (#2026) * If available, set r2ghidra the default decompiler (#2007) * Improve flag and string widget performance (#2021) * Set zoom factor when opening appearance settings. (#2003) * Refresh monospace font after it gets reset by style or font change. (#2002) * set Style tab to default view (#1986) * Fix debug not working with paths that have a space in them (#1978) * Refactor breakpoint validation ([#15754](https://github.com/radareorg/radare2/pull/15754)) * Fix multithreaded breakpoint behavior in linux ([#15782](https://github.com/radareorg/radare2/pull/15782)) * Unset breakpoints if continue was interrupted ([#15772](https://github.com/radareorg/radare2/pull/15772)) * Fix crash caused by rebasing a file without sections ([#15792](https://github.com/radareorg/radare2/pull/15792)) * Fix windows process info not showing the correct path for child processes ([#15741](https://github.com/radareorg/radare2/pull/15741)) * Fix function variable information rebasing ([#15726](https://github.com/radareorg/radare2/pull/15726)) <a name="downloads"></a> 2020-02-01T17:37:45+00:00 cutter v1.10.2 cutter v1.10.2 2020-03-10T13:21:14+00:00 **Edit:** Please note: Users encountered issues with the debugger in this release. We're looking into fixing it. If you don't intend to use the debugger, use this release. If yes, please use the previous release, v1.10.1 or the newer v1.10.3. We're sorry for the inconvenience and will release a fixed version soon. ---- This is a minor release to bump the version of radare2 to its latest release. ### radare2 - Update the radare2 submodule to its latest release ### Additions - Add bindings for context menus in Python API - Show cleaner function names on the disassembly context menu - Display Authentihash and Sha256 for Windows PE files - Add scaling and background transparency for Graph export ### Bug Fixes - Fix crash when using theme editor 2020-03-10T13:21:14+00:00 cutter v1.10.3-pre cutter v1.10.3-pre 2020-03-25T18:38:48+00:00 2020-03-25T18:38:48+00:00 cutter v1.10.3-pre2 cutter v1.10.3-pre2 2020-05-01T17:45:59+00:00 Changes: * First write commands added to Hexwidget * Flag and comment indicator in Hexwidget * Official Appimage build compatibility with Ubuntu 16.04 2020-05-01T17:45:59+00:00 cutter v1.10.3 cutter v1.10.3 2020-05-08T17:55:50+00:00 ### New features and improvements since 1.10.2: * Update radare2 to its latest release 4.4.0 * Patching and Writing features added to Hexwidget * Flag and comment indicator in Hexwidget * Enhanced Debug experience * Official Appimage build compatibility with Ubuntu 16.04 * Light theme improvements * Improved performance ### Windows: * Updated Qt. If Cutter doesn't start try installing the bundled Microsoft Visual C++ Redistributable. ### Build system changes: * Support for CUTTER_USE_BUNDLED_RADARE2=ON on windows * Improve usability of CMake for preparing Linux packages 2020-05-08T17:55:50+00:00 cutter v1.11.0 cutter v1.11.0 2020-07-24T14:59:22+00:00 ## Features ### Graphs - Major improvements to graph layout algorithms (#2207, #2255, #2246) - New Graph widgets: Call-Graph, Global Call Graph, Import Graph and more (#2273) - Support Horizontal Graphs (#2234) ### Layout - Support saving and loading multiple UI layouts (#2172) - Add UI for managing layouts (#2211) ### Others - Expose `asm.reloff` (#2243) and `asm.reloff.flags` (#2244) in Preferences - Command line option to open a file in Write mode (#2216) - Add menu options for changing IO mode (#2187) - Add [pci](http://book.rada.re/basic_commands/print_modes.html?highlight=pci#high-level-languages-views) to hexdump widget (#2219) - Toggle Console Widget (<kbd>Ctrl</kbd> + <kbd>`</kbd> and <kbd>:</kbd>) and clear output (<kbd>Ctrl</kbd> + <kbd>L</kbd>) shortcuts (#2213) - Implement editor for .cutterrc initialization file - an easy way of saving r2 options that aren't otherwise exposed (#2162) ## Radare2 - Update radare2 to its [newest release (v4.5)](https://github.com/radareorg/radare2/releases/tag/4.5.0) and fix renamed configuration variables. (#2288) - Improved analysis ## Documentation - Introducing improved Contribution Guidelines (#2293) - Add documentation for `TempConfig` (#2221)Update Cutter compilation documentation (#2238) - Setting up development environment and IDE comparison (#2290) 2020-07-24T14:59:22+00:00 cutter v1.11.1 cutter v1.11.1 2020-08-13T14:49:21+00:00 # Bug Fixes * Include r2dec decompiler in Windows build * Sort items in Resources widget by numeric values instead of numbers misinterpreted as strings #2308 * Fix custom color themes not working correctly #2376 * Fix a crash when opening the theme editor #2359 * Update r2dec, includes https://github.com/radareorg/r2dec-js/commit/ff0d57e5c8e094ed4ad1a3bde9fd0f648ba5bb7f fixing common r2dec crash when processing Windows executables See full list of changes [here](https://github.com/radareorg/cutter/compare/v1.11.0...v1.11.1) 2020-08-13T14:49:21+00:00 cutter v1.12.0 cutter v1.12.0 2020-09-03T20:38:02+00:00 # Highlights ## Decompiler In this release, we introduce major improvements to the Decompiler feature in Cutter. These improvements couldn't be made without the help of our team member and GSoC student @NirmalManoj :clap: * 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 **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 To read the full list of changes, check our blog post: [Improving Decompiler Widget - GSoC Project](https://cutter.re/improving-decompiler-widget-gsoc) ## Radare2 * Cutter 1.12.0 depends on radare2 4.5.1 ## Other * Support analysis after opening the file * Configurable analysis options from the Preferences widget Full list of commits since previous release available here: https://github.com/radareorg/cutter/compare/v1.11.0...v1.12.0 # Thanks The success of this release couldn't be achieved without the help and time dedicated by many contributors which are new to the Cutter family. We appreciate the work and honored to welcome our new contributors: @Surendrajat, @ocastejon, @sagcan, @DX-MON, @kohnakagawa, @7h3qu1rkyb1t, @DeleteXso, @polaris 2020-09-03T20:38:02+00:00 cutter upload-test-1 cutter upload-test-1 2021-03-04T19:17:26+00:00 2021-03-04T19:17:26+00:00 cutter v2.0.0-pre2 cutter v2.0.0-pre2 2021-03-27T21:12:54+00:00 2021-03-27T21:12:54+00:00 cutter v2.0.0 cutter v2.0.0 2021-03-29T14:55:08+00:00 This is the first official release of Cutter since its backend has been changed from radare2 to Rizin. Last r2 compatible commit can be found at [d813b7a](https://github.com/rizinorg/cutter/commit/d813b7ac8c8d49b8fd7ed63def3613e4403c823b), there are no plans to further maintain r2 compatible branch by Cutter developers. This version of Cutter is built with Rizin 0.1.1. The accompanying blog post highlights some of the features below in detail: https://cutter.re/cutter-2.0 **Features** - Support new Projects in Cutter that will allow saving and opening project files. - Add a command line flag for loading projects #2606 - Improve the workflow of renaming functions, flags and more [#2468](https://github.com/rizinorg/cutter/pull/2468) - Improve the remote debug dialog #2472 - Add reverse debugging support. (Note that debugging is still in a preview state) - Support trackpad pinch gesture #2453 - Add comment column to multiple table views #2441 - Add option for displaying basic block address at the start of each block in CFG [#2482](https://github.com/rizinorg/cutter/pull/2482) - Reworked disassembly arrow drawing [#2559](https://github.com/rizinorg/cutter/pull/2559) - Add a preview-on-hover functionality in disassembly widget [#2459](https://github.com/rizinorg/cutter/pull/2459) **Platform compatibility fixes:** - Fix build on CentOS 7 with GCC 4.8 [#2492](https://github.com/rizinorg/cutter/pull/2492) - Haiku OS build [#2485](https://github.com/rizinorg/cutter/pull/2485) - **Note**: there is no official native macOS M1 build but most parts of Cutter, except debugging, work fine using Rosetta2. Building Cutter natively for arm64 on M1 from source is however fully supported. **Bugfixes** - Fix macOS release package not running without having `gettext` installed from homebrew. [#2547](https://github.com/rizinorg/cutter/issues/2547) [#2474](https://github.com/rizinorg/cutter/issues/2474) [#2456](https://github.com/rizinorg/cutter/issues/2456) [#2447](https://github.com/rizinorg/cutter/issues/2447) [#2428](https://github.com/rizinorg/cutter/issues/2428) - Resolve bug with line highlighting [#2218](https://github.com/rizinorg/cutter/pull/2218) **Build system, packaging and development changes** - The default build options changed to use bundled Rizin. If you are a package maintainer see [https://cutter.re/docs/building.html#making-linux-distribution-specific-packages](https://cutter.re/docs/building.html#making-linux-distribution-specific-packages) - The root CMake file is now located at the root of the repository instead of the `src/` directory. This slightly changes the [build instructions](https://cutter.re/docs/building.html) - Fully transition to CMake as the only build system. Remove `qmake` and `meson` projects. - Large parts of packaging logic moved from CI scripts to being done directly by build system. - macOS release package is now ad-hoc signed, this should help with the running of the debugger. It doesn't help with developer identity warning when opening the package or debugging system or AppStore programs not marked as debuggable (just like any other debugger regardless of how it's signed). - Development has switched to using `clang-format` for code formatting. 2021-03-29T14:55:08+00:00 cutter v2.0.1 cutter v2.0.1 2021-04-10T19:41:01+00:00 This release updates Rizin to 0.2.0 and brings a few additional fixes on top of Cutter 2.0.0. ## Changes * Updated Rizin to [0.2.0](https://github.com/rizinorg/rizin/releases/tag/v0.2.0) * Updated jsdec to 0.2.0 and rz-ghidra to 0.2.0 * Fix path when building appimage, caused by #2574 * Set macOS deployment target to 10.14 Mojave for compatibility. (#2650) * Removed build.sh (#2654) 2021-04-10T19:41:01+00:00 cutter v2.0.2 cutter v2.0.2 2021-04-25T15:44:40+00:00 ## Bug Fixes * Rizin updated to [0.2.1](https://github.com/rizinorg/rizin/releases/tag/v0.2.1) * Fix incorrect packaging causing "Most likely, Rizin is not properly installed." on Windows #2667 * Crash on Linux distros using Qt 5.15.2 with KDE patches #2662 2021-04-25T15:44:40+00:00