Commit Graph

1493 Commits

Author SHA1 Message Date
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
Florian Märkl
af20c35ab0 Show Anal Class Attributes 2019-02-02 15:17:50 +01:00
Florian Märkl
6087ab8016 Add Methods to fetch Anal class attrs 2019-02-02 15:17:50 +01:00
Florian Märkl
c7d582a893 Basic Display of Anal Classes in ClassesWidget
Fetch Anal Classes

Display vtable info in ClassesWidget

Add Context Menu to ClassesWidget

Show Base Classes in ClassesWidget

Add EditMethodDialog

Fix Anal Classes List

Set Anal as the default Classes Source

Display Anal Classes from SDB in ClassesWidget
2019-02-02 15:17:50 +01:00
Gaurav Kumar Ghildiyal
601339d86f Added some of the features mentioned in the Types Widget Project. (#1153)
* Added filter widget to types widget

* Added filter capibility in types widget

* Added comments and refactored some code

* Corrected some details
2019-02-01 18:11:50 +02:00
Vanellope
f5709830b9 Fix graph zoom for overview (#1152) 2019-01-31 13:14:15 +01:00
xarkes
60bb972cfd Added 'asm.xrefs' option in preferences dialog (#1150) 2019-01-30 10:40:17 +02:00
Gaurav Kumar Ghildiyal
339d1328c3 Added support for automatically saving and opening recent folder (#1149) 2019-01-29 18:37:09 +01:00
Gaurav Kumar Ghildiyal
57231192f4 Added dialog to show infinite progress-bar while running script (#1145)
* Added dialog to show infinite progress-bar while running script

* Replaced loadScript with cmdTask for thread safe execution.
2019-01-28 15:37:20 +02:00
xarkes
8c6db6e3bb Fixed infinite recursion in OverviewView (#1144)
It was calling itself at the end of the function
instead of calling the parent's mousePressEvent
function.
2019-01-27 10:55:53 +02:00
Gaurav Kumar Ghildiyal
e246a8a9d3 Moved type checkbox from windows/info to windows dropdown (#1142) 2019-01-24 23:32:24 +01:00
Florian Märkl
758173e55b Update r2 and fix for r_bin_file_hash() changes (#1143) 2019-01-24 23:29:56 +01:00
vane11ope
43363f25e6 Fix a resizing issue 2019-01-24 20:45:35 +01:00
Vanellope
b25afecc2c Graph Overview (#1120)
Added a Graph Overview
2019-01-24 18:13:04 +01:00
Florian Märkl
fc534df099
Fix CutterCore::getAllRelocs() for RBTree (#1135)
* Fix CutterCore::getAllRelocs() for RBTree

* Update r2 submodule for RBTree C++ fix
2019-01-22 16:35:44 +01:00
xarkes
2d2d4d3346 Release bump 2019-01-21 22:29:42 +01:00
xarkes
f18a22f81d
Fixed about dialog text (#1126) 2019-01-21 22:26:22 +01:00
a1ext
73cf41b81e Translations deployment for MAC & Linux has fixed (#1119)
* Translations load refactoring

* Translations: Added MAC support

* Translations: fixed getting of translation folders

* Fixed code style, documented some methods
2019-01-20 19:00:23 +02:00
Itay Cohen
04ed78444d Fix overlap qlabel and icon in WelcomeDialog (#1123) 2019-01-20 13:14:19 +01:00
Florian Märkl
f917921d49
Fix r2 injection in FunctionsWidget tooltip (#1122) 2019-01-20 12:51:02 +01:00
Florian Märkl
d74d30e10f
Fix CutterSeekable isSynchronized() and signal on de-syncing (#1121)
Also fixes incorrect "(unsynced)" in the graph widget's title.
2019-01-20 12:19:51 +01:00
xarkes
5a97fd496e
Updated translations module (#1118) 2019-01-19 22:16:50 +01:00
Itay Cohen
0fb8a91105 Implement Welcome Dialog (#1116) 2019-01-19 21:54:02 +01:00
xarkes
25b8243f8f Improved xref widget performances (#1112)
* Improved xref widget performances

Removed call to afij that could be very slow.

* Deleted destructor definition

It is bydefault defined in QObject derived
classes so since it's empty we should better ommit it

* Use pd-- and readd destructor
2019-01-16 13:50:27 +02:00
Paul I
00c0994fb5 Replace R_FREE() with r_mem_free() 2019-01-16 12:13:00 +01:00
xarkes
fdf619a762 Moved CutterSeekable to common directory
It used to be in widgets for no reason, it is
just a regular class that is commonly used by some
widgets.
2019-01-15 08:21:35 +01:00
Paul I
c9d5fee987 Add USE_LIB_MAGIC check 2019-01-15 08:21:03 +01:00
a1ext
1a748903e4 Fixed DisassemblyWidget's eventFilter crash (#1111)
* Fixed DisassemblyWidget's eventFilter crash (usage of a non-initialized member before assignment)

* Alignment fix, just to trigger appveyor build
2019-01-15 08:48:30 +02:00
xarkes
3c27c62b2d Fix Graph refresh 2019-01-14 18:50:20 +01:00
xarkes
b27cd39ddc Added RefreshDeferrer to emulation widgets 2019-01-14 18:50:20 +01:00
xarkes
c345981af9 Readded more widgets 2019-01-14 18:50:20 +01:00
xarkes
06da378362 Readded SectionWidget with RefreshDeferrer 2019-01-14 18:50:20 +01:00
Florian Märkl
0ebe1cf728 Fix some minor issues and leaks 2019-01-14 18:50:20 +01:00
Florian Märkl
bbd5ad6b38 Document RefreshDeferrer 2019-01-14 18:50:20 +01:00
Florian Märkl
9ef971263f Fix DisassemblyWidget refreshing 2019-01-14 18:50:20 +01:00
Florian Märkl
d651a0d8be Add createReplacingRefreshDeferrer for convenience 2019-01-14 18:50:20 +01:00
Florian Märkl
b8c92a460d Add RefreshDeferrer 2019-01-14 18:50:20 +01:00
Florian Märkl
3728f977a2 Split isVisibleToUser and refreshing in Dock Widgets 2019-01-14 18:50:20 +01:00
xarkes
f4c720cffa WIP First PoC to draw only visible after seek 2019-01-14 18:50:20 +01:00
fcasal
7f80f96c55 Fixes #1050 (#1107) 2019-01-14 09:17:10 +01:00
Adam Zambrzycki
d05fdd3d44 Add 'Copy' context menu option to graph view (#1097) 2019-01-14 09:16:10 +01:00
xarkes
b0bb1f0610
Fixed many warnings in DisassemblerGraphView (#1103)
Most of them were qreal to integer precision
loss, so I added static_cast to remove the
warnings.
2019-01-13 15:40:37 +01:00
xarkes
f385cf26d5 Refactored CutterSeekableWidget to CutterSeekable (#1099)
This commit refactors the CutterSeekableWidget class
and adds some documentation.
2019-01-13 16:20:07 +02:00
Itay Cohen
bdc684769f
Enforce LTR layout (#1102) 2019-01-12 21:44:23 +02:00
Paul I
c378c7d6f3 Add missing #ifdef checks (#1096) 2019-01-12 16:43:51 +01:00
Itay Cohen
3666c97178 Highlight program counter in Navbar widget (#1095)
Highlight program counter in navbar and add navbar cursor
colors to native theme configuration.
2019-01-12 10:02:07 +01:00
Florian Märkl
f189fb423c
Remove Fallback for afcf in Graph Header (#1090)
since afcf now works for all functions in r2 this is not needed anymore and will greatly improve performance
2019-01-10 15:49:31 +01:00
Paul I
8d92f92025 Wrap Python API 2019-01-09 19:24:37 +01:00
a1ext
9aec148218 FunctionsWidget: tooltip data retrieving optimized (print limited number of instructions instead of printing the whole function) (#1088) 2019-01-09 07:45:07 +02:00
a1ext
78fe3eb3c1 Removed useless information from tooltip and removed very slow data retrieving with afij (#1087)
Now tooltip will show Disasm Preview and Highlights
2019-01-08 14:23:17 +02:00
Vanellope
975fd77116 Adjust size of each section in the address maps of Section Widget (#1086) 2019-01-07 12:43:44 +02:00
Itay Cohen
2ccf58f0a6
Improve XREF window size and locations (#1049) 2019-01-02 21:58:02 +02:00
Itay Cohen
4505d187c4
Set Analysis configuration before executing Analysis commands (#1048)
* Set analysis configurations defined by the user before executing the
analysis commands (fixes #1047)

* Remove (probably) unnecessary lines which reset settings determined by
the user
2019-01-02 15:40:46 +02:00
Vanellope
8e76a9aca5 Click and Seek implemented for the address maps in the Section Widget (#1046)
* Touch and Seek implemented, not yet refactoring

* Done
2018-12-30 17:13:27 +01:00
Itay Cohen
42149f826c
Make Plugin window bigger for readability (#1044) 2018-12-28 09:31:15 +01:00
xarkes
6a5804f3d5 Set default IO to file:// (#1042) 2018-12-27 23:26:59 +01:00
xarkes
63e0d0b779
Cutter 1.7.3 release 2018-12-26 13:00:18 +01:00
xarkes
3e922a89e7
Added release script and appdata.xml (#1028) 2018-12-26 11:52:25 +01:00
Florian Märkl
9a3844f5d1 Kill SidebarWidget 2018-12-25 00:08:19 +01:00
Florian Märkl
8241b09e80 Fix Logo Color for Dark Theme 2018-12-24 17:05:30 +01:00
Florian Märkl
97cacd15f4 Fix Graph Refreshing 2018-12-24 13:49:17 +01:00
Florian Märkl
ae7bac506f Make Console Execute Button consistent with ToolBar 2018-12-21 22:24:52 +01:00
Florian Märkl
6a667790be Set highlightPC for native dark 2018-12-21 22:24:52 +01:00
Florian Märkl
2ffcccd41e Make DebugToolbar into DebugActions 2018-12-21 22:24:52 +01:00
Florian Märkl
55f634dbf1 Disable NSRequiresAquaSystemAppearance 2018-12-21 22:24:52 +01:00
Florian Märkl
350825849b Automatically switch colors if Native Theme is Dark 2018-12-21 22:24:52 +01:00
Florian Märkl
e57c2fb941 Add Dark Native Colors 2018-12-21 22:24:52 +01:00
Florian Märkl
99b1fde47d Cleanup EditVariablesDialog (#1007)
Originally SetFunctionVarTypes
2018-12-19 09:39:23 +01:00
Itay Cohen
c8d8e667fb Right click -> Select block in hexdump widget (#1006)
* jamieb22 modifications and some sanity checks
* improve warning color
* Fix writeable hexdump
* more sanity checks
2018-12-18 18:26:38 +01:00
Itay Cohen
ea5dc6e594
Improve highlight colors (#1003) 2018-12-16 09:07:25 +02:00
Itay Cohen
ab42756729
Fix SIGSEGV on Sections widget (#1004) 2018-12-16 09:06:17 +02:00
Vanellope
16ad5c9220 Only one close button should be shown for PE-Bear thingy. (#993)
* Only one close button should be shown for the AddrMaps in the Section Widget
2018-12-13 13:24:56 +01:00
nullableVoidPtr
984681700b Fixed build.sh constantly updating r2 and added *BSD support (#994)
* Fixed build.sh constantly updating r2 and added *BSD support
2018-12-13 13:23:03 +01:00
Itay Cohen
4026ea11a1 Fix out of bounds crash in Theme selector (#998)
* Fix out of bounds crash in Theme selectors
2018-12-12 18:10:29 +01:00
Itay Cohen
ed621e55a8 Closing #929 | Color functions at offset 0x00 in the Imports widget (#992)
* Color function at offset 0. Closing #929
2018-12-11 19:23:01 +01:00
xarkes
7ce1790fcf
Fix meson version to 0.48.2; updated Qt to 5.10.1 (#996) 2018-12-11 19:22:45 +01:00
a1ext
636057bd53 MAC Build: new package UI design (thanks to @ITAYC0HEN) (#986)
* MAC Build: new package UI design (thanks to @ITAYC0HEN)

* MAC Build: fixed path bar absence
2018-12-04 07:38:16 +02:00
Itay Cohen
efc15cd24a
add context menu seperator (#982) 2018-12-03 17:16:17 +02:00
Itay Cohen
33339a00df
improve selection colors (#976) 2018-12-03 13:45:49 +02:00
Paul I
3fa101d9ee StringsWidget: add shortcuts for QuickFilter (#973) 2018-11-29 23:59:34 +02:00
a1ext
48c34699af Fixes #965 - Fail to duplicate color theme on windows. (#970)
Fixes bug with color change
Performed small refactoring of AppearanceOptionsWidget, ColorSchemeFileSaver
2018-11-29 09:39:58 +02:00
a1ext
200a6949d2 Fixed Dashboard file name displaying: due to utf8 json serialization in radare2 has been fixed, we don't need encoding kludge anymore (#969) 2018-11-28 22:15:53 +01:00
Paul I
3096d24998 [WIP] Some cleanup (#958)
* Some cleanup

* Some more

* Some more

* Some more
2018-11-27 00:34:34 +02:00
fcasal
33d16dda3e Add xref shortcut to Strings Widget (#858) 2018-11-26 19:54:39 +01:00
Vanellope
26d985c9dc Toggle the address maps in the Section Widget (#959)
* Toggle the addr maps in the Section Widget

* Icon transform done.

* Refactoring
2018-11-26 13:09:35 +02:00
a1ext
379567e80c MAC Build: fixed problem when you cannot open Cutter on MacOS due to missing Frameworks (#957) 2018-11-23 17:36:43 +01:00