Commit Graph

1168 Commits

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