Commit graph

875 commits

Author SHA1 Message Date
pancake
3225a168ef Fix syscall resolution after 0a4a2615c9 2016-04-22 19:33:23 +02:00
oddcoder
0a4a2615c9 Adding extra pass for find function argument 2016-04-22 16:25:37 +02:00
andrey.torsunov
169f3885c3 Fix checking /proc/%d/task for existence.
Since `/proc/%d/task` is directory, it make sense to use appropriate
check function. Therefore,`r_file_exists` function is not suitable
here, because it checks for existence of regular file.
2016-04-22 13:55:19 +02:00
pancake
9ebd8b9da2 Fix OSX build for the QNX debugger support 2016-04-22 13:55:08 +02:00
Sergey Anufrienko
d7635e085e Introduce debug plugin for QNX pdebug interface 2016-04-22 11:45:51 +02:00
pancake
280abd4f77 ARM can't hwstep by default 2016-04-22 10:15:22 +02:00
pancake
9f7f9f0ce8 Fix #4673 - dpt sync with help msg 2016-04-21 15:21:56 +02:00
Jeffrey Crowell
6115d68736 libr/debug/p/debug_native.c: fix possible overflow 2016-04-19 09:08:15 -04:00
Jeffrey Crowell
96686841de handle spaces in shared library paths
fixes #4623
2016-04-18 14:04:38 -04:00
Jeffrey Crowell
6b17cfc55a fix double free on register
closes #4634

can we please review/revert/something
4c04b98b47 (diff-fa45250699a39a7bffd1e27da12ec5beR40)

i'm fearful this has broken a lot more stuff
2016-04-13 21:30:48 -04:00
NaveenBoggarapu
4c04b98b47 few memory leaks fixed 2016-04-13 21:55:48 +02:00
pancake
34a7837079 Include r_lib from r_bp 2016-04-13 14:48:17 +02:00
pancake
3b2d06d65e Fix iOS build 2016-04-12 17:32:14 +02:00
Jeffrey Crowell
74b5edd984 fix register get in dbg on BSD s/pc/PC 2016-04-11 12:34:42 -04:00
Jeffrey Crowell
9a77bdc7d5 fix r_debug_reg_get to use PC instead of pc in dbg 2016-04-11 12:26:33 -04:00
pancake
5ef2b3cc0f Fix many warnings 2016-04-11 12:22:15 +02:00
pancake
fe02539afb Fix some warnings for debug.mach0 2016-04-08 01:09:56 +02:00
pancake
b54614d292 Use anal reg profiles from debug.esil 2016-04-08 00:54:15 +02:00
Daniel Domínguez
71beec242e Coredump generation for Mach0 binaries 2016-04-05 12:03:59 +02:00
NaveenBoggarapu
7d61361361 fix some memory leaks 2016-04-01 19:25:32 +02:00
pancake
c2b151f8c8 Fix a lot more covs 2016-03-31 13:21:51 +02:00
pancake
259816b7e6 Fix more covs for bochs 2016-03-31 13:08:39 +02:00
skuater
01fce3fe8e Initital implementation bochs for linux. 2016-03-30 12:57:15 +02:00
pancake
d092be54e2 API fixes for bochs and honor sandbox 2016-03-27 13:43:51 +02:00
pancake
434b8251e9 Many syntax, language, indent, naming fixes for bochs 2016-03-25 00:21:56 +01:00
skuater
c45fe4e1e7 Initial support for BOCHS (windows only for now) 2016-03-25 00:21:49 +01:00
Mizari
d6daa9d591 Fixed function calls for r_reg_set_bytes(reg,-1...) 2016-03-24 12:47:00 +01:00
pancake
846263a51b Implement ios9 pangu's tfp0 in the debugger 2016-03-14 23:24:49 +01:00
Matthieu Tardy
bb84bbc276 Fix memory leaks in rabin2 and libr 2016-03-06 23:17:44 +01:00
pancake
4677f5baf5 Use XNU debugger by default as long as PTRACE backend had some flaws 2016-02-29 22:50:36 +01:00
pancake
517f7fa23e Handle Vi in Vppc - aka change reg values with cursor 2016-02-25 11:35:59 +01:00
pancake
0973759a8c Fix build 2016-02-25 10:57:15 +01:00
Anton Kochkov
4a146f8158 Fix CID 1351764 2016-02-25 12:48:49 +03:00
pancake
a7f137f215 Support cursor in dr= 2016-02-25 02:58:26 +01:00
pancake
3e53c64553 Fix #4165 - Reduce warning messages in debugger mode 2016-02-25 01:55:16 +01:00
Álvaro Felipe Melchor
af8743e0b7 xnu: fix issue when disable trace bit on arm 2016-02-22 21:22:01 +01:00
Álvaro Felipe Melchor
20fddc1e55 xnu: fix issue when writing in memory 2016-02-22 21:21:57 +01:00
pancake
f7fbbc419e Add dh in anal.x86-64.reg and fix some arm/x86 esil bugs 2016-02-22 01:14:06 +01:00
pancake
852385efe1 Add sys/ios-env.sh and enable XNU debug without ptrace by default 2016-02-20 23:30:11 +01:00
Álvaro Felipe Melchor
98490aa881 xnu: chained step thumb32 seems to work 2016-02-17 13:37:50 +01:00
Álvaro Felipe Melchor
10a586b48d stepping works on ios though thumb32 chaining still doesn't work 2016-02-16 17:33:41 +01:00
Álvaro Felipe Melchor
ec3ac37bb5 Fix ios build and more rework 2016-02-16 17:33:41 +01:00
Álvaro Felipe Melchor
c24dbc3054 Fix warnings 2016-02-13 22:17:21 +01:00
pancake
74b23f10b9 Merge branch 'xnu' of https://github.com/alvarofe/radare2 2016-02-06 22:37:52 +01:00
Álvaro Felipe Melchor
5a63887ff5 xnu: added XNU_USE_PTRACE to xnu_wait 2016-02-06 20:23:15 +01:00
Álvaro Felipe Melchor
efa2a8ecdf xnu: step, breakpoint working with mach exception 2016-02-06 19:53:29 +01:00
pancake
805e3f26e8 Fixes for lldb/debugserver on x86-64 2016-02-03 12:09:58 +01:00
Álvaro Felipe Melchor
feea7f4d17 xnu: change logic handle exception
instead of a thread waiting for incoming messages, i've implemented
wait functionality above mach_msg, now i have to make it work
with r2 and avoid while (1) in the code, understand better the
references and start thinking about edge cases
2016-02-02 20:27:57 +01:00
Jeffrey Crowell
f713c67794 restyle the function decl in r_debug 2016-01-29 18:52:53 -05:00
pancake
44a86928cc Fix some of the warnings in #4013 2016-01-27 03:14:19 +01:00
pancake
90e2fc3031 Fix reg-write in gdb-thumb and tiny io cache optimization 2016-01-27 00:26:49 +01:00
pancake
32dbac517f Several bug fixes for gdb-arm and thumb remote debugger 2016-01-26 23:36:02 +01:00
pancake
63956d67af Fix step in xnu debugger 2016-01-23 22:50:32 +01:00
Álvaro Felipe Melchor
c372743315 xnu: get rid of ptrace even for attach and detach
some rework in order to handle mach message as mach_exc_server and alike does
api change in plugin debug, now the function detach receive a pointer to RDebug
trying to deallocate port when are not needed any more
2016-01-23 22:50:28 +01:00
condret
e9aa1bfa80 hardening 2016-01-20 16:13:30 +00:00
condret
ccab168cb5 fix a memleak and implement esil.stacksize for @crowell 2016-01-19 23:36:21 +00:00
Álvaro Felipe Melchor
d9e77ca0d1 xnu: first series of patches to use mach exceptions
* use set_trace_bit and clear_trace_bit macros

* use PT_ATTACHEXC since PT_ATTACH will be deprecated in the future
and we are interested in receiving mach exceptions

* first attempt to handle mach exceptions

* api change: added a parameter to r_core_setup_debugger
at least in OS X this function was producing double attachment.
I've added a boolean value to indicate when use dpa.

* added pipe to communicate between main process and traced process
by far this is not a good implementation. We should develop a better
approach/design to save all the exceptions and handle them accordingly.
This is the initial implementation

* bring back ptrace for stability and in order to merge this into master
2016-01-18 22:24:16 +01:00
Maijin
628ee9716e Complete remaining regprofile and Fix #3947 2016-01-17 14:23:15 +01:00
Maijin
59d5b8b73f Complete more reg profile #3947 2016-01-17 14:13:04 +01:00
pancake
0af7cf1209 Fix dcs - continue until syscall 2016-01-13 22:25:08 +01:00
pancake
9051fed9e9 Fix #3951 - rarun2 with stdin and support for strings 2016-01-13 22:15:13 +01:00
Maijin
02041f3193 Add -d,-w,-b subregisters in darwin-x64.h 2016-01-12 17:35:18 +01:00
Maijin
515f6e8753 Add -d,-w,-b subregisters in linux-x64.h 2016-01-12 15:56:23 +01:00
pancake
399a1b82c9 Human-friendly registers sort in linux-x86-64 reg profile 2016-01-11 23:47:49 +01:00
pancake
f2b449bd36 Fix for auto-thumb in .dr* 2016-01-11 03:15:20 +01:00
pancake
6c931a091f Automatic asm.bits depending on CPSR's Thumb bit 2016-01-11 03:08:24 +01:00
pancake
9bd4e213b2 Enhance cpsr in ARM and handle new bitsize syntax in reg profile 2016-01-11 02:35:57 +01:00
skuater
e31cb0fe4b fix dr7 mask value 2016-01-10 17:58:29 +01:00
DZ_ruyk
0e8b42787a Boring typo fixes
Can't -> Cannot (since most of error messages use second form)
2016-01-07 00:13:54 +01:00
pancake
42acaa7596 Softly kill boolt type 2016-01-03 02:05:26 +01:00
pancake
4e6be05f62 ARM's SP is r13 and add LR in r14 2015-12-31 14:10:11 +01:00
pancake
1d8b761ca1 Various static and iOS related build issues are now fixed 2015-12-28 02:01:45 +01:00
jvoisin
3727f0794d Change the anti pattern if (A) free (A); for free (A); 2015-12-20 19:28:39 +01:00
Joshua Wang
415263a0d5 info_array is freed on xnu_debug.c:737 and again on xnu_debug.c:744 resulting in double free 2015-12-16 22:10:23 +01:00
pancake
8eabe785fe Boolify RDebug API 2015-12-04 02:57:56 +01:00
pancake
cc402a76c5 More refactorings towards a ptrace-free iOS/OSX debugger 2015-12-04 02:44:36 +01:00
pancake
40e08dbd89 Get rid of _Bool 2015-12-01 12:39:12 +01:00
pancake
2b51bf1acd Fix #3759 - ood on OSX 2015-11-25 11:52:29 +01:00
skuater
513200a7fa Fixes for the w32 debugger 2015-11-24 23:28:50 +01:00
Álvaro Felipe Melchor
434e9a0986 More cleanup for XNU debug 2015-11-24 21:52:28 +01:00
Álvaro Felipe Melchor
a028adae6f Cleanup for the XNU debugger
clean up in xnu_thread_get_gpr
clean up xnu_thread_set_gpr
updated reg profile
2015-11-23 22:00:25 +01:00
Álvaro Felipe Melchor
baa0a26137 Fix #3742 2015-11-23 19:00:53 +01:00
pancake
5e9bdfcb1a Bring back the OSX debugger (ptrace mode) 2015-11-22 22:29:53 +01:00
pancake
c8409760e1 Fix getreg on osx regression 2015-11-22 22:01:24 +01:00
Ole André Vadla Ravnås
002e701d51 Fix the hardware step get/set logic for 32-bit ARM
Stepping is still not working though, needs more investigation.
2015-11-22 21:48:00 +01:00
Ole André Vadla Ravnås
e87ddc5ced Switch to using the unified thread state on ARM once again 2015-11-22 21:48:00 +01:00
Ole André Vadla Ravnås
197593b24b Remove check for impossible condition
Because `&thread->gpr` cannot be NULL.
2015-11-22 21:48:00 +01:00
Ole André Vadla Ravnås
7894125577 Fix undefined behavior in xnu_reg_read() 2015-11-22 21:48:00 +01:00
Ole André Vadla Ravnås
3e54f43a30 Don't bother with PT_ATTACH on iOS 2015-11-22 21:48:00 +01:00
pancake
95791f76c2 Refactor drp command and implement drps to query/set arena size 2015-11-18 11:29:48 +01:00
pancake
2b446ad88a Fix #2557 - Use same regprofile for thumb and arm in gdb debugger 2015-11-18 10:48:39 +01:00
pancake
40ab1e2be6 Fix #3701 - Implement r_num_tail for dcu 2015-11-17 22:38:01 +01:00
pancake
1f56a8fad6 Finally working ARM64-linux (android) debugger 2015-11-17 16:06:45 +01:00
pancake
21dcd615f9 Another linux-arm64 register profile update 2015-11-17 13:54:34 +01:00
pancake
dd187bd183 Fix linux-arm64 reg profile 2015-11-17 02:18:25 +01:00
pancake
4f1663d6bf Some rework for regs+step+cont in iosdbg 2015-11-17 01:00:29 +01:00
pancake
2addec8742 Fix iOS (tested on arm32) reg-get/set 2015-11-17 01:00:19 +01:00
pancake
90a8b57cde Fix gpr regset for xnu-dbg 2015-11-17 01:00:16 +01:00
Álvaro Felipe Melchor
441926d44e Fix issue when setting registers 2015-11-17 01:00:12 +01:00
Álvaro Felipe Melchor
a93e75f542 Initial merge on the reworked patch from @alvarofe 2015-11-17 01:00:09 +01:00
pancake
ba73d31cf3 Fixes for android-arm64 2015-11-15 02:20:57 +01:00
pancake
62a769fd49 Fix for linux/android-arm64 debugger 2015-11-13 00:26:40 +01:00
pancake
9c9bb2dbd5 Memory optimization for flags (-70%) + some warnfixes + sdb-sync 2015-11-08 23:38:42 +01:00
pancake
75adfec670 Fix doublefree in btree and use-after-free in windbg 2015-11-02 12:32:31 +01:00
pancake
36179944fd Fixes Thumb detection from CPSR, NULL 2015-10-31 03:45:14 +01:00
pancake
54e881daf8 Autoset Thumb in Debugger 2015-10-31 02:46:00 +01:00
pancake
5c99eb0c3f Uppercase register aliases 2015-10-31 01:59:01 +01:00
pancake
46b5340093 Fix various inconsistencies in the iOS debugger 2015-10-31 00:51:44 +01:00
pancake
ec2ac9c640 Initial implementation of asm.emuwrite and asm.emu for CALL and UCALL 2015-10-29 23:37:51 +01:00
pancake
82eba162a9 Fix warnings in the gdb volatile memcpy hack 2015-10-29 23:31:43 +01:00
Anton Kochkov
febc213975 Bring volatile back, to prevent optimization of the memset 2015-10-30 00:58:11 +03:00
pancake
6a85a44962 Handle syscalls in asm.emu, better debug.arg and osx-syscalls 2015-10-29 11:22:49 +01:00
Anton Kochkov
17750b5e03 Fix AVR regprofile, disable memset optimization 2015-10-24 01:25:25 +03:00
pancake
77d34628d7 Fix @b: 2015-10-23 17:11:04 +02:00
pancake
2c86d90bd8 Implement dbt* and extend backtrace to support stack frame addresses 2015-10-22 12:38:57 +02:00
pancake
3de77ad6e6 Initial support of dbg.libs/unlibs for Linux/OSX 2015-10-22 04:48:56 +02:00
pancake
a05ac7eaa4 RDebugPlugin.arch.typeof(char*) 2015-10-22 03:11:03 +02:00
pancake
1b5cd887ce Disobey rabin2 -B if bin is not pie, enhace dmm* and mach0 2015-10-19 02:41:21 +02:00
skuater
99e2333395 dbg.libs/dbg.unlibs implementation. 2015-10-16 11:23:32 +02:00
Riccardo Schirone
6420f03107 debug/p/debug_native: don't waitpid only on IOS
waitpid is necessary on OS X.
2015-10-15 22:13:12 +02:00
jvoisin
420a5c41e0 Fix some minor compilation warnings 2015-10-15 12:36:34 +02:00
Álvaro Felipe Melchor
c1f023ae5a Fix #3172 2015-10-14 00:11:35 +02:00
skuater
c72caa67ac Implement dbg.libs/unlibs for w32 2015-10-13 02:18:14 +02:00
pancake
7a04833eac Little refactoring for w32dll handling from rdebug 2015-10-12 18:49:16 +02:00
pancake
747c7bbacb More fixes for io.mach.write 2015-10-11 03:07:53 +02:00
pancake
c13660c7e8 Implement dbg.regcols, managed from scr.columns and hex.cols 2015-10-03 13:33:08 +02:00
pancake
e7165f8832 Fix issue with long process names in OSX 2015-10-01 19:39:12 +02:00
pancake
876a4052be Initialize stack register in 'aeim' 2015-10-01 12:04:58 +02:00
pancake
ec5bab3692 Fix another bug in strbuf 2015-09-28 03:20:53 +02:00
pancake
c94dd22f4d Enhace drr, also arr. add dbg.slow and better debugmap names in xnu 2015-09-28 02:04:08 +02:00
pancake
9232abe9e4 Fix iOS build 2015-09-24 18:35:35 +02:00
pancake
a35304acac Task resume on step too 2015-09-22 10:05:37 +02:00
Ole André Vadla Ravnås
e2ab6c3ab0 Fix the R_DEBUG_* defines on iOS arm
Also consolidate defines for 32- and 64-bit arm archs.
2015-09-22 10:03:16 +02:00
Ole André Vadla Ravnås
8f4234bb72 Fix minor inconsistency in xnu_reg_read() 2015-09-22 10:03:15 +02:00
Ole André Vadla Ravnås
c8896847f0 Fix xnu_reg_write() on iOS arm and arm64 2015-09-22 10:03:15 +02:00
pancake
486c88954f Darwin: start debugging suspended. Fixes in lm32 2015-09-22 02:28:04 +02:00
pancake
196d7db68d Honor asm.bits=64 in ios.dbg, very wip much test 2015-09-22 01:49:14 +02:00
pancake
015dfe0f35 Fix regset for iOS debugger 2015-09-22 00:34:58 +02:00
pancake
5d0bdd4481 Enhacements to ease the iOS debugger development 2015-09-21 23:40:17 +02:00
Ole André Vadla Ravnås
259efd66ee Use the the unified thread state API on iOS arm and arm64 2015-09-21 22:42:10 +02:00
yetmorecode
4d46ded1c5 Fixed type issue in mingw64 build. 2015-09-18 02:40:09 +02:00
pancake
b86bf19c85 Fix #3051 - Honor CFLAGS everywhere and fix some windows/android warnings 2015-09-14 20:43:11 +02:00
pancake
8eb71af9ed Internal reg prefix is now $, 85008 for curpc, TRAP for traps 2015-09-14 11:31:54 +02:00
pancake
49975ccf95 Fix #3286 - Use stdbool.h 2015-09-14 02:08:31 +02:00
Riccardo Schirone
ffdbf919b1 io/section: add r_io_section_vaddr_to_maddr_try API
* fix r_io_section_vaddr_to_maddr
* rename r_io_section_maddr_to_vaddr and vaddr_to_maddr
2015-09-10 01:59:40 +02:00
pancake
f346839839 Fix build 2015-09-09 01:30:41 +02:00
pancake
deafc518b0 Refactor RAnal.ESIL (-800 LOC). Fix x86-64 32bit mov 2015-09-05 10:44:51 +02:00
Juha Kivekas
ccd2e515b2 Add dkj command, issue #2825 2015-09-02 15:34:52 +02:00
Álvaro Felipe Melchor
1d4ebdeb25 some refactoring & added threads field in RDebug 2015-09-01 18:45:08 +02:00
pancake
bfdfe0ec38 Fix asm.bits issue in 8051 test 2015-08-31 13:54:24 +02:00