Commit graph

19 commits

Author SHA1 Message Date
Florian Märkl
0e87fbd810 Split RzDebug.reg and RzAnalysis.reg
The two instances of RzReg were assigned to the same pointer in core.
This had several disadvantages, in particular:
* Both debug and analysis supply reg profiles, which might not be
  compatible. Which one was used in practice depended on which eval
  vars were set in which order.
* Emulation, in particular esil-based analysis, could leak into the
  debuggee.
Now they are fully independent.
2021-12-21 13:14:08 +01:00
Florian Märkl
b179a5f3c6 Refactor rz_debug_reg_get()/set()
* Logic for getting a register by role or name, whichever matches, moved
  to RzReg (rz_reg_get_by_role_or_name)
* Removed rz_debug_reg_err() because it's unnecessary
* Added rz_core_reg_getv_by_role_or_name() and
  rz_core_reg_aetv_by_role_or_name() to replace rz_debug_reg_get() for
  for usage whenever it is not debug-specific.
2021-12-21 13:14:08 +01:00
Dhruv Maroo
34d345d884 Format according to clang-format-13 2021-11-25 15:44:28 +08:00
Anton Kochkov
2b55fe560f Fix Windows building 2021-09-29 09:05:51 +08:00
Dhruv Maroo
178701f721
Reduce registers shown in the output of dr and Vpp when analysing an ARM64 executable (#1739)
* Add function to check if a register is a system register

* Only checks for ARM64 system registers as of now

* Check for system registers in ARM64 when printing registers using "dr"

* Does not completely remove the unnecessary register, but removes a
  huge number of useless registers printed by "dr"

* Rename `RZ_REG_TYPE_ALL` to `RZ_REG_TYPE_ANY`

* ADd register types for "sys" and "pauth": `RZ_REG_TYPE_SYS` and
  `RZ_REG_TYPE_PAUTH` respectively

* Remove `rz_reg_is_system_reg`

* Add `sys` and `pauth` register profiles

* Update debug tests to account for new arenas and register profiles

* REplace "pauth" with "sec" reg profile

* Update integration tests to account for new register profiles: `sys`, `sec`
2021-09-28 23:49:55 +08:00
Anton Kochkov
b9cb29ac90
Rename RNum to the RzNum (#1539) 2021-08-29 21:06:29 +02:00
GustavoLCR
56841703e1
Various debug fixes (#1359)
* Fix regression showing threads `rip` for `dpt` on Windows
* Improve `dpt` output
* Consider flags too when printing thread address
* Improve `RzCoreBind->getNameDelta` to use realname if `flags->realnames` is true
* Fix negative offsets
* Fix flagspace selection side-effects after calling `rz_core_bin_apply()` APIs
* Fix wrong register profile after attaching to a process with `dpa`
* Fix wrong base address when opening a process memory
* Fix wrong register profile after opening a process memory
* Implement `rz_debug_reg_profile_sync()`
* Fix diff tests
2021-07-27 15:03:08 +08:00
Florian Märkl
78652caaf5 Add user pointer to RzDebug Plugins and Refactor GDB for it 2021-06-14 11:46:17 +02:00
Riccardo Schirone
53bf5c497f SPDX Copyright text for all files based on history
- Add LICENSES directory
- Download additional licenses used
- Add .reuse directory
- Add doc about SPDX/reuse

Co-authored-by: Florian Märkl <info@florianmaerkl.de>
2021-03-05 19:39:15 +08:00
Riccardo Schirone
e7ebbb22ba
Create API for .ar*, .dr*, aei, ar <reg>=<val> (#511)
* Move rz_debug_reg_list from RzDebug to RzCore and directly use rz_cons_printf
* rz_reg_get_list returns always the same list, so make it const RzList *
2021-02-03 21:58:36 +08:00
GustavoLCR
4098a9aa78 Put registers in their own flagspace 2021-02-03 08:23:24 -01:00
Anton Kochkov
a0be4e2e64 Run clang-format 2021-01-21 22:05:44 +08:00
eagleoflqj
4a19d719e2 Use pj in cmd_analysis.c ##refactor 2021-01-06 04:10:36 -06:00
Anton Kochkov
7ee14fb853 More renames 2020-11-12 12:27:04 +08:00
Anton Kochkov
6c3dd0a022 Variadic argument fixes 2020-11-10 17:55:04 +01:00
pancake
36861f732a Fix uninitialized pj instance in dreg.c (#17828)
dreg.c:294:3: warning: 'pj' may be used uninitialized in this function [-Wmaybe-uninitialized]

Co-authored-by: pancake <pancake@nopcode.org>
2020-10-30 10:44:38 +01:00
Florian Märkl
6572b63794
Use Standard SPDX Header Comments (#51) 2020-10-27 09:04:11 +01:00
Riccardo Schirone
502e91aff7
Rename R_ and R2_ to RZ_ (#8)
* Rename R2_ -> RZ_
* Rename R_ -> RZ_
* Rename R2R_ -> RZ_TEST_
* Rename R2R defines and types to RZ_TEST/RzTest
* Keep R_ for REIL registers
2020-10-02 16:09:13 +02:00
Riccardo Schirone
721609a17b
Rename to rizin (#2) 2020-10-01 16:13:03 +02:00
Renamed from libr/debug/dreg.c (Browse further)