Commit Graph

228 Commits

Author SHA1 Message Date
Florian Märkl
dedbabde56
Add macOS Packaging in CMake (#7) 2020-12-07 09:19:18 +01:00
Florian Märkl
85042000e8
Add Support for new Projects (#3) 2020-12-07 09:17:58 +01:00
Florian Märkl
2b8ac6ecf7
Port to Rizin 2020-12-07 09:17:56 +01:00
Yuhao Bi
b07bffc5fe
Fix build on centos7 gcc4.8 (#2492) 2020-12-01 23:17:09 +02:00
karliss
f9bde4a2ff
Start making adjustment for qt6 compatibility. (#2463)
* Introduce cmake option for using Qt6, build doesn't work fully yet.
* Recursive mutex, QActionGroup, QComboBox::AdjustToMinimumContentsLength
* Cleanup dock locking
2020-11-30 09:42:13 +02:00
NIRMAL MANOJ C
d7ef6e9e91
Save layout of the Decompiler Widgets (#2410)
* Create decompiler widgets when loading a layout
* Do not translate the dock widget names used for saving layout.
2020-08-30 14:26:56 +03:00
NIRMAL MANOJ C
691de14853
Synchronized Decompiler and Enabling Multiple Decompiler Widgets (#2402)
* Sync/Unsync decompiler widgets.

* Add multiple decompiler widgets with its own decompiler and functions.

* updateWindowTitle() in widgets for decompiler, disassembly, and hexdump.
2020-08-29 10:45:47 +05:30
sagcan
ec22b01086
Disable Plugins menu if no plugins are installed (#2318) (#2401) 2020-08-28 21:17:31 +03:00
tsunekoh
4fe94cd959
Do not open multiple setting dialogs to fix #2314 (#2392) 2020-08-22 19:49:21 +03:00
NIRMAL MANOJ C
1c86f54c95 Edit/Rename Variables Actions for function variables (#2357)
* Edit Function Variables Action

* Rename Function Variables Action

* CutterCore::renameFunctionVariable
2020-08-18 23:26:44 +05:30
NIRMAL MANOJ C
b42a19e995 Display jumping fix useless decompilation (#2351)
* save scroll position and reset to that if the newly decompiled function is the same as the previous one

* instructionChanged signal replaced completely by breakpointsChanged in toggle/add breakpoint functions.

* removed addbreakpoint(QString) and toggleBreakpoint(QString)
2020-08-18 23:26:44 +05:30
NIRMAL MANOJ C
37fc01478f Global variable actions and Show in action and refactoring (#2295)
* Show in action for global variables and functions
* Copy address of global variable or function referenced by the cursor selection
* Rename global variable
2020-08-18 23:26:44 +05:30
NIRMAL MANOJ C
eef9baa300 Action to rename functions in the decompiler context menu (#2286) 2020-08-18 23:26:44 +05:30
karliss
48192d799a
Get rid of circular include between Cutter.h and CutterPlugin.h (#2390) 2020-08-14 21:30:51 +03:00
Gireesh
63d3acb8a2
Add "Documentation" button to the "help" menu (#2381) 2020-08-11 15:52:52 +03:00
Oriol Castejón
9e346275c5
Add new Analysis section to the Preferences widget (#2332) 2020-08-10 19:12:38 +03:00
karliss
d6d2e90028
Clazy warnings (#2371)
* Refactor some of the connect calls.
* Refactor more old style signal connect calls.
2020-08-07 17:18:42 +03:00
karliss
8f5fbeddde
Refactor old style macro based signal connect. (#2360) 2020-08-03 12:13:39 +03:00
karliss
7c9c7e6fe4
Add symbol exports. (#2345)
* Add symbol exports required for external native plugins to work on Windows
* Make Linux build behave more like Windows so that missing export
annotations can be more easily detected.
2020-08-01 17:14:30 +03:00
NIRMAL MANOJ C
f2a867ca28
Xref for function variables in disassembly view (#2297) 2020-07-28 22:49:50 +03:00
Itay Cohen
e0bfcccb87
Change "Run Script" to "Run radare2 script" (#2330)
* Improve "Run script" title to make it more clear
* Update docs to reflect the change
2020-07-25 20:44:03 +03:00
karliss
f92c42d09e
Reset last seen memory widget during layout switching. (#2303) 2020-07-21 12:40:53 +03:00
Itay Cohen
c923576b7e
Fix the "all green" navbar (#2305)
* Specify the search range for search.in
* Add  config_set(key, const char*) overloads to prevent char* being automatically casted to bool and config_set(key, bool) being chosen unexpectedly.
2020-07-20 23:11:31 +03:00
karliss
65a668943a
Reorganize R2GraphWidget UI (#2298)
* Reorganize R2GraphWidget UI.
2020-07-19 22:00:05 +03:00
karliss
e5d7bd660a
Add more graph widgets (#2273)
* Add generic r2 graph.
* Add Callgraph widgets
* Add more graphviz layouts.
* Fix some edge cases in graphGridLayout that were more likely to appear in callgraphs
* Refactor the code moving some of the logic out of disassemblyGraphWidget making it more reusable
2020-07-16 11:05:10 +03:00
itayc0hen
d6edae4ced Remove redundant renaming function in Main Window 2020-07-15 17:36:25 +03:00
karliss
76773eadd6
Reduce amount of warnings (#2233)
* Deal with QT depracated warnings
2020-06-06 19:02:24 +03:00
karliss
0ea5d6fa4b
Add UI for managing layouts (#2211)
* Add dialog for deleting and renaming layouts.

* Add documentation.

Co-authored-by: Itay Cohen
2020-05-24 01:12:32 +03:00
Itay Cohen
6f75fa1a71
Add menu options for changing IO mode (#2187) 2020-05-23 14:41:12 +03:00
karliss
3545f059f1
Rewrite layout management code (#2172)
* Use QDockWidget::toggleViewAction instead of custom solution.
* Improve new dock placement.
2020-05-22 14:49:34 +03:00
NIRMAL MANOJ C
1181f7ff5c
Cutter RC Editor - Part B (basic editor) (#2162) 2020-05-20 23:38:20 +03:00
NIRMAL MANOJ C
2078790278
Update r2 and fix API changes (#2199) 2020-05-16 20:28:34 +03:00
Itay Cohen
18a21048dd
Update radare2 submodule (#2189)
* Update radare2 submodule

* Use the new API, r_meta_get_string doesn't return owned pointer anymore.
2020-05-11 19:55:38 +03:00
karliss
ca7b3a623d
Detect when native theme's darkness doesn't match color theme. (#2176) 2020-05-04 12:49:40 +03:00
karliss
f65f5cab4b
Notify about seek change when using seek(QString). (#2175) 2020-05-02 19:10:02 +03:00
karliss
6135fc7024
Add option for not loading plugins (#2160)
* Separate commandline parsing from rest of logic.
* Add options for not loading plugins.
2020-04-21 00:22:10 +03:00
karliss
aa8ecee8e2
Use drrj to read values for RegistersWidget. (#2141)
* Avoids problem with 64bit value as number in json
* Keeps registers in the order reported by r2
2020-04-17 16:01:05 +03:00
karliss
ccb53fedbf
Use r2 c api for reading comments. (#2154)
C api allows specifying address directly thus avoiding unnecesarry reads
caused by seek(rb=true).
2020-04-16 20:31:15 +03:00
Itay Cohen
a4cf66d13c
Resource names are strings (#2151) 2020-04-15 19:20:57 +03:00
karliss
56543fa0c7
Fix memory leak in listFlagsAsStringsAt. (#2145) 2020-04-14 10:58:25 +03:00
itayc0hen
f789337f45 Rename OpenFileDialog to MapFileDialog 2020-04-08 00:10:31 +03:00
itayc0hen
e7691eb956 Rename "Open" to "Map File" and "New" to "New Window" 2020-04-08 00:10:31 +03:00
Dhaval Purohit
7110d73979
Add tooltip for displaying flag and comment in hexdump (#1471) (#2116)
* Add tooltip for displaying flag and comment in hexdump (#1471)


Co-authored-by: Itay Cohen <itaycohen23@gmail.com>
Co-authored-by: karliss <karlis3p70l1ij@gmail.com>
2020-04-04 10:09:30 +03:00
NIRMAL MANOJ C
b06a6d0da8
Added function to load cutterrc from all standard paths along with home (#2109)
* added function to load cutterrc from all standard paths along with home
2020-03-26 15:07:33 +02:00
itayc0hen
5d02449094 Use cmdRaw and cmdRawAt in Cutter.cpp 2020-03-25 19:12:18 +02:00
itayc0hen
281e75389f Use cmdRaw and cmdRawAt in MainWindow 2020-03-25 19:12:18 +02:00
itayc0hen
2cefc7444c Improve cmdRaw 2020-03-25 19:12:18 +02:00
optizone
e50eddb8cd
Implement some of w? commands in HexWidget (#1854)
* Implement write commands in hex widget 
* Add cmdRawAt and seekSilent
* Document patching context menu

Co-authored-by: itayc0hen
Co-authored-by: Kārlis Seņko
2020-03-19 11:36:36 +02:00
karliss
c4d7d649f1
Add installing to CMake (#2084) 2020-03-15 14:43:42 +01:00
Itay Cohen
a327a33c3e
Add configuration description getter to improve Initial Analysis dialog (#2088)
* Implement configuration description getter

* Use helper function and remove trimming
2020-03-08 18:27:47 +02:00
karliss
b173d05865
Limit amount of JSON dumped in case of error. (#2081) 2020-03-04 09:39:52 +02:00
Itay Cohen
7008d4e9b9
Refactor hashes in dashboard to support newly added hashes (#2067)
* Fix regression of API to get all hashes
* Refactor hashes and entropy in Dashboard
* Update radare2 submoudle
2020-02-28 10:48:30 +02:00
karliss
1ae78655fa
Simplify and move Plugin context menu gui code out of core. (#2039) 2020-01-31 11:13:28 +01:00
yossizap
a1b5a41e56
Register refs widget improvements (#2038)
* Move register refs to the new telescoping function and add an addressable context menu
2020-01-30 19:40:27 +02:00
yossizap
969ce5ac30
Make breakpoints available outside of debug (#2027)
* Make breakpoints available outside of debug
2020-01-29 18:58:05 +02:00
Hye Sung Jung
57b5879593 fix spelling errors (#2036) 2020-01-28 10:02:17 +02:00
Itay Cohen
8266cd074f
Add realname and libname to Flags and Imports widgets (#2024)
* Add realname and libname to flags and imports
2020-01-25 09:18:53 +02:00
yossizap
409102afa7 Add api for context menu extensions (#2029) 2020-01-24 10:49:52 +01:00
Paul I
27449af445 Fix potential nullptr dereference (#2028) 2020-01-23 01:07:41 +02:00
Florian Märkl
a9ed742cad
Update radare2 and fix Cutter for it (#2017) 2020-01-15 20:19:24 +01:00
yossizap
830e9cd947 Add a custom telescoping function and improve StackWidget's output (#1990)
* Add a custom telescoping function and improve StackWidget's output

* Use colors from the color configuration for stackswidget

* Improve telescoping output
2020-01-10 22:46:49 +02:00
karliss
c645cbee01
Refresh monospace font after it gets reset by style or font change. (#2002) 2020-01-08 00:03:25 +02:00
karliss
90c7bfab1e
Breakpoint editor dialog (#1975)
* Add breakpoint dialog for editing breakpoint properties
* Allow editing breakpoint using context menu from breakpointWidget and disassembly menu.
2020-01-04 20:05:49 +02:00
int_13h
32be76fabc multiple instructions can be patched now (#1984) 2020-01-02 10:07:10 +02:00
karliss
46ba0dc20a
Add more breakpoint editing options (#1967)
* Convert breakpoint widget to AddressableItemWidget
* When selecting multiple breakpoints and pressing delete key delete all of them
* Allow toggling breakpoint trace and active properties by doublicking them in table
2019-12-26 22:51:55 +02:00
yossizap
45f7c78726 Moved the debug exit dialog to DebugActions
Qt may crash or freeze if a window is created outside of the main loop
2019-12-20 18:03:39 +01:00
yossizap
f5cd754a0d Use events to notify the user about the debugee's death 2019-12-20 18:03:39 +01:00
karliss
0b849bc05e When using add breakpoint button add it not toggle. (#1953) 2019-12-20 18:02:27 +01:00
karliss
faf6959278 Workaround for new debug widgets being opened in normal mode. (#1950) 2019-12-20 08:19:44 +02:00
karliss
05acb30076
Show debug widget menu under Debug. (#1949) 2019-12-19 20:03:44 +02:00
Itay Cohen
4e84d1b502 Highlight Breakpoints and PC in decompiler (#1948) 2019-12-19 18:58:30 +01:00
Properrr
78c6e651c8 Define string of length N in address (#1915)
* Implemented "setString" submenu for the Disasm widget
2019-12-18 16:26:51 +02:00
Florian Märkl
8f480d9c2c
Fix Segfault on Quit after Debug/Emulation (#1943) 2019-12-18 14:56:57 +01:00
Florian Märkl
fd98694c9a Fix automatic function naming (#1942) 2019-12-18 15:20:33 +02:00
yossizap
17d5ae0cfd Replace changeDebugView and changeDefinedView with toggleDebugView 2019-12-14 16:44:57 +02:00
yossizap
77081526b2 Add startRemote to the debug dropdown menu 2019-12-14 16:44:57 +02:00
yossizap
d60f9aa52a Updated r2 for 'doc' and 'oo' reloc fixes and integrated 'doc' 2019-12-14 16:44:57 +02:00
yossizap
a8bc37f0de Add a signal for widget rebasing and switch to oodf for remote debug rebasing (#1913)
* Add codeRebased to sync widgets after debug starts
* Switch attachDebug to oodf to enable rebasing
2019-12-14 16:44:57 +02:00
yossizap
519cd5dabd Add debug dialogs (#1903) 2019-12-14 16:44:57 +02:00
yossizap
ef97c84351 Add processes widget for kernel and child debugging (#1894)
* Update r2 for dp fixes and general debug fixes

* Added ProcessesWidget for kernel debugging and switching between children

* Update r2 for dpl fixes

* Update r2 for linux and gdbserver dp/dp= fixes

* Added switchedThread and switchedProcess events to refresh their widgets

Seek doesn't always change after switching if the other process is at
the same offset in the same binary so it's better to have another event
for it.

* Disable threads/processes widget during a debugtask/when not debugging and clear it's history after a session

* Improve Processes Widget's UI

- Remove vertical numbers
- Highlight the current process with bold instead of using the "current"
  column

* Updated r2 for fork fixes
2019-12-14 16:44:57 +02:00
itayc0hen
4d306616f9 Use proper docstrings 2019-12-14 16:44:57 +02:00
yossizap
f284f9d209 Stdin redirection for locally debugged processes (#1892) 2019-12-14 16:44:57 +02:00
yossizap
49d58b3624 gdbserver and windbg remote debugging support (#1874)
* Added remote debugging
2019-12-14 16:44:57 +02:00
yossizap
c85e1db3b3 Detach Cutter interface from debug command execution (#1857) 2019-12-14 16:44:57 +02:00
yossizap
a3e140bf4d ThreadsWidget and r2 debugging fixes (#1846)
* Added wrappers for dpt and dpt=

* Added ThreadsWidget used for thread monitoring during debugging

* Updated r2 for dpt, dpt= and drrj fixes

* Convert r2's pid status letters to more informative strings

* Replaced cmdj with cmd and ensure the thread's data is synced

* Moved viewThreas to threadsWidget.ui, switched from onDoubleClick to Activated and added a column cleanup

* Add old row cleanup to BacktraceWidget

* Clean up

* Added sorting and filters

* Modified ThreadsWidget for Qt5.3 compatibility
2019-12-14 16:44:57 +02:00
mandlebro
9970028914 Fix PIE debug 2019-12-14 16:44:57 +02:00
mandlebro
75ae47dbcb Fixes issues with reset layout in debug mode 2019-12-14 16:44:57 +02:00
mandlebro
721870ac0e Fix emulation not working after a debugging session 2019-12-14 16:44:57 +02:00
karliss
c255fd1cfd Add menus to seek backward and forward buttons. (#1889) 2019-12-10 08:34:21 +01:00
Florian Märkl
a4e0308e84
Update radare2 and fix Cutter for it (#1890) 2019-11-27 11:49:44 +01:00
Florian Märkl
4dc4982b3f Update radare2 and fix Strings (#1885)
* Update radare2
* Fix Strings after izzj changes in r2
2019-11-23 17:03:23 +02:00
Leopold Kozioł
41f532ed7b Add instruction highlight in graph view (#1879) 2019-11-17 20:44:10 +02:00
Florian Märkl
4906e2b80b
Call MainWindow::initUI in Constructor (#1872) 2019-11-04 17:40:54 +01:00
karliss
771217d70a
Deduplicate seek forward and backward action. (#1844) 2019-10-17 03:02:48 +03:00
Jochen Bauer
b81eed7f22 Replacing all QRegExp with QRegularExpression (#1820)
* Replacing all QRegExp with QRegularExpression
2019-10-13 17:59:12 +03:00
Wesley King
83b1ce2c49 Add common zoom action for widgets using font from configuration (#1813) 2019-10-12 08:50:10 +03:00
karliss
b11ba240d2
Improve compatibility with cmake 3.5 and QT 5.5-5.11. (#1805) 2019-10-06 20:35:44 +03:00
karliss
38cdb90dc4
Restore breakpoint listing. (#1811) 2019-10-03 21:04:15 +03:00
Itay Cohen
2d34eb286a Add more shortcuts to DisassemblyContextMenu (#1782) 2019-09-25 15:58:58 +02:00
Óscar Carrasco
e7ead2e1b6 Fix "ta" commands after radare2 command refactoring #1774 (#1775)
* Fix "ta" commands after radare2 command refactoring #1774

* update radare2 submodule
2019-09-15 14:41:12 +03:00