Commit Graph

726 Commits

Author SHA1 Message Date
Florian Märkl
13e18f77de
Refactor Decompiled Code Structure (#1717) 2019-08-27 17:27:39 +02:00
Florian Märkl
448350c83d
Fix Segfault after changing Decompiler (Fix #1705) (#1715) 2019-08-23 22:06:44 +02:00
karliss
0aa91c328c Common behaviour for lists with items that have address (#1700) 2019-08-19 15:35:25 +02:00
karliss
cd2dbc4a29 Restore cursor after making empty selection. (#1714) 2019-08-19 08:23:42 +03:00
Itay Cohen
d3f91a5ed6
Add context menu to PseudocodeWidget (#1702) 2019-08-07 14:38:22 +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
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
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
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
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
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
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
78ff1459c9
Fix Qt 5.13 deprecations (#1641) 2019-07-09 20:55:07 +02: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
f712038de4 Case Insensitive ASM search + Update radare2 submodule (#1612) 2019-06-23 10:29:44 +02: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
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
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
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
Florian Märkl
c0b359cb65
Keep Console Font on Theme Change (#1567) 2019-05-20 21:06:25 +02:00
Florian Märkl
90f71085d7
Fix some Warnings (#1561) 2019-05-19 22:11:09 +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
ef22f20548
Fix non-integer Font Metrics in Graph (#1545) 2019-05-17 13:00:54 +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
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
karliss
170d77e62c
Check if target graph has been set. (#1517)
Fixes #1508.
2019-05-12 07:08:48 +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
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
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
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
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
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
059723b013 Navigate through graph view with arrows (#1441) 2019-04-10 21:07:53 +02:00
ncyellow
b6406e6ac6 fix compile ubuntu gcc7 (#1442) 2019-04-08 22:12:56 +02:00
Florian Märkl
65850d6aee
Replace GraphView::useCache with dirty flag (#1437) 2019-04-08 08:59:16 +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
karliss
df65f250e5 Make graph layout more failure resistant. (#1427) 2019-04-05 09:28:11 +03: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
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