Commit Graph

1888 Commits

Author SHA1 Message Date
Kārlis Seņko
ddefc0663a Don't leak memory in bb highlighter. 2022-08-10 16:34:34 +03:00
Jeremy Rifkin
278b4e19b9
Update GraphGridLayout documentation (#3000)
* Updated GraphGridLayout documentation

* Don't use potentially misleading  name "segment tree" .

Not exactly segment tree (although sometimes called that), and for the purpose of high level understanding how graph layout works doesn't matter what it is. Any data structure which provides required queries could be used.

Co-authored-by: Kārlis Seņko <karlis3p70l1ij@gmail.com>
2022-08-10 21:05:01 +08:00
billow
a4a4b9d2ec
Convert to rizin APIs pc* px* (#3007) 2022-08-09 23:51:20 +08:00
billow
35f9bfe135
Update rizin and version API (#3008) 2022-08-09 09:29:08 +08:00
billow
44b7a7997a
Convert disassembly (pd pdj pdJ) to rizin API (#2996) 2022-08-01 17:57:16 +02:00
Florian Märkl
db0d4d85a6
Use CutterJson for Signatures and rewrite JsonModel (#2997)
This fixes a double-free in getSignatureInfo() when the string was
already freed by the intermediate CutterJson. But actually just using
this CutterJson makes more sense than the string anyway, so let's do
that.
The old JsonModel rebuilt the entire structure, defeating the main
purpose of a custom model in comparison to the existing QTreeWidget.
And since we are holding the json structures ourselves anyway, such a
custom model does not have many benefits anyway.
2022-07-09 16:26:35 +02:00
Florian Märkl
51c0a3d469
Construct and destruct CutterCore singleton locally (Fix #2704) (#2994)
Using Q_GLOBAL_STATIC meant that the CutterCore was destructed late as
part of a binary destructor. It would then free the RzCore, calling for
example the fini callbacks of all plugins. However global destructors in
shared library plugins may have already been run at this point, leading
to for example rz-ghidra's decompiler_mutex being used after
destruction.
Instead of the Q_GLOBAL_STATIC-managed global object, we are now
handling the lifetime of the CutterCore ourselves and only injecting its
instance to be accessed globally. This can also be a first step towards
making the core instance completely local.
2022-07-09 12:48:48 +02:00
billow
e4db94eb87
Convert to rizin APIs (#2973)
`rz_core_bin_get_compile_time`, `ij`/`CutterCore::getFileInfo()`,
`aaij`, `iVj`, `iEj`, `izzj`, `iMj`, `aeim-`, `aei-`, `tc`,
`rz_core_config_variable_spaces`, `o`, `oodf`
2022-07-02 15:49:13 +02:00
Florian Märkl
91fce8220b
Remove direct download from update check (#2989)
Hardcoded prediction of filenames for future releases is too prone to
break, which is what happened with v2.1.0.
So better to provide the link to the release page only.
2022-07-02 14:23:13 +02:00
Florian Märkl
df71da8f53
Update rizin dev (#2987)
Relevant breaking commits in rizin:
9ea7c2fa5acd0b9b0c178a1b4316adc129e7c512
2987e035da827903329ec6433410899b985e2434
2022-07-01 22:49:58 +08:00
Florian Märkl
ddacbd7828
Extend blocksize to work around pdJ printing to few lines (#2984) 2022-06-25 15:20:50 +02:00
Riccardo Schirone
8f7aebe7c7
CutterCore: select the right RzReg based on debug/emulation status (#2977) 2022-06-25 09:51:17 +02:00
Giovanni
f99ffc3dbd
Fix #2958 - Add checkbox to fill remaining bytes with nops. (#2974) 2022-06-23 07:44:25 +08:00
Florian Märkl
e60ba18e43 Fix segments listing 2022-06-23 01:09:45 +02:00
Florian Märkl
5b777b8202 Fix sections entropy display 2022-06-23 01:09:45 +02:00
Florian Märkl
cb26142398 Fix many null derefs when opening no file 2022-06-23 01:09:45 +02:00
billow
06c8f15ce0
Convert Rizin command calls to the API (#2968)
* `es`
* `il`
* `wcr`
* `.ar-`
* `aets-`
* `drp`
* `ahts`
*  `e <val>=?`
* `fo`
2022-06-16 07:28:43 +08:00
billow
aa222b53df
Convert more commands to rizin APIs (#2964)
`fdj?`, `iRj`, `om.`, `psx`, `p8`, `fj`
2022-06-10 13:05:25 +02:00
Giovanni
b66c3f6f30
Bump version to 2.1.0 from stable (#2962) 2022-06-08 18:34:03 +02:00
billow
11419f6858
Convert Rizin command calls to te Rizin APIs (#2960)
* Convert `iCj` call to the API
* Convert `icj` call to the API
* Convert `iij` call to the API
* Convert `iej` call to the API
* Convert `CClj` call to the API
* Convert `iEj` call to the API
* Convert 'ihj' call to the API
* Convert 'iSSj' call to the API
2022-06-08 08:02:26 +08:00
Giovanni
90608117c9
Yara plugin + fix linuxdeployqt plugins (#2924) 2022-06-08 07:18:43 +08:00
Giovanni
247ab94b71
Download and install sigdb option (#2949)
* Download and install sigdb option and disable swift demangler when libswift is installed
* Remove dir.prefix and use rz_core_analysis_sigdb_list for sigdb
* Use a different color for flirts
* Updated to rizin dev
* Use rz_path_set_prefix to set the prefix path on OSX bundle
2022-06-06 11:27:13 +02:00
Florian Märkl
2e6fd46127
Fix null deref in strings loading without any file (#2955) 2022-05-30 19:34:33 +02:00
Islam Bassuni
a630a8f5bc
Partially refactor Dashboard to API (#2930)
Also fixes missing NX and PIC bits in Dashboard.
2022-05-30 19:34:17 +02:00
Florian Märkl
3fc3d8d878
Fix EditVariablesDialog parenting (#2954)
This fixes the dialog being placed weirdly when using the 'Y' shortcut
because it was parented to the DisassemblyContextMenu, which itself
might not be shown at all.
2022-05-30 18:13:55 +02:00
bartoszek
26e4f4acb8
Add missing Rizin headers in python bindings (#2943) 2022-05-30 13:04:34 +02:00
Florian Märkl
1914b34fd8
Refactor VisualNavbar to use API instead of p-j (#2953)
With the updated rizin, this also fixes any error prints saying
"Cannot alloc for this range" and json errors when no valid range is
available.
2022-05-30 13:01:55 +02:00
billow
150769cd6b
Convert Rizin commands to the API calls (#2948)
Including wx wr wd ws ww wz ahi ahb aec aecu aecc aecs aes aesb aets+
aets- afc afcl omfg+w oo+ oo p8 aei aeim aeip aecb aeso dbs avj
2022-05-28 10:09:00 +02:00
billow
c9e8686ecb
Convert Rizin commands to the API calls 2022-05-22 16:51:54 +08:00
billow
c0f80a2628 convert to api for dr 2022-05-19 11:11:46 +08:00
billow
d6ce8048c5 convert to api for aht 2022-05-19 11:11:46 +08:00
billow
3d39cf625f convert to api for aoj 2022-05-19 11:11:46 +08:00
Paul I
5f376f55db
Revert changes in functionAt (#2941) 2022-05-12 16:55:55 +02:00
Giovanni
bdeacabffb
Replace afcf with C api. (#2940) 2022-05-08 15:17:52 +03:00
Jakob Zielinski
6f61d0d7d8
Search button disabled and button text changed while search is occurring (#2928) 2022-05-07 15:01:10 +03:00
staz
8cb4f867fa
Fixed an invalid index check (#2937) 2022-05-07 14:59:46 +03:00
Islam Bassuni
d2243006e2
Created adding comments option inside Hexdump. (#2927) 2022-04-13 07:50:57 +03:00
billow
de5c1a5154
Convert from Rizin commands to the API for w (#2926) 2022-04-10 11:43:42 +08:00
Giovanni
861c784600
Adds support for RZ_SIGDB path and fixes sorting on some columns (#2923) 2022-04-05 11:35:45 +02:00
rgnter
243eded243
Fixed a segfault during debugging with gdbserver (#2830)
Fixes issue #2829
2022-04-03 20:28:45 +02:00
Islam Bassuni
99c58718ec
Added report issue button in "About" window (#2908) 2022-04-03 16:50:14 +02:00
tcoyvwac
aed42d7300
widgets: redundant return-break (#2922)
Removed consecutive return-break statements.
2022-04-02 21:29:50 +03:00
billow
ea519df01e
Convert various debug code to C API (#2913) 2022-04-02 09:44:42 +02:00
Giovanni
e3a01d3780
‘memDisp’ may be used uninitialized (#2920) 2022-03-31 19:34:34 +02:00
Florian Märkl
62d75c9391
Extend cmake config files with deps, version, etc. (#2916)
This improves how the installed CutterConfig.cmake can be used for
native plugin development:
* Transitive dependencies are resolved automatically
* Version file is included
* Cutter_USER_PLUGINDIR is set to a path that plugins can use as a
  default install destination

src/plugins/sample-cpp/CMakeLists.txt is an example for how to use it.
Rizin was also updated to prevent an error with multiple
`find_package()` calls.
2022-03-31 12:49:37 +02:00
Giovanni
1ed19e7fc4
Fixed formatting (#2917) 2022-03-30 10:41:37 +02:00
Nirmal Manoj
b92ad19148 Use RzAnnotatedCode from JSDec (pddA) 2022-03-29 18:06:29 +02:00
Florian Märkl
2c31d38d85 Rewrite getVariables with API
This also avoids annoying "ERROR: No function found in ..." beging
printed by afvj when right-clicking anywhere outside a function.
The heuristics in functionIn() also have been adjusted to prefer the
function that has its entrypoint at the given addr, if there is any.
2022-03-29 09:37:17 +02:00
Florian Märkl
72a3815c01 Remove unnessecary str in setToData() (Fix #2901) 2022-03-29 09:37:17 +02:00
Florian Märkl
206fee601b Fix a strange comparison 2022-03-29 09:37:17 +02:00
Florian Märkl
fc3f072ed7 Add missing overrides to SectionsModel 2022-03-29 09:37:17 +02:00
SR_team
b9df65a6c9
Update includes compat with KF5.92 on some distributions (#2912)
With KF5.92 headers KSyntaxHighlighting/{header}.h copied to KSyntaxHighlighting/ksyntaxhighlighting/{header}.h. Headers KSyntaxHighlighting/{Header} now include ksyntaxhighlighting/{header}.h instead of {header}.h. Than on some distros like ArchLinux headers KSyntaxHighlighting/{header}.h removed, because it copies of KSyntaxHighlighting/ksyntaxhighlighting/{header}.h and because KSyntaxHighlighting/{Header} now include ksyntaxhighlighting/{header}.h.
2022-03-28 14:12:09 +02:00
alexthesys
c535badacd Convert if-block to early return 2022-03-17 00:36:27 +08:00
alexthesys
15282d9bc5 Hexeditor: add option to write hex bytes 2022-03-17 00:36:27 +08:00
yossizap
72ab12a23d
Update rizin submodule (#2900)
This is also a partial fix for #2897
2022-03-15 11:58:09 +01:00
Florian Märkl
bca7a7a2a6 Rewrite isWriteModeEnabled() with API
This also introduces a slight behavioral change: Previously, only the
core file with the "raised" io desc was checked, which is RzIO.desc. But
that member is deprecated for good reasons, so now we just check if
there is any core file whose primary fd has write enabled.
2022-03-14 10:35:08 +01:00
Florian Märkl
9441c3b470 Replace usage of wcj by C API 2022-03-14 10:35:08 +01:00
Florian Märkl
b8243a2b61
Remove unused stats query (#2903)
The views showing this info have been removed in the past, so it was
unused. This also fixes some errors with latest rizin where
zero-argument f does not exist anymore (it's now fl).
2022-03-14 10:09:35 +01:00
Akihiko Odaki
d34349b49f
Use rizin instead of Qt to parse JSON (#2902)
Qt truncates integers to 52-bit, corrupting e.g. memory addresses. Use
rizin's JSON parser, which can parse integers whose size is up to 64
bits.
2022-03-14 09:04:49 +01:00
yossizap
d65a352b1d
Remove additional 0x prefix in the registers widget (#2896) 2022-02-19 17:34:08 +02:00
Theofilos Pechlivanis
2dbf136de8
Save and load the layout of the Functions widget (#2844) 2022-02-05 09:00:08 +02:00
Petros S
2b50e2722b
Move more common disassembly-previewing functionality to namaspace (#2849) 2022-02-05 08:55:10 +02:00
Segev Finer
84d4a64f47
Enable console redirection on Windows without starting from a console (#2888) 2022-02-05 08:51:36 +02:00
billow
97b3aaaa3f
Convert rizin commands to C apis (#2861)
* "fr" renameFlag
* "f-" delFlag
* "f" addFlag
* "fsj" getAllFlagspaces
* "fj" getAllFlags
* "afn" renameFunction
* "af-" delFunction
* "af" createFunctionAt
* "eco"
* "ecd"
2022-01-27 10:06:20 +01:00
Segev Finer
734abd5609
Fix crash on Windows when starting from a console (#2885)
Fixes #2877
2022-01-26 14:53:05 +01:00
Giovanni
91d99ba219
Return error when applying a signature fails. (#2882)
* Updated rizin commit to 8282cee287abdbf8664a0b2540bad2b5ea5b819d
* Fix messages based on fail/success result while applying a sig/pat file
2022-01-21 18:48:10 +01:00
Giovanni
46d29c1e85
Add signature widget for flirts (#2881)
* Added flirt view and removed zignature one
* Added menu for apply signature from file and create new sig/pat files
* Updated rizin to dev branch
2022-01-21 09:39:56 +01:00
Giovanni
75c334596e
Enable support for building rz-libswift on cutter (#2841) 2022-01-15 21:02:01 +01:00
Florian Märkl
239343bb20
Fix pdj call in nextOpAddr for disasm scrolling (#2874) 2022-01-08 17:16:41 +01:00
nirkog
71297ad118
Add double click to seek to global var in decompiler (#2871) 2022-01-08 13:53:27 +00:00
nirkog
37064e8a21
Added support for ctrl+Enter submission in open shellcode tab (#2851)
* Added support for ctrl+Enter submission in shellcode tab in the new file dialog
2022-01-08 13:07:20 +02:00
Florian Märkl
9e77cf1362
Bump version to 2.0.5 from stable (#2865) 2021-12-26 10:07:59 +01:00
Riccardo Schirone
009c8dffb4
Update Rizin to dev and use CMake config files (#2855)
API usage has been adjusted.
There are now also cmake config files directly installed by Rizin itself, so we don't need to keep a custom FindRizin.cmake file in Cutter. This remove that file and just uses `find_package(Rizin COMPONENTS Core)`, which will use the cmake files installed on the system.
2021-12-22 09:57:58 +01:00
Florian Märkl
9de1d56c93 Update references for dev/stable split 2021-12-21 13:39:25 +01:00
billow
8cc4d14a6f
Use Rizin API for Comments and Instruction writing (#2856) 2021-12-19 10:00:45 +00:00
Petros S
d85383fcfc
Support for previewing in the Graph widget (#2797)
Common functionality has been moved to the DisassemblyPreview namespace.
2021-12-05 08:53:45 +00:00
Anton Angelov
6438cc4d50
Update analysis method handling for name/realname (#2843)
This also fixes a crash when adding a new class method.
2021-12-01 13:11:29 +00:00
Anton Kochkov
8bab611c7f Bump version to 2.0.4 2021-11-17 18:50:52 +01:00
Florian Märkl
bd4342c4cb Fix VisualNavbar Crash on Haiku 2021-11-16 08:06:18 +01:00
Florian Märkl
c07ce55581 Fix stderr/stdin confusion and avoid crash on fdopen 2021-11-16 08:06:18 +01:00
Anton Kochkov
896be642ff
Port Sections information to the Rizin API (#2785) 2021-11-13 14:02:57 +01:00
AdavisSnakes
4061887bfe
Removed info button globally (#2804) 2021-11-06 10:41:18 +01:00
AdavisSnakes
236f85f83d
Added layout to the attachProcDialog to enable resizing the attach process popup (#2811) 2021-11-06 10:40:11 +01:00
Anton Kochkov
0786f49842 Fix computing hashes and entropy of the file 2021-10-29 00:29:59 +08:00
AdavisSnakes
e86b7a58c8
Added labels above analysis slider (#2809) 2021-10-20 12:23:59 +08:00
Dhruv Maroo
4ec0a076b4
Remove existing string before converting to code (#2803) 2021-10-17 19:07:59 +02:00
AdavisSnakes
af01134ae3
Made BugReporting.cpp output match bug_report.md (#2808) 2021-10-17 19:02:27 +02:00
Petros S
29cce01e1a
Colorize the preview tooltip in the DisassemblyWidget according to th… (#2799) 2021-10-11 07:31:37 +02:00
Giovanni
c205acd773
Build jsdec with -Djsc_folder option to embed the javascript code (#2801) 2021-10-10 14:51:19 +02:00
Petros S
552cd6dff6
Add option to disable the preview when hovering over the assembly (#2795) 2021-10-09 18:17:52 +02:00
Petros S
311cd0307e
Small enhancements in the SdbWidget class. (#2796)
* Small enhancements in SdbWidget class.

Destructors of child classes should be marked with the `override` keyword. Also since Qt's
widgets aren't movable or copyable, we can explicitly let the compiler know with the `Q_DISABLE_COPY_MOVE`
macro.

* Define Q_DISABLE_COPY_MOVE macro for versions < 5.13.0 in SdbWidget
2021-10-09 18:15:38 +02:00
Florian Märkl
6dab092b51
Join Debug Task on Suspend to avoid races (#2783) 2021-09-25 17:17:49 +02:00
Florian Märkl
357c43d606 Bump Version to 2.0.3 2021-09-24 18:53:51 +02:00
Florian Märkl
9ddc19fcc6
Fix CutterCore::getBinPluginDescriptions() args (#2777) 2021-09-24 10:16:35 +02:00
Florian Märkl
4da769a0ae
Fix Decompiler Copy Shortcut (Fix #2773) (#2778) 2021-09-23 18:15:08 +00:00
Florian Märkl
3ba7363f99
Remove Type Link features in light of global variables (#2775) 2021-09-23 17:57:51 +02:00
Florian Märkl
dada19cf1c
Various improvements for native macOS UI (#2776) 2021-09-23 16:09:51 +02:00
Riccardo Schirone
99070e86b9
Use new Rizin API instead of cmdRaw/cmdRawAt (#2770)
* Use new Rizin API instead of cmdRaw/cmdRawAt
* add CutterRzListForeach as a foreach-keyword for clang-format
2021-09-23 10:15:03 +02:00
Anton Kochkov
48c884c3d6
Fix wrong initialization order in ArenaInfoDialog (#2774) 2021-09-22 19:20:20 +02:00
Paul I
82e8896267
Use API to fetch xrefs in CutterCore::getXRefs() (#2771) 2021-09-22 19:19:38 +02:00