Commit Graph

1578 Commits

Author SHA1 Message Date
Florian Märkl
9c1f4e6a34
Use Graphviz as Target (#1701) 2019-08-04 00:13:21 +02:00
Itay Cohen
330795a650
Improve InitialOptionsDialog and modify UI terminology for analysis (#1669)
* Define CommandDescription struct

* Refactor InitialOptionsDialog to to work with CommandDescription

* Clean InitialOptionsDialog UI
2019-08-04 00:58:41 +03:00
karliss
2f0c0ddc23 Graphviz based graph layout (#1691) 2019-08-03 15:10:44 +02:00
karliss
1fd06a26c5 Fix out of bounds memory access. (#1697) 2019-08-03 13:18:05 +03:00
xarkes
148c7aa9e9
Fixed file name display in new file dialog (#1675) 2019-07-31 13:21:01 +02:00
karliss
a5dc85c3c5
Graph edge highlight (#1693)
* Highlight edges to and from current block in graph.
2019-07-30 21:35:00 +03:00
karliss
64d0d6b00d Allow returning to top level in sdb widget. (#1696) 2019-07-29 07:56:23 +03:00
karliss
5dc5fe1cee
Fix memory leak in sdbListKeys. (#1695) 2019-07-29 00:42:25 +03:00
Florian Märkl
329a9b6da1
Update r2 and Fix for /c -> /a change (#1689) 2019-07-24 21:21:25 +02:00
Adam Zambrzycki
a6e03d4195 Fix ClassesWidget sorting by vtable offset (#1686)
* Fix ClassesWidget sorting by vtable offset
* Force showing base above methods
2019-07-24 09:14:14 +02:00
karliss
c2a7fd85a4
Transfer zoom events from overview to main graph. (#1685) 2019-07-22 22:28:11 +03:00
Florian Märkl
9dd3b2f2f3
Use bundled radare2 as ExternalProject in cmake (#1674) 2019-07-22 21:18:14 +02:00
Paul I
ae1c1a741c Add CUTTER_DEPS_DIR option 2019-07-21 16:09:07 +02:00
Florian Märkl
39a9266be1
Don't use scr.html in CommandTask (#1683) 2019-07-21 13:57:57 +02:00
karliss
239fde50be
Fix arrow offset when scrolling with arrows or zooming in. (#1677) 2019-07-20 16:10:49 +03:00
karliss
6c40191cce
Rewrite raise memory widget functionality (#1654)
* Seperate seek from seeking and changing focused widget.
* Change memory widget priorities
* Add Show in context menu
2019-07-19 22:21:12 +03:00
Jovany Leandro G.C
914b35e637 Update lib_radare2.pri
Override PREFIX= from command 'qmake PREFIX='
2019-07-19 10:16:13 +02:00
xarkes
b4f7f1a232 Added QtVersion inside AboutDialog 2019-07-18 22:24:32 +02:00
Adam Zambrzycki
d22769ee9c Unify preferences layouts (#1670)
* Unify preferences layout
2019-07-18 23:02:13 +03:00
karliss
6ee6b41786 Use more specific stylesheet selecters. (#1668)
Prevents unintend application of style to internal subwidgets.
2019-07-18 09:05:29 +03:00
xarkes
f830fc17fb Updated DisasWidget zoom shortcuts
Now the shortcuts are consistent with the GraphView widget.
2019-07-17 09:23:14 +02:00
Florian Märkl
dee24b861d Remember last selected Decompiler 2019-07-17 09:08:26 +02:00
Florian Märkl
26dce4c7b9 Add Plugin Interface for Decompilers 2019-07-17 09:08:26 +02:00
xarkes
fc9bbe1432 Remove old radare2 configuration variable (#1665) 2019-07-16 20:34:10 +02:00
Kārlis Seņko
d78e43a403 Adjust arrow offset calculation. 2019-07-16 18:47:26 +02:00
Florian Märkl
4487564f7d
Add a generic Decompiler interface and remove pdc (#1659) 2019-07-15 14:08:44 +02:00
adikso
736d3e1f1d Add scrolling to DisassemblyWidget left panel 2019-07-15 09:13:17 +02:00
ITAYC0HEN
4b9a4ff2e2 Make penSizePix thinner 2019-07-13 10:54:37 +02:00
Unknown
77a7710daf Improve arrow widget 2019-07-13 10:54:37 +02:00
xarkes
33dca54176 First implementation of new disassembly widget 2019-07-13 10:54:37 +02:00
Itay Cohen
243b10adae Bump cutter to 1.8.4 (#1651) 2019-07-13 10:52:40 +02:00
Florian Märkl
7c605e3fed
Make Syntax Highlighter react to Theme Changes (#1650) 2019-07-12 15:37:19 +02:00
Florian Märkl
7017c8a323
Sync PseudocodeWidget with Seek (#1648) 2019-07-12 10:57:07 +02:00
Florian Märkl
db3c34a9cd
Use KSyntaxHighlighting (#1645) 2019-07-11 15:21:54 +02:00
Florian Märkl
c7d582f00a
Add Loading ~/.cutterrc (#1644) 2019-07-11 12:32:56 +02:00
Florian Märkl
78ff1459c9
Fix Qt 5.13 deprecations (#1641) 2019-07-09 20:55:07 +02:00
xarkes
68a864ee0a Fix r2dec detection (#1640) 2019-07-09 00:53:27 +03:00
Florian Märkl
a7a7bad6d9
Cleanup Remnants of Widget Actions (#1637) 2019-07-04 20:51:44 +02:00
fcasal
2ac1455642 Rename dialog text is now preselected (#1635) 2019-07-03 08:52:06 +02:00
Florian Märkl
2feb8d1280 Version 1.8.3 2019-07-01 22:26:38 +02:00
Itay Cohen
d8b53421cd Disable asm.movlea by default (#1630) 2019-06-30 11:48:25 +02:00
Itay Cohen
4e0d899f68
fix asm.describe typo (#1629) 2019-06-29 19:38:43 +03:00
karliss
552021c38d
Move graph header to GraphWidget. (#1628)
* prevents layout problems
* fix header change when doubleclicking in unsynchronized function
2019-06-29 09:28:35 +03:00
Itay Cohen
5758ffcafb
Initial refactoring and improvement for Assembly Options Dialog (#1627)
* set asm.refptr default to false
* Cleanup of AsmPreferences
* Use a single slot to handle boolean checkboxes
2019-06-29 08:09:51 +03:00
Itay Cohen
f712038de4 Case Insensitive ASM search + Update radare2 submodule (#1612) 2019-06-23 10:29:44 +02:00
optizone
8138a43923 Disable modification buttons for builtin color themes (#1615) 2019-06-21 18:27:21 +03:00
optizone
594896c06f Fix crash on theme edition (#1614) 2019-06-20 16:28:35 +02:00
Florian Märkl
6762f4c153
Fix Console Font for some Platform Themes (#1610) 2019-06-19 13:49:29 +02:00
karliss
dba42e7cd8 Don't raise unsynced widgets. (#1609) 2019-06-19 00:59:24 +02:00
Florian Märkl
c96c72a147 Remove Memory Widget Pointers and Toggle Actions 2019-06-18 20:24:17 +02:00
Florian Märkl
ede98df6ac Fix initial objectName for Memory Widgets 2019-06-18 20:24:17 +02:00
Florian Märkl
0c3b7e7f07 Fix saved unsync list 2019-06-18 20:24:17 +02:00
optizone
06aceaf9b1 Refactor Layout Save and Restore Feature (#1538)
#1515
2019-06-18 15:02:41 +02:00
karliss
bb80cbd862 Use correct character width for hexwidget (#1607) 2019-06-18 10:34:30 +02:00
Florian Märkl
e5370d171d
Fix def. Cutter specific Colors for Custom Themes (#1606) 2019-06-17 19:42:17 +02:00
karliss
69748d064c Improve hex selection painting and right click behavior. (#1602)
* Improve hex selection painting and right click behavior.

* Do not remove selection when right clicking outside selection
* Indicate active hex widget side by painting selection differently

* Add horizontal padding and indicate partial selection.
2019-06-17 15:13:34 +03:00
Itay Cohen
5fb2c8ac6f
Implement Editing and Viewing of Types in the Types Widget (#1597)
* Implemet Edit and View for types
* Rename LoadNewTypes to TypesInteraction
2019-06-13 09:22:20 +03:00
optizone
228d3a454a Interface theme and theme features refactoring (#1598)
* init commit

* use hex

* delete obsolete code

* alpha channel feature update

* enhance pattern painting

* remove useless code

* add comment
2019-06-12 20:46:07 +03:00
Itay Cohen
a3657f913b
Combine Set-As menu items (#1601) 2019-06-12 10:08:15 +03:00
Charles Ellis
d59ea03f87 Remove default Shiboken2 executable in qmake proj (#1600) 2019-06-11 09:57:20 +02:00
Itay Cohen
f9f8e90ac6
Improve Graph Overview Fill and node Colors (#1596) 2019-06-05 14:28:05 +03:00
Itay Cohen
c141eb34cc
Implement Seek to start/end of function Shortcuts (#1589)
* fix ctrl+'+' to zoom in`

* Add '^' and '$' shortcuts
2019-05-30 11:41:14 +03:00
Itay Cohen
53756f29d2
Sync hex.pairs eval to "Bytes as pairs" in Hexdump (#1586)
* Sync hex.pairs eval
2019-05-29 09:25:23 +03:00
rrockru
adf28e4362 Added natural registers sorting in RegistersWidget (#1591) 2019-05-27 10:55:09 +03:00
karliss
6c76c85c97 Fix memory leaks found by ASAN. (#1590) 2019-05-26 13:12:23 +03:00
Itay Cohen
14665cbe8a
make the shadow selection wider in hex (#1584) 2019-05-25 10:02:20 +03:00
optizone
31838a3a35 Basic Block Highlight (#1533) 2019-05-23 18:22:31 +02:00
karliss
214e6f4264 Hide duplicate and cross-function edges. (#1582) 2019-05-23 12:52:56 +02:00
karliss
75146d63f9 Update hex side panel only when visible. (#1578)
Fixes #1528
2019-05-23 12:44:28 +02:00
Itay Cohen
1e4f933733 Fix PNG iCCP errors (#1583) 2019-05-23 11:34:09 +02:00
karliss
9a42b3cdd2 Fix QToolbutton color and offset in light theme. (#1579) 2019-05-23 08:03:16 +03:00
karliss
63bf1864d0 Remove tab style modifications in native style sheet. (#1565) 2019-05-23 07:40:53 +03:00
Florian Märkl
a6f4ac2dd3
Lock Core in CutterCore::loadScript() (#1581) 2019-05-22 13:29:26 +02:00
Florian Märkl
5390a7d173
Bump to Version 1.8.2 (#1568) 2019-05-20 21:14:35 +02:00
Florian Märkl
c0b359cb65
Keep Console Font on Theme Change (#1567) 2019-05-20 21:06:25 +02:00
Florian Märkl
29aed93bc9
Remove vertical padding in QMenuBar in Light Theme (#1566) 2019-05-20 20:53:25 +02:00
Florian Märkl
3cef904843
Update r2 and fix r_free (#1564)
* Update radare2 to 3.5.1

* Use r_mem_free() instead of r_free()
2019-05-20 20:35:56 +02:00
karliss
15a4d37a1c Remove unnecesarry native theme modifications. (#1562) 2019-05-20 19:33:22 +02:00
Florian Märkl
b9ada358ad
Fix ColorThemeEditDialog.h Include Guard (#1563) 2019-05-19 23:21:42 +02:00
Florian Märkl
90f71085d7
Fix some Warnings (#1561) 2019-05-19 22:11:09 +02:00
optizone
822034b392 Improve Color Theme Copy Feature (#1560) 2019-05-19 19:29:01 +02:00
Florian Märkl
2012637922
Add Settings and Color Theme Versioning (#1557) 2019-05-19 17:34:06 +02:00
Florian Märkl
d32e3fa20f
Enable Console Completion only on Tab (#1558) 2019-05-19 16:24:06 +02:00
Florian Märkl
7e8eb9c393
Disable Up/Down in Console during Completion (#1554) 2019-05-19 14:45:49 +02:00
karliss
c0f4f458ed Take in to account selected instruction when moving view offset. (#1551) 2019-05-19 13:27:15 +03:00
karliss
1aabddc3f6 Make code compatible with QT 5.9 (#1553)
* Make code compatible with QT 5.9, Ubuntu 18.04.

* Fix high dpi scaling in ColorThemeListView.
2019-05-19 13:24:24 +03:00
Florian Märkl
051eb3aaf3
Save Console Wrap in QSettings (#1550) 2019-05-17 19:48:59 +02:00
Florian Märkl
2352477805
Fix HexWidget ShortcutContext (#1549)
Fixes Ctrl+C not working anywhere else.
2019-05-17 18:40:45 +02:00
Florian Märkl
db4dcb5964
Fix XrefsDialog Preview Font (#1548) 2019-05-17 14:19:47 +02:00
xarkes
2734ff026a Code cleanup (#1535) 2019-05-17 13:40:50 +02:00
Florian Märkl
ef22f20548
Fix non-integer Font Metrics in Graph (#1545) 2019-05-17 13:00:54 +02:00
karliss
ff0f15605b
Fix io plugin listing. (#1544) 2019-05-17 10:09:10 +03:00
Florian Märkl
a38d6707cd
Remove unnecessary Console Messages (#1546) 2019-05-16 21:42:27 +02:00
karliss
d55ae67dc0 New Hexedit (#1516) 2019-05-16 18:03:48 +02:00
Florian Märkl
4f71526100 Fix Sections Size in Visualization 2019-05-16 14:57:18 +02:00
Florian Märkl
a18265a022 Remove Code Duplication in AbstractAddrDock 2019-05-16 14:57:18 +02:00
Florian Märkl
8f49722bf9 Auto Resize Visualization in SectionsWidget 2019-05-16 14:57:18 +02:00
Florian Märkl
a3a8daae55 Add Permissions Column to SectionsWidget 2019-05-16 14:57:18 +02:00
Florian Märkl
e48392a1e0 Make gui.dataoffset color adapt to Native 2019-05-16 14:57:18 +02:00
karliss
7bc4dd06bc Always enter mouse drag mode when clicking on overview widget. (#1539)
Fixes #1503.
2019-05-16 14:17:38 +02:00
karliss
5a59546009 Refresh overview even when function doesn't change (#1541)
It may be necesarrry to update data after changes in graph layout or
other properties.
2019-05-16 14:15:12 +02:00
Florian Märkl
72eab68be1
Revert "Fix layout save and restore feature (#1515)" (#1537)
This reverts commit 2ba9e170c5.
2019-05-15 20:45:16 +02:00
optizone
2ba9e170c5
Fix layout save and restore feature (#1515) 2019-05-14 23:30:10 +03:00
Florian Märkl
65b5f78a59
Fix Bindings of Signals (Fix #1482) (#1530) 2019-05-13 13:55:02 +02:00
karliss
170d77e62c
Check if target graph has been set. (#1517)
Fixes #1508.
2019-05-12 07:08:48 +03:00
Philip Nelson
f154ec0a70 Added hotkeys for undo and redo seek (#1514) 2019-05-10 21:22:54 +03:00
Philip Nelson
c95d6bd174 Added advanced options aao and avrr to the initial options dialog (#1513) 2019-05-10 19:47:08 +03:00
karliss
cda24bfc53
Seperate Widget showing grid of bytes from rest of the hexdump panel. (#1504)
* Seperate Widget showing grid of bytes from rest of the hexdump panel.
2019-05-10 14:15:57 +03:00
Florian Märkl
37cb9b5278
Fix Shortcuts of DisassemblyContextMenu (#1510) 2019-05-09 14:59:18 +02:00
karliss
d6bb0c0446 Make grouped dock dragging optional. (#1506) 2019-05-08 13:38:25 +02:00
karliss
13d7de8fae Invalidate overview graph cache when changing color. (#1502)
Fixes #1496.
2019-05-06 10:30:48 +02:00
Itay Cohen
f2cd0053a5
Add X-Refs context menu item for Flags Widget (#1499)
* add xrefs for flags
2019-05-01 23:25:33 +03:00
optizone
089be2b87c refactor theme edit feature (#1461)
Refactor Theme Editor
2019-05-01 19:15:33 +03:00
Florian Märkl
c534b1bce8
Use API for Functions (#1498) 2019-05-01 13:34:15 +02:00
Itay Cohen
1d20129a0a
Light Theme (#1486)
* Implement Light Them for Cutter
2019-04-27 20:58:44 +03:00
Florian Märkl
a39b579d2b
Only require Shiboken2 and PySide2 Version up to Minor (#1491) 2019-04-27 11:46:45 +02:00
Florian Märkl
1cc6abee44
Delete Extra Widgets on Close (#1490) 2019-04-27 11:46:29 +02:00
Florian Märkl
dff08963a1
Add Console Autocompletion from radare2 (#1489) 2019-04-26 17:07:11 +02:00
Christopher Harvey
e00a70ceaa Add Ctrl-Shift-C shortcut (#1476)
* Copies address at cursor from hexdump, graph and disassembly views
2019-04-25 14:38:53 +03:00
karliss
f68ed82489 Use same font size for all text in hexdump widget. (#1485) 2019-04-25 10:49:10 +02:00
Paul I
ce5c0f5d79 Fix highlighting bugs in DisasmWidget (#1477) 2019-04-22 11:48:06 +03:00
Itay Cohen
d0458597d1
Show a tooltip with Asm\Hex preview on search hits (#1480)
* implement search preview tooltip
2019-04-22 11:43:34 +03:00
karliss
f1fa05e647 Help not getting lost in empty parts of graph. (#1467)
* Limit how far outside image view can be moved
* Allow using main view as overview by zooming out
* Fix showBlock position calculation when zoomed out
2019-04-21 19:30:57 +03:00
Florian Märkl
f45badd026
Add Option to toggle Line Wrap in Console (#1466) 2019-04-18 18:42:27 +02:00
karliss
f3a246985a Show context menu with non block specific graph actions everywhere. (#1465)
Fixes #1415
2019-04-18 13:10:18 +03:00
karliss
1d4bd7ee7f Show recent files ordered by opening time. (#1462) 2019-04-17 11:02:06 +03:00
optizone
fd4b4b623a Improve project choose page (#1451) 2019-04-16 11:31:02 +02:00
karliss
2cc6479faa Start placing edges from centre. (#1460) 2019-04-16 09:58:52 +03:00
Florian Märkl
436c2ee89c
Fallback to current offset in LinkTypeDialog (#1458) 2019-04-15 13:14:46 +02:00
Florian Märkl
800594551b
Bump version to 1.8.1 (#1456) 2019-04-14 22:06:24 +02:00
Florian Märkl
7eb62a976c
Refactor Refresh and Display of Overview (#1453) 2019-04-14 14:18:24 +02:00
Florian Märkl
34387c74b1 Fix Segfault with Extra Widgets 2019-04-14 14:04:38 +02:00
xarkes
5b0ef4c445 Removed max bbsize analysis option (#1424) 2019-04-14 12:36:13 +03:00
Jim Broadus
2fee3dabfb Fix crash in StringsWidget::on_actionX_refs_triggered. (#1450)
Qt::WA_DeleteOnClose is set for a dialog that is allocated on the stack. This
causes Qt to attempt to delete the object when the XrefsDialog calls its close
method.
2019-04-12 08:43:12 +03:00
optizone
c6866df71e Focus on visible disasm or graph (#1444)
* focus on MainWindow by default
2019-04-12 08:22:06 +03:00
Florian Märkl
177e436a2e Use Args List to start Crash Handler 2019-04-11 20:27:03 +02:00
optizone
059723b013 Navigate through graph view with arrows (#1441) 2019-04-10 21:07:53 +02:00
Florian Märkl
4673a23f05 Crash Message Rewording 2019-04-10 13:33:35 +02:00
Florian Märkl
5add53cbf8 Start Crash Handler detached 2019-04-10 13:33:35 +02:00
optizone
c2deabee5d Use forked process to handle crashes (#1443) 2019-04-09 21:33:13 +02:00
Florian Märkl
1cb314d674
Add crash handling system using Breakpad (#1439) 2019-04-09 09:44:44 +02:00
ncyellow
b6406e6ac6 fix compile ubuntu gcc7 (#1442) 2019-04-08 22:12:56 +02:00
Paul I
3d454cdaa0 Use Python stable ABI >= 3.5 (#1426) 2019-04-08 22:07:35 +02:00
Florian Märkl
65850d6aee
Replace GraphView::useCache with dirty flag (#1437) 2019-04-08 08:59:16 +02:00
Florian Märkl
1cb5c1a8a9
Bring back Launch Script for macOS (#1438) 2019-04-07 20:03:19 +02:00
Florian Märkl
cdca7bdc3f
Fix GraphEdge initialization in DisassemblerGraphView (#1436) 2019-04-07 13:34:53 +02:00
karliss
3e645980fc Implement middle mouse button panning. (#1433)
nice, thanks!
2019-04-07 13:02:35 +02:00
Florian Märkl
14c64e01f3
Basic OpenGL Graph Rendering (#1432) 2019-04-07 12:53:42 +02:00
karliss
0583b06191 Rewrite block sorting and placment so that unreachable blocks are processed. (#1428)
* Rewrite block sorting and placment so that unreachable blocks are processed.

* Use DFS instead of Kahn's algorithm for toposort as it makes it easier
to deal with loops.

* Remove unused code
2019-04-06 22:37:49 +03:00
ncyellow
ae35ac9d08 Minor Header Optimizations (#1429)
1. remove unnecessary includes. compile optimization
2. add more const for getter functions
2019-04-06 14:04:55 +02:00
Paul I
5477054d5e
R2PluginsDialog: Sort plugins by name in ascending order (#1431) 2019-04-06 13:45:15 +03:00
Paul I
fe762b53a9 Meson: remove workaround for qtmain lib (#1430) 2019-04-06 10:54:33 +02:00
karliss
df65f250e5 Make graph layout more failure resistant. (#1427) 2019-04-05 09:28:11 +03:00
Itay Cohen
158ed7a656
Make plugins path selectable and bold (#1422) 2019-04-04 22:30:27 +03:00
Paul I
b701d5a9ad Load plugins from app dir on Windows (#1408) 2019-04-04 10:58:36 +02:00
karliss
cb51496e4f Separate graph layout code from GraphView. (#1414)
* Separate graph layout code from GraphView.

* Remove formatting and grid layout specific code from GraphLayout.

* Copy edge styles from from main graph view to overview.
2019-04-04 08:54:42 +03:00
karliss
103decedd6 Take pixel ratio into account for graph cache. (#1405)
* Take pixel ratio into account for graph cache.
2019-04-03 11:55:39 +03:00
Itay Cohen
8cffd7e07d
Implement Getter for MainWindow's menus (#1418)
* implement getter for MainWindow's menus
2019-04-03 10:50:25 +03:00
Florian Märkl
3292cb22cc
Update r2 and adapt Cutter (#1412) 2019-03-31 10:50:53 +02:00
ncyellow
d0540d7655 Get color for optimization (#1404)
* small optimization function getColorFor
2019-03-30 09:13:01 +03:00
Florian Märkl
41af189312
Update radare2 and adapt Cutter (#1406)
* Update radare2 and adapt Cutter

* Fix QByteArray creation in CutterCore::assemble()
2019-03-29 18:11:41 +01:00
Paul I
c50b19df90 Appveyor: use new cutter-deps package (#1403) 2019-03-29 18:11:29 +01:00
Florian Märkl
f514a1c3c7
Init Layout after loading Plugin UI (#1407)
* Init Layout after loading Plugin UI

* Make sure all Dock Widgets are part of the MainWindow
2019-03-29 18:02:27 +01:00
karliss
45698112c2 Enable dock grouped dragging when available. (#1402) 2019-03-28 11:17:01 +02:00
ncyellow
fbe9aea7d1 Xrefs select top item (#1401)
* closes #1363
select top item from refs or xrefs
2019-03-27 22:40:54 +02:00
karliss
5acb2cf0d3 Do not update sectionWidget position outside valid range. (#1399) 2019-03-27 09:27:24 +01:00
Anton Krasnokutskiy
5818998bb3 Fixed not switching Disassembly to not opened Graph view using <space> (#1370)
+ a bit refactor
2019-03-27 09:24:54 +01:00
xarkes
5bde1c3e8c Renamed asm.bbline to asm.bb.line (#1400) 2019-03-26 22:40:41 +03:00
xarkes
71ed30a604
Fixed overview basic block highlighting (#1393) 2019-03-26 12:07:17 +01:00
Florian Märkl
1710829267
Remove Jupyter Integration (#1398)
* Remove Jupyter Integration

Replaced by https://github.com/radareorg/cutter-jupyter

* Remove duplicate vars in .appveyor.yml
2019-03-25 21:43:00 +01:00
Romeu Gomes
eac91ed9c8 New private method in Dashboard to display text (#1390) 2019-03-25 10:24:18 +01:00
karliss
8d6622ac81 Improve hexdump width calculation. (#1389) 2019-03-25 00:12:14 +02:00
Romeu Gomes
a2eb0011f4 Add emu.str in Preferences->Metadata (#1369) 2019-03-25 00:08:49 +02:00
Anton Krasnokutskiy
e709a35723 AK/xref-dialog-fix (#1384) 2019-03-24 21:35:40 +02:00
Romeu Gomes
86b0b56f4a Add compiler information to dashboard (#1385) 2019-03-24 15:48:15 +01:00
Florian Märkl
76bcac8aa7
Delete all PySide2 QObjects before Py_Finalize() (#1386) 2019-03-24 13:11:54 +01:00
Paul I
c7adeb4dd6
Update radare2 (#1381) 2019-03-24 12:39:54 +03:00
Florian Märkl
894a79b0cc
Add CutterPlugin::terminate() (#1372) 2019-03-23 12:23:31 +01:00
Florian Märkl
2ab676be71
Fix includes in DisassemblerGraphView.cpp (#1373) 2019-03-23 12:23:05 +01:00
Paul I
40452c9826
Some micro optimizations (#1346) 2019-03-23 13:54:34 +03:00
Tatsh
fa6e465bd4 Build an app bundle on macOS (#1355) 2019-03-23 11:47:47 +01:00
Anton Krasnokutskiy
e096f3ee4a DisassemblerGraphView zooming fix (#1354)
* Zooming of DisassemblerGraphView now works to cursor instead of top left corner.

* formatting fix.

* Fix refactor bug.
2019-03-23 10:21:06 +02:00
ncyellow
f59dce1727 Feature/dialogs optimization (#1360)
Changed create policy in dialogs to fix memory leaks.
2019-03-23 07:32:31 +01:00
Vanellope
5d96fc9694 Fix a bug regarding highlighting the words in Graph 2019-03-23 08:20:19 +02:00
a1ext
1422013d99 Fix crash because of mixing debug and release CRT. (#1361)
Memory allocated in r2-side has to be released with `r_free`
2019-03-23 07:15:03 +02:00
Florian Märkl
c84546e828
Extend FindPySide2.cmake and FindShiboken2.cmake for current versions (#1358) 2019-03-22 21:54:51 +01:00
Vanellope
7fd815bd40 Fixed a bug related to reset_settings (#1349) 2019-03-21 21:14:52 +01:00
Vanellope
72e8cd664e reset settings should reset layout as well (#1334) 2019-03-19 20:15:38 +01:00
Vanellope
6f1309452a revert shitty fix (#1335) 2019-03-19 20:15:14 +01:00
Florian Märkl
9f582b3e03 Use QVersionNumber for Version Comparison 2019-03-18 21:42:46 +01:00
Florian Märkl
a3e4daecca Release Bump 1.8.0 2019-03-18 20:22:24 +01:00
Florian Märkl
dd934443a7 Fix changing Variable Name in EditVariablesDialog 2019-03-18 20:14:28 +01:00
Vanellope
96f6e062fc Vane11ope/fix layout (#1308)
Refactoring and Fixes for the default layout.
2019-03-18 08:44:14 +02:00
Vanellope
f23ff9d8c5 Fix a bug of Overview perf (#1324) 2019-03-18 08:34:30 +02:00
Vanellope
6f324496be Force overview to update itself when the settings are changed (#1314) 2019-03-17 13:50:36 +01:00
Florian Märkl
aa591e1a47 Add Plugins Section to Preferences 2019-03-16 20:24:28 +01:00
ncyellow
dffb9dccb9 append layout to OpenFileDialog, so the dialog more flexible (#1293)
* append layout to OpenFileDialog, so the dialog more flexible

* "Select file" button alignement.g

* new variant layout for OpenFileDialog in 3 column
2019-03-16 14:39:15 +02:00
Florian Märkl
8061120657
Use cutter-deps on Windows (#1286)
Also enable python plugins for Windows builds
2019-03-16 11:35:31 +01:00
xarkes
46bb07d725 Fixed the way headers are included 2019-03-15 16:19:27 +01:00
xarkes
3b87389d07
Removed stackptr because the result is meaningless (#1285) 2019-03-14 11:03:15 +01:00
Vanellope
ec62045336 Fix a font issue in the Graph widget (#1287) 2019-03-14 10:42:42 +01:00
Vanellope
0be50ac36f Overview optimization (#1262)
* Overview optimization
* Better cache algorithm
* Fix a bug of the multiple graphs
2019-03-12 09:37:10 +02:00
Florian Märkl
31a832c34d Add PluginManager::getPluginsDirectory() 2019-03-11 11:55:02 +01:00
Florian Märkl
193fef46df Fix some warnings 2019-03-11 11:38:53 +01:00
Florian Märkl
c3f1636aee Fix NewFileDialog positioning on macOS 2019-03-11 10:42:22 +01:00
Florian Märkl
7a77eeee06 Fix NewFileDialog leaking MainWindow
This also fixes segfaults on quitting when using plugins
2019-03-11 10:42:22 +01:00
Florian Märkl
48260cc534 Implement finding PySide2 and Shiboken2 without config 2019-03-11 10:42:22 +01:00
Florian Märkl
defc9ead43 Add basic find modules for PySide2 and Shiboken2 2019-03-11 10:42:22 +01:00
Itay Cohen
1af9195e21
Replace red syntax highlighting with blueish color (#1261)
* remove bolding
* change highlight color from red to blueish
2019-03-10 15:09:02 +02:00
Itay Cohen
8b7d795a15
Add configurable graph overview node color (#1259) 2019-03-10 09:53:06 +02:00
optizone
3fed97ad86 Auto update check (#1235)
* init commit

* bug fix

* call slot of null object bug fix

* delete extra disconnect() func

* change api and add doc

* run astyle

* some improvements

* memory leak fix

* add check on start checkbox

* add checkbox to about page

* serve version check reply using lambda instead of slot

* fix grammar mistakes

* more docs

* save some lines

* change button text

* astyle

* change message text

* dont use QApplication pointer as a parent for network manager

* proper deletion of QNetworkReply*

* VersionChecker -> UpdateWorker

* windows dll hack

* after rebase fix

* some improvements

* better determination of arch

* more docs

* improvements

* add UpdateWorker::showUpdateDialog

* remove odd condition

* more improvements

* fix windows bug

* make dialog non-blocking

* change text in download progress dialog

* bug fix

* remove debug conditions

* change docs format
2019-03-09 14:11:39 +01:00
Florian Märkl
d4a6b031ff Use only cutter module in sample plugin 2019-03-09 14:07:20 +01:00
Florian Märkl
7315f8e102 Use template in bindings.xml 2019-03-09 14:07:20 +01:00
Paul I
7554cb5461 Disable aan (#1253) 2019-03-09 09:09:37 +02:00
Florian Märkl
732f2d8cde
Use cutter-deps on macOS (#1238)
* Update deps scripts for macOS

* Update deps

* Update appbundle_embed_python.sh

* Use cutter-deps for macOS

* Remove qt from Brewfile

* Fix .travis.yml

* Disable Homebrew update

* Fix llvm for macOS

* Fix regex in update_deps.py

* Fix PYTHON_FRAMEWORK_DIR

* Some debug output in travis

* Enable Python Bindings for cmake on macOS

* QMake debug

* Update deps

* Hopefully fix pkg-config

* QMake hack for shiboken2 and pyside2

* Deploy on deps-test

* Update deps

* Fix call to appbundle_embed_python.sh

* Update deps

* Fix Python for cmake on macOS

* Update deps

* Fix appbundle_embed_python.sh

* Copy pyside libs in appbundle_embed_python.sh

* Fix includes for CMake on macOS

* Copy PySide2 and Shiboke2 libs to Frameworks dir

* Manually deploy QtDBus and QtPrintSupport

* Print plugins dir

* Fix appbundle_embed_python.sh

* Update deps

* Remove some debug output

* Use last release of linuxdeployqt
2019-03-09 00:01:24 +01:00
Vanellope
7ea1f0b281 Fix couple of issues regarding Graph Overview (#1228) 2019-03-08 19:57:57 +01:00
Vanellope
0dff413e17 Fix a bug in seek caused by Graph refactoring (#1250)
* Fixed a bug in seek
2019-03-08 19:24:59 +02:00
Itay Cohen
d46ff14a21
Start using "gui.navbar.seek" color instead of "gui.navbar.err" to show seek cursor (#1244)
* fix navbar to use seek

* honor navbar.seek

* honor navbar.seek in Sections widget

* fix typo
2019-03-07 07:26:26 +02:00
xarkes
003d0d3c26
Modified documentation format (#1240) 2019-03-06 21:30:39 +01:00
Gaurav Kumar Ghildiyal
687ef2d799 Added feature to link a type to an address (#1219)
* Added feature to link a type to an address
2019-03-04 23:45:17 +02:00
Vanellope
c78957b328 Better solution for the infinite loop (#1232) 2019-03-02 09:07:05 +01:00
Florian Märkl
8bfa653909
Use cutter-deps on Linux (#1217)
* Use cutter-deps for Linux

* Update CMakeLists.txt for newer PySide2

* Add llvm-config --libdir to LD_LIBRARY_PATH in Travis

* Update cutter-deps

* Fix Python Prefix for Deploy

* Update cutter-deps

* Install Jupyter in Travis

* Add update_deps.py and update

* Enable Python Bindings for qmake in Travis

* Use absolute path for src_list.py in qmake

* Use python directly for src_list.py in qmake

* Keep env for linuxdeployqt

* Embed PySide2 in AppImage

* Fix appimage_embed_python.sh
2019-02-28 14:56:54 +01:00
xarkes
711ed505dc
Updated links to the documentation (#1229)
* Updated links to the documentation
2019-02-28 11:21:21 +01:00
Florian Märkl
1f4339bed2
Fix Jupyter (#1223)
* Call PyErr_Print() in QtResImport()

* Fix Jupyter
2019-02-27 14:54:47 +01:00
Vanellope
2208d3c134 Fix an infinite loop bug (#1218) 2019-02-26 11:24:49 +00:00
Gaurav Kumar Ghildiyal
a10ca8f033 Add feature to apply structure offset and fix some issues in EditVariablesDialog (#1215)
* Fixed EditVariablesDialog

* Added feature to apply structure offset in disassembly and graph view
2019-02-24 17:25:38 +00:00
Vanellope
fa708143ac Overview does not disappear anymore when it is moved to the same dock as Graph (#1212)
* Overview does not disappear anymore when it is moved to same dock as Graph, Gray out Overview menu when Graph is not active
2019-02-24 07:15:40 +00:00
xarkes
6a77db67ff
Disabled Python building by default (#1214)
Many people do not have shibokken or jupyter or the
python libraries on their computer, so it's better
not to enable those by default.
2019-02-23 08:24:31 +01:00
xarkes
ab27e09b91 Splitted Cutter.h and moved everything in core (#1201)
Sometimes it is not necessary to include the whole Cutter.h file
Hence, it's been splitted so you can include only what you require
E.g. #include "core/CutterCommon.h" to have access to the common types
2019-02-22 17:50:45 +01:00
Florian Märkl
2d2b9c8a28
Change organizationName and use QSettings:IniFormat (#1213)
* Remove organizationName

* Use QSettings::IniFormat and migrate if possible

* Use RadareOrg as the organizationName
2019-02-22 14:38:02 +01:00
Florian Märkl
5313017c54 Fix Segfault when jupyter is not installed 2019-02-21 22:57:26 +01:00
ITAYC0HEN
3cdc6a5230 Add Plugins submenu 2019-02-21 22:57:26 +01:00
Florian Märkl
d1f5da9946 Init Python before RCore 2019-02-21 22:57:26 +01:00
xarkes
a93c5e225f Added a BasicBlock highlighting API 2019-02-21 22:57:26 +01:00
Florian Märkl
7caabf5350 Fix Python for CMake in Travis 2019-02-21 22:57:26 +01:00
Florian Märkl
acca40b978 Include and meson fixes
Fix QDir include in PythonManager

Fix cassert include

Fix assert include in PluginManager.cpp
2019-02-21 22:57:26 +01:00
Florian Märkl
70e7840e75 Temporarily disable Bindings in CI, QMake Fixes 2019-02-21 22:57:26 +01:00
Florian Märkl
f5fb9f364f Fix segfault when CutterCore is destructed 2019-02-21 22:57:26 +01:00
Florian Märkl
2b8a0df4cc Use correct shiboken executable in CMake 2019-02-21 22:57:26 +01:00
Florian Märkl
804bd5ef08 Build Python Bindings with meson 2019-02-21 22:57:26 +01:00
Florian Märkl
aaf88e85aa Fix CUTTER_ENABLE_PYTHON_BINDINGS in cmake 2019-02-21 22:57:26 +01:00
Florian Märkl
f945ebf9ae Add enable_python option to meson 2019-02-21 22:57:26 +01:00
Florian Märkl
2be8ec8456 Generate Bindings in QMake
Fix typesystem-paths
2019-02-21 22:57:26 +01:00
xarkes
436842222e Modified some APIs for more consistence
Correct null check after create_cutter_plugin()

Fix cutter.core()
2019-02-21 22:57:26 +01:00
Florian Märkl
18b40a8b90 Automatically determine Bindings cpp files
Enhance src_list.py
2019-02-21 22:57:26 +01:00
Florian Märkl
950f24eaf3 Fix build without Python 2019-02-21 22:57:26 +01:00
Florian Märkl
40274e4bf4 Kill CutterPythonPlugin and use Bindings instead
Simplify CutterPlugin Interface

Pull Python Plugin Metadata from class vars

Also kill cutter_plugin.py

Fix Python Plugin Module Loading
2019-02-21 22:57:26 +01:00
Florian Märkl
d544bbed77 Create Plugins dir automatically 2019-02-21 22:57:26 +01:00
Florian Märkl
ea6dea3cc1 Load Plugins from QStandardPaths::AppDataLocation 2019-02-21 22:57:26 +01:00
Florian Märkl
986041380c Add PluginManager 2019-02-21 22:57:26 +01:00
Florian Märkl
280e10d154 Subclass CutterDockWidget in Python Plugin
Refactor CutterPlugin::setupInterface() and fix C++ sample
2019-02-21 22:57:26 +01:00
Florian Märkl
23115d7b1c Generate Bindings for CutterCore in CMake
Refactor CMakeLists.txt for bindings

Fix for CUTTER_ENABLE_JUPYTER=OFF
2019-02-21 22:57:26 +01:00
Florian Märkl
1c98a1c42e Partially fix shutting down Python 2019-02-21 22:57:26 +01:00
xarkes
da3e1fad29 Cleaned a bit and added a widget example 2019-02-21 22:57:26 +01:00
Florian Märkl
74a201ecba Move everything Jupyter related out of PythonManager
Fix importing cutter in Python
2019-02-21 22:57:26 +01:00
Florian Märkl
b9c859bc0c Get Python Plugin Metadata 2019-02-21 22:57:26 +01:00
Florian Märkl
1f3315d020 Find MainWindow in Python
Return Pointer from setupInterface() in Python Plugin

Load plugins before creating MainWindow
2019-02-21 22:57:26 +01:00
Florian Märkl
7798021f03 Print Python Errors from setupPlugin() and setupInterface() 2019-02-21 22:57:26 +01:00
xarkes
73c40da3f9 PyDecref python plugin instance, Cleanup 2019-02-21 22:57:26 +01:00
xarkes
650823409d Test setupInterface 2019-02-21 22:57:26 +01:00
xarkes
9c2de3e23d Calling setupPlugin from python 2019-02-21 22:57:26 +01:00
xarkes
a1110ee2ac WIP Python plugin PoC 2019-02-21 22:57:26 +01:00
Gaurav Kumar Ghildiyal
a83791a3e0 Fix arch and bits in Hexdump Widget (#1209) 2019-02-20 21:16:56 +01:00
Itay Cohen
d1af0c7c69
Update SyntaxHighlighter.cpp (#1206) 2019-02-20 18:36:25 +00:00
Vanellope
4a9b6182f5 Fix a bug which causes segfault when adding another Graph (#1202) 2019-02-19 15:56:50 +00:00
Gaurav Kumar Ghildiyal
a8fbe72bf7 Show sizes of structs and unions (#1203)
Show sizes of structs and unions and update radare2 submodule for r_core_save_parsed_type()
2019-02-19 14:11:01 +00:00
Vanellope
cd96856959 Fixed a scaling issue of Graph (#1200)
* Fixed a scaling issue of Graph

* Thoroughly fixed for the scaling

* double click fixed
2019-02-17 13:31:00 +00:00
Vanellope
f8cebe0e30 Graph scrolling forever (#1195)
* Replace scroll algorithm with just using offset

* WIP

* Text is now shown properly on each node

* WIP

* Scaling well WIP

* Fix positioning for Graph

* Overview properly displays Rect WIP

* Rect in overview moves along with the mouse WIP

* Overview rect properly moves WIP

* mouse properly moves WIP

* in middle of fixing resizing WIP

* scaling issue WIP

* Properly zooms

* almost done

* Edge width fixed for the overview

* Fixed a small bug

* Clean up
2019-02-16 17:17:11 +00:00
Florian Märkl
9a02dd24a7 Fix FunctionsWidget Tooltip Colors 2019-02-15 18:39:47 +01:00
Florian Märkl
9f31fd40b4 Move HTML Disasm formatting to Cutter 2019-02-15 18:39:47 +01:00
Florian Märkl
355e726e4a Fix Meson Scripts Paths (#1193) 2019-02-13 20:38:02 +01:00
xarkes
2132b5cb09
Fixed a typo (#1192) 2019-02-13 15:35:38 +01:00
Itay Cohen
843185d594
disable "aan" from advanced options (#1190) 2019-02-13 08:07:08 +00:00
Adam Zambrzycki
ef2f8f6772 Fix graph header resizing (#1189)
* Fix graph header resizing

* Remove 'this'

* Fix formatting

* Add comment
2019-02-13 07:37:05 +00:00
Itay Cohen
b5a69357d6
Fix SDB Browser docking problem and rename the whole thing (#1188)
* Fix sdbBrowser docking and renaming

* Fix SdbBrowser docking and naming
2019-02-13 06:38:47 +00:00
Itay Cohen
bc974e432f Implement highlight in Types dialog (#1186) 2019-02-12 15:09:45 +01:00
Itay Cohen
281d4e95e0
fix progress bar alignment (#1185) 2019-02-12 13:43:19 +00:00
Gaurav Kumar Ghildiyal
2f804380fc Fixed memory leak and refactored code (#1181) 2019-02-11 14:54:02 +00:00
Gaurav Kumar Ghildiyal
c9ce15f6dd Added load, delete and export features in the Types Widget (#1158)
* Added export types feature in types widget

* Added load new types option

* Added delete types option

* Removed redundant files

* Fix for translation

* Added popups in TypesWidget and related dialogs

* Added addTypes() in CutterCore and changed code to use it.

* Update r2 submodule for r_parse_c_string()

* Added override keyword for overridden functions

* Added comments and removed popup question.

* Added comments and confirmation dialog for delete
2019-02-11 09:34:15 +00:00
xarkes
75ce42f1ef
Reordered menu items by alphabetical order (#1178) 2019-02-09 12:51:16 +01:00
Philip Nelson
49b27ba241 Added a checkbox in the preferences dialog for asm.indent (#1175)
* Added a checkbox in the preferences dialog for asm.indent

* Fixed styling

* Made description more accurate
2019-02-07 22:55:24 +00:00
Vanellope
1a132ecf83 Fix an wrong positioning of the rect of Overview (#1171)
* Fix an wrong positioning of the rect of Overview

* Fix commenting and a resizing issue
2019-02-07 20:39:37 +00:00
Itay Cohen
9778cdf2d6
set ayu default for dark interface (#1174) 2019-02-07 20:39:14 +00:00
Florian Märkl
3a80b111b3 Add Actions to Create/Rename/Delete Classes 2019-02-07 14:53:14 +01:00
Philip Nelson
277a0ada2f Adding #685 (Adding a report issue button) (#1165)
* Added GUI elements for automatically opening Github issues

* Made the UI button for reporting issues a little more concise

* Added URL opener, in debugging stages of getting relevant OS details

* Fixed the url to fill in the OS info and Cutter version parameters

* Removed some .orig files that astyle made and I pushed

* Made the title of the issue empty so the User has to enter it

* Removed extra new lines

* Removed my astyle silliness

* Report button will now give information about the file being analyzed.

* Fixed indentation

* Added meaningful names to variables, added a method to determine if certain items exist before accessing them. Also fixed some camelCasing issues :D

* URL declaration is now done once, fixed if/else formatting
2019-02-07 10:52:08 +00:00
Florian Märkl
bcb3a162f7
Use REvent for classes (#1169)
* React to Anal Class REvents

* Correctly react to specific Class Events

* Adapt to Class REvent changes

* Update r2 submodule for Class REvents
2019-02-07 11:42:53 +01:00
a1ext
d876c9deee
Fixed AboutDialog leaking (#1168) 2019-02-06 17:30:29 +03:00
Adam Zambrzycki
6ad7900a3f Improved big blocks rendering performance (#1166) 2019-02-06 14:42:03 +01:00
xarkes
5365027f7c
Fixed asm.xrefs checkbox in Asm Options (#1167) 2019-02-05 20:51:39 +01:00
Ankur Saini
99915c990a Prevent r2 injection when opening a file (#1125)
* Prevent r2 injection while opening a file

* Small changes

* Changed the title of messagebox

* Open file use r2 API

* Minor Changes

* Minor Changes
2019-02-05 19:35:54 +00:00
Adam Zambrzycki
3493eae194 Fix graph blocks rendering optimization (#1164) 2019-02-05 16:21:02 +01:00
a1ext
8c82449423 Force context menu to show shortcuts fix. Closes #1154 (#1163)
* Force context menu to show shortcuts fix. Closes #1154

* Mocking problem fixed
2019-02-05 09:46:39 +02:00
Vanellope
85a57f9e17 Proper fix for the infinite loop that had occurred to the Overview (#1156) 2019-02-03 08:54:28 +01:00
Florian Märkl
1ee1d7d948 Fix Seek to VTable and add some docs 2019-02-02 15:17:50 +01:00
Florian Märkl
dae04b8609 Rename Anal to Analysis in ClassesWidget 2019-02-02 15:17:50 +01:00
Florian Märkl
1864e7b95d Finish EditMethodDialog 2019-02-02 15:17:50 +01:00
Florian Märkl
7bdc28d07d Make EditMethodDialog Method Loading work 2019-02-02 15:17:50 +01:00
Florian Märkl
159d04e4c5 Re-enable Proxy Model for Classes Widget 2019-02-02 15:17:50 +01:00
Florian Märkl
2f0fd91137 Polish Classes Widget 2019-02-02 15:17:50 +01:00
Florian Märkl
c54f7df3cb Add Icons to ClassWidget 2019-02-02 15:17:50 +01:00