Commit Graph

264 Commits

Author SHA1 Message Date
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
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
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
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
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
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
billow
ea519df01e
Convert various debug code to C API (#2913) 2022-04-02 09:44:42 +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
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
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
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
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
Florian Märkl
239343bb20
Fix pdj call in nextOpAddr for disasm scrolling (#2874) 2022-01-08 17:16:41 +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
billow
8cc4d14a6f
Use Rizin API for Comments and Instruction writing (#2856) 2021-12-19 10:00: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
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
Dhruv Maroo
4ec0a076b4
Remove existing string before converting to code (#2803) 2021-10-17 19:07:59 +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
9ddc19fcc6
Fix CutterCore::getBinPluginDescriptions() args (#2777) 2021-09-24 10:16:35 +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
Paul I
82e8896267
Use API to fetch xrefs in CutterCore::getXRefs() (#2771) 2021-09-22 19:19:38 +02:00
Florian Märkl
7e68147eab
Fix Bin, IO and Core plugin info (Fix #2764) (#2765) 2021-09-19 10:58:08 +02:00
Riccardo Schirone
3e1b3ce865
TypesInteractionDialog: use RzType API to edit a single type (#2760) 2021-09-18 10:17:43 +02:00