Commit Graph

1134 Commits

Author SHA1 Message Date
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