Commit Graph

1883 Commits

Author SHA1 Message Date
pancake
025946c321 Commit the offending code breaking 'dcu main' in a commented form 2023-11-11 11:32:49 +01:00
pancake
8de046b778 Reintroduce minor cleanup from 412ec881c3 2023-11-11 11:20:02 +01:00
pancake
806aa0958f No warnings when /proc/pid/maps is not available on remote gdb targets ##debug 2023-11-10 19:28:28 +01:00
pancake
43ff4852ff Revert "Dont dupe map file and name if not necessary ##debug"
* UnRevert RBinName
2023-11-06 09:27:52 +01:00
pancake
412ec881c3 Dont dupe map file and name if not necessary ##debug
* Use more asserts
2023-11-02 07:58:44 +01:00
pancake
bdc7de3efc Fix dptj and add dpt? help match ##debug 2023-10-12 23:16:03 +02:00
pancake
14f2cf9b07 dce is no longer a windows-specific command ##debug 2023-09-12 19:47:31 +02:00
pancake
be53078ba4 Improve Ldj and Lcj outputs ##json 2023-09-08 19:49:27 +02:00
pancake
5fce7e08e3 Make r_debug_num_callback internal and remove two R2_590 ##api 2023-08-30 08:30:58 +02:00
pancake
f71be3e33c Implement dre/are to list regs in esil format ##esil 2023-08-26 04:00:52 +02:00
pancake
c15ace8508 Initial support for D calling convention ##analysis
* Only for x86-32 for now
* Uses a reverse register list for passing arguments
* See libr/anal/d/README.md for more details
* Support ret2 (to return 64bit values)
* Add fcn->realname for demangled names
2023-08-25 20:00:33 +02:00
Luc Tielen
d4955f0cff Massage the code to make tests pass 2023-08-15 12:44:57 +02:00
Luc Tielen
9878dd0ad9 Fix build 2023-08-14 11:05:34 +02:00
Luc Tielen
fdeaa827f6 Refactor structure of metadata for io plugins ##io 2023-08-14 11:05:34 +02:00
pancake
ab8f425c04 Fix race condition typos in keyboard "shuold" -> "should" 2023-07-31 11:54:29 +02:00
Luc Tielen
51ccc871ba Refactor r_debug_trace_list##debug
Also adds support for vec in listinfo table
2023-07-21 10:18:32 +02:00
Luc Tielen
668000d915 Store tracepoints in vec ##debug 2023-07-21 10:18:32 +02:00
Luc Tielen
ea12b05a2a Rework vec macros to inline finalizer function ##util 2023-07-20 12:58:14 +02:00
Luc Tielen
1294849c28 Implement small vec optimization ##util 2023-07-20 12:58:14 +02:00
Luc Tielen
6cd0ae6c54 Refactor vec generate macro ##util 2023-07-18 11:59:15 +02:00
pancake
9ffd6f029a Initial deprecation of the current RAnalPlugin ##abi 2023-07-09 12:31:48 +02:00
Luc Tielen
5bae28e7cc Add sort function RVec, const correctness ##util 2023-07-07 17:39:28 +02:00
Luc Tielen
b1851d273c Migrate rv32ima plugin ##debug 2023-07-06 17:00:51 +02:00
Luc Tielen
2400ded5e9 Migrate gdb plugin ##debug 2023-07-06 17:00:51 +02:00
Luc Tielen
afaf16f66d Migrate winkd plugin ##debug 2023-07-06 17:00:51 +02:00
Luc Tielen
1759db5e9b Migrate qnx plugin ##debug 2023-07-06 17:00:51 +02:00
Luc Tielen
3ab2344798 Implement review remarks 2023-07-06 17:00:51 +02:00
Luc Tielen
6b41cd4b18 Migrate bochs plugin ##debug 2023-07-06 17:00:51 +02:00
Luc Tielen
e85941beb4 Store current debug plugin session, migrate plugin ##debug 2023-07-06 17:00:51 +02:00
Luc Tielen
3dc5ad4ed0 Improve naming for callback functions to reduce confusion ##debug 2023-07-06 17:00:51 +02:00
Luc Tielen
21d5ad44d0 Add cleanup of plugins ##debug 2023-07-06 17:00:51 +02:00
Luc Tielen
1cbda579df Redesign plugins to have user data ##debug 2023-07-06 17:00:51 +02:00
pancake
c3d900ad76 Honor 'rsym.' flag prefix ##analysis 2023-07-05 23:53:32 +02:00
Luc Tielen
3dd73c404f Add meta section to debug plugins 2023-07-05 15:50:53 +02:00
Luc Tielen
41e8939e94 Rename r_cons_strcat -> r_cons_print 2023-07-05 15:50:53 +02:00
Luc Tielen
a40d2e8006 Fix removing core plugins from Lc after L- ##core 2023-06-27 11:45:23 +02:00
pancake
f5518549ad Fix caller to RTable.toString() memory leaks 2023-06-23 18:07:04 +02:00
pancake
3e4951179a Fix warning 2023-06-17 11:29:19 +02:00
Luc Tielen
5fda141d1d Migrate arm_cs plugin ##arch 2023-06-16 22:23:09 +02:00
pancake
d706352241 Pick snreg outside the aae loop and other minor esil-590 related fixes 2023-06-16 18:24:30 +02:00
Luc Tielen
428d50708d Migrate the AVR plugin ##arch
* Remove leftovers from migrating old plugins
* Wire up esil callback for plugins
* Add workaround for showing registers for AVR
* Put 590 comment to cleanup esil from anal struct
* Make asm depend on crypto also
2023-06-15 16:07:10 +02:00
pancake
1d6ccf8a11 Fix tests 2023-06-15 12:26:49 +02:00
Luc Tielen
86b7f47db9
Remove several R2_590 ifdefs ##abi 2023-06-13 13:38:23 +02:00
pancake
f40ce7e9e6
RAnalValue no longer refs an RRegItem ##analysis
* Highly reduce memory usage, faster analysis and fix some memleaks and uafs
2023-06-09 12:05:43 +02:00
pancake
e56c1ee7fe Fix reading and parsing /proc/pid/maps from remote gdb on android ##debug
* Tested on Android12 / arm64
2023-06-08 11:35:01 +02:00
pancake
4a53f2b2c0 Dont enable debug tracing from type propagation ##analysis 2023-06-06 12:52:23 +02:00
pancake
cc37f0c606
Fix #21813 - parsing reg profiles from android-gdbserver ##debug 2023-06-01 12:26:26 +02:00
pancake
983ba627e2 Initial import of the rv32ima debug plugin ##debug
* https://github.com/cnlohr/mini-rv32ima
2023-05-18 01:27:09 +02:00
pancake
4c6d3bdd49
Update to the latest capstone for new sh and tricore ##arch 2023-05-16 11:34:10 +02:00
pancake
9729701f6d Apply all patches from pkgsrc to build for NetBSD/powerpc 2023-05-16 09:47:36 +02:00
pancake
45349cb227 Add support for 4bit registers ##arch
* RReg.setValue() support 4bit for writing
* Some bug fixes and list PC/SP when bits dont match
2023-05-06 13:16:15 +02:00
pancake
791545c474 Fix 64bit column register listing glitch ##debug 2023-05-02 13:10:36 +02:00
pancake
0620d7b47f Resolve ${arch}.nz as fallback when finding an assembler peer ##arch 2023-04-25 01:31:27 +02:00
Ildar
6e70a4c79e Replace strtok by thread-safe r_str_tok_r 2023-04-22 20:52:23 +02:00
pancake
eefcb84e68 Implement dtj command to list debug traces in JSON format ##debug 2023-04-20 22:15:30 +02:00
pancake
f27fd3300b Fix null deref in dtd when the process is dead ##debug 2023-04-20 22:04:34 +02:00
pancake
6741634429 Fix double free in debug traces 2023-04-13 16:42:13 +02:00
pancake
6ff7ee9dda Fix status register in the regprofile for darwin-arm64 ##debug 2023-04-13 11:52:36 +02:00
pancake
9a43f62e53 Define RISCV breakpoint instructions ##debug 2023-04-12 00:27:43 +00:00
pancake
07df4144eb Native debugger for OpenBSD and NetBSD on arm64 ##debug 2023-04-10 09:19:30 +02:00
pancake
d8420d4dca Improve brainfuck VM using ESIL and arch restrictions ##arch
* Instruction size must be 0xff instead of 32, to handle long jumps
* Registers are 32bit, so internal stack must use 32bit words
* Fix loop logic using simplified conditionals
2023-04-01 11:38:31 +02:00
pancake
2eb635193c Add cmd.step config var to run a command after every debugger step ##debug 2023-03-29 11:36:35 +02:00
pancake
c04e689f66
Partial fixes for better register profile and arch switching handling ##debug
* Debugger file descriptor handling checks improved
2023-03-22 12:18:18 +01:00
pancake
894adc0dde Fix null deref in fuzzed omt command ##crash 2023-03-06 14:43:29 +01:00
pancake
6562542998 Remove some unsafe sprintf/strcpy 2023-02-20 23:20:53 +01:00
pancake
39f42922d8 Fix setting registers in linux/rv64 ##debug 2023-02-14 19:58:30 +01:00
pancake
9ea93c5aaa Fix retrieving registers on Linux/RV64 ##debug 2023-02-14 19:56:20 +01:00
pancake
699f9d8651 Add lint for ==' to improve code readability 2023-01-16 13:43:38 +01:00
pancake
49d609c86b Update to the latest tinycc in the CI ##build 2023-01-11 00:18:13 +01:00
pancake
d195f7cdbc Remove the need for ios-include.tar.gz ##build 2023-01-11 00:18:13 +01:00
pancake
c3a1fe170d Initial implementation of lang.s assembly scripting ##lang 2023-01-11 00:18:13 +01:00
pancake
5d4ef16d1d Use more R_LOG in RDebug 2023-01-11 00:18:13 +01:00
pancake
dc5d2a4e37 Fix read/write function signatures for the windbg plugin
* Also other warnings spotted by msvc
2023-01-10 23:44:55 +01:00
pancake
b8e6b52aac Also replace __UNIX__ with R2__UNIX__ 2022-12-10 20:32:10 +01:00
pancake
97a6439055 Do the same for __WINDOWS__ -> R2__WINDOWS__ 2022-12-10 20:32:10 +01:00
pancake
78a26e15fe Double lowerdash defines should be defined only by the compiler ##build 2022-12-10 20:32:10 +01:00
pancake
ccb7351b5e
Merge RParse into RAsm ##api 2022-12-03 02:26:41 +01:00
pancake
02b7d165b4
Bring back the 'dms' command ##debug 2022-11-27 02:51:42 +01:00
pancake
81781665fe
Moving more logic between asm, arch, parse and anal ##api 2022-11-18 03:02:24 +01:00
pancake
dcda35bcba
RAnalEsil -> REsil api refactor ##api 2022-11-17 10:22:55 +01:00
pancake
5505c1aa41
Use API instead of commands to autoload a pdb ##bin
* Suposed to fix a crash without reproducer
* Inspired in 5a54787eeeb6134bddcdf07510a076293354627f from rizin
* Author: GustavoLCR <gugulcr@gmail.com>
* AuthorDate: Thu Jun 23 05:50:11 2022 -0300
2022-11-15 01:40:46 +01:00
pancake
fb7326b64a Move pickle from anal to arch and add it to meson ##arch 2022-11-13 23:03:42 +01:00
pancake
46e25f8844 Remove anal.malbolge and fix CI r_esil issues ##arch 2022-11-13 22:38:58 +01:00
pancake
ce3c4f16cc
Parse the PT_DYNAMIC elf section for the preinit pointers ##bin
* cache section parsing in macho and elf
* Add RList.clone() api
2022-11-11 03:04:46 +01:00
pancake
53e908d802
Generalize vector instruction types instead of following intel-specific ##analysis
* MMX -> VEC64
* XMM -> VEC128
* YMM -> VEC256
* ZMM -> VEC512
2022-11-02 14:02:40 +01:00
pancake
9a4fe919c6
Prefer _tostring() instead of _to_string() ##api 2022-10-24 20:59:18 +02:00
pancake
241aff8d37 IO uses PID to read from child, tid is just for regs ##debug 2022-10-20 17:48:50 +02:00
pancake
c155c502d2
Some safe memleaks related to analysis and registers refcounting ##leaks 2022-10-17 20:55:10 +02:00
pancake
4ed98d75c3 Fix more leaks in RAnal and RCore 2022-10-17 01:14:56 +02:00
pancake
01937296e0 Unify RArchOp into RAnalOp using common include files ##arch 2022-10-16 22:25:24 +02:00
pancake
a06ade1796
Balance spacings in braces ##indent 2022-10-13 21:21:34 +02:00
pancake
95eff67851
Enable the leading spaces linter rule and fix them all ##lint 2022-09-24 03:43:21 +02:00
pancake
16cb83a19c Use more tabs and add a (disabled for now) linter for it ##lint 2022-09-23 22:07:49 +02:00
pancake
1da9127150
Make RDebug.regRead() and regWrite() return bool ##debug 2022-09-21 12:22:46 +02:00
pancake
509d2bc60c Fix warning 2022-09-21 11:19:16 +02:00
pancake
7aebf4b355 Fix linux-debug build warnings 2022-09-21 10:18:04 +02:00
pancake
eef8d67368 Fix ptrace error on latest termux 2022-09-21 10:03:51 +02:00
pancake
4801bbc13d Add r_file_is_executable and r_file_extension apis ##api
* Boolify some rdebug apis
* Make json.parse arg const
2022-09-19 02:06:35 +02:00
Alex Bender
b4bac8feda Change R_LOG_INFO to R_LOG_TODO where suitable ##api 2022-09-16 17:46:08 +02:00
pancake
1944e59783 Remove some more r_hash leftovers 2022-09-16 10:46:24 +02:00