23188 Commits

Author SHA1 Message Date
Khairul Azhar Kasmiran
cd45bc144f bin.str.enc: Accept uppercase aliases (#15496) 2019-11-24 17:13:32 +01:00
Khairul Azhar Kasmiran
6906946135 bin.str.enc: Check for NULL (#15493) 2019-11-24 10:43:40 +01:00
Khairul Azhar Kasmiran
b4c62998a1 bin.str.enc: Accept UTF hyphen aliases (#15492) ##bin 2019-11-23 21:53:58 +01:00
MNayer
f4bd6bce0b Fix anal.timeout calculation in r_cons_break_timeout (#15490) 2019-11-23 21:53:44 +01:00
Florian Märkl
ffcffaa3aa Remove broken Task Pausing and unnecessary RCore.lock (#15489) 2019-11-23 21:53:27 +01:00
pancake
4a01fa47ea Fix null deref when using waf on non-valid file 2019-11-23 20:46:11 +01:00
Anton Kochkov
dce959d2af
Inital GitHub Actions (#15467)
* Inital GitHub Actions
* Disable Windows for now
* Disable tests for now
2019-11-21 22:54:08 -06:00
pancake
db8880eaec Add missing BT instruction optype for x86 2019-11-21 10:56:04 +01:00
yossizap
a19f212586 Update hardcoded gdbr registers for 16/32bit x86 (#15488) ##debug
There are still platforms that don't support the target xml format.
2019-11-21 10:28:35 +01:00
Giovanni
08ae6fc891 Fix #15485 - Improve argument parsing in sys/{install,build} (#15486) ##build 2019-11-20 16:40:02 +01:00
yossizap
8f34771320 Added parsing of gdbr arm/arm64 register features and added a default to >64bit registers
Since r2 doesn't support set/get to large/vector registers (it will still work
when printing gdb's registers with dr/drt or restoring the registers
with reverse stepping), there's a possible issue that the user will get
lots of prints of "r_reg_[get/set]_value: Bit size 128 not supported"
when running various debug commands that use those functions. This fix
simply moves those registers away from gpr to avoid those prints while
still being able to view/restore the registers.
2019-11-20 12:57:33 +01:00
Florian Märkl
04958b3208 Minor Refactoring and Comments for RBTree 2019-11-19 17:27:57 +01:00
pancake
451bc69d13 Add base64: for afn ##anal 2019-11-19 12:28:20 +01:00
pancake
9b0757dc2b Fix the flags.prefix with flags.inline glitch 2019-11-19 12:23:10 +01:00
pancake
564248e66b Fix hidden hint.lea for hint.pos==0 ##disasm 2019-11-19 12:23:10 +01:00
yossizap
68babb75f3 Added parsing support to all gdb registers ##debug
The previous implementation was limited to 64bit registers and didn't
parse the 'feature' field.
2019-11-18 22:56:56 -06:00
yossizap
3c0267fc0a Fix gdbr's reg_write and reg_next_diff for reverse stepping ##debug
Writing registers with gdbr worked with single registers because
reg_next_diff started at delta 0 and only had to run the diff once for
the single register that was changed. When running reverse
stepping/continue, multiple registers are changed at once so
r_reg_next_diff would fail every time due to incorrect offset calculation.
The new r_reg_next_diff also support different register sizes to restore
all registers correctly.
The endianity swapping part from reg_write isn't needed since the arena
is the return value of 'g' which is already in the correct target byte
order (see: https://sourceware.org/gdb/onlinedocs/gdb/Packets.html#read-registers-packet)
2019-11-18 22:56:56 -06:00
GustavoLCR
ff71c411c7 Fix #15451 - Update Windows compilation documentation 2019-11-18 01:41:27 +01:00
yossizap
ebfbf1a039 Fix r_socket_connect not using the given timeout in unix ##network
Connect isn't effected by r_socket_block_time since it can only change the
timeout of read(and not implemented, write) actions with setsockopt.
Also, connect may wait for an unspecified amount of time so we have to use
select.
2019-11-18 01:38:08 +01:00
yossizap
b5902beb36 Reduced gdbr's tcp connect timeout and added a break ##debug 2019-11-18 01:38:08 +01:00
yossizap
bbb837930a Fix gdbr not closing sockets after connect failed ##debug
The socket object was free'd without closing the fd. In the following
gdbr_connect attempts, tcp's connect would freeze on a valid socket since
connection based protocol sockets may successfully connect only once,
any connections beyond that are undefined behavior.
2019-11-18 01:38:08 +01:00
pancake
6c51fd762e Remove printf debug leftover 2019-11-16 10:34:39 +00:00
Khairul Azhar Kasmiran
c4e80f8c6d Support UTF32-BE decoding (#15472) ##bin 2019-11-16 11:27:07 +01:00
erfur
ac84c4ee2f Some fixew for the graphviz code (#15470) 2019-11-16 11:26:19 +01:00
Khairul Azhar Kasmiran
5e06b5414d Recognize Unicode BOMs (#15469) ##bin 2019-11-15 16:48:26 +01:00
radare
b12fd28010
Move the fcn preludes into RAnal and add anal.jmp.tailcall (-1,0,N) ##anal (#15466) 2019-11-15 16:48:00 +01:00
Khairul Kasmiran
ff7828bab2 Add TODO comment for overlong strings 2019-11-15 21:09:53 +08:00
radare
54d503f7c6
Use pj in the izj and izzj commands ##bin (#15465)
* No more hacky base64
* iz != izz, before izz was iz+izz
2019-11-15 02:13:00 +01:00
MartinJM
6bc9e58311 Fix for #15459 - Also set the first operant to the right value on a mov from pointer with offset ##asm 2019-11-14 22:57:52 +01:00
F3real
032a1eb0c0 Fix x86 lahf instruction 2019-11-14 22:56:07 +01:00
GustavoLCR
6037ec860d Fix autocomplete 2019-11-14 22:55:31 +01:00
pancake
04cc045955 Don't contribute with patches 2019-11-14 18:53:10 +01:00
GustavoLCR
a598e640df Fix #15456 - Fix reopening in write mode ##windows 2019-11-14 17:51:26 +01:00
Eli
17d2f9aa43 Emit sp-based var offset as a number
The output of `afvsj` shows offsets of sp-based variables as strings.
This fix changes the offset to be shown as a number, just like sp-based arguments and bp-based variables.
2019-11-14 16:06:05 +01:00
yossizap
279f53122f Add break to gdbr's read_packet and move isbreaked to libgdbr ##debug
Since read_packet has a large number of retries you would wait for it
for a couple of seconds after breaking in functions like connect and
vcont
2019-11-14 12:31:56 +01:00
yossizap
0b68cab009 Fix gdbr_write_registers and refactor gdbr_write_reg ##debug
Previously, write_registers sent a partial string instead of the
correct register format which specifies that each byte should be
represented by two hex digits.
2019-11-14 12:31:56 +01:00
yossizap
b86c251a35 Replaced lock_check with tryenter in gdbr_read_registers ##debug
This change allows reading registers when calling read_registers in
a thread that holds the recursive mutex.
2019-11-14 12:31:56 +01:00
yossizap
c2ad608ee9 Added r_th_lock_tryenter API (#15454) ##util
r_th_lock_check only returns the refcount which isn't enough to know if
the current thread is holding the mutex when a recursive mutex is enabled.
2019-11-13 17:21:13 +01:00
Khairul Azhar Kasmiran
a1f893e58c
Support UTF16-BE decoding (#15450)
* Support UTF16-BE decoding

* Add spaces
2019-11-14 00:08:37 +08:00
Francesco Tamagni
7b2375228f Fix #15445 - Add support for Mach-O external relocs ##bin (#15445) 2019-11-11 21:55:06 +01:00
Florian Märkl
432b559bb7 Add support for C64 PRG fileformat ##bin (#15448) 2019-11-11 21:54:46 +01:00
David CARLIER
cb7e8e7310 Fix few warnings for the gdb client 2019-11-11 21:54:06 +01:00
Khairul Azhar Kasmiran
8ab6a6ff93 pd: Don't abort string printing on initial null if bin.str.enc != guess (#15446) ##bin 2019-11-11 17:59:07 +01:00
pancake
93c7a54e9a Fix crash 2019-11-11 04:01:29 +01:00
pancake
806370290b Cleanup tab-completion initialization code 2019-11-11 00:36:49 +01:00
yossizap
739078d7a4 Add breaking to gdbr connect to avoid waiting on invalid connections (#15442) ##debug
R2 will hang while waiting for any resolvable port to respond, this takes
a long while since connect is attempted twice in r_core_file_open.
2019-11-11 00:09:24 +01:00
pancake
f0998c01b7 Update capstone v4/next from Git 2019-11-10 19:05:08 +01:00
yossizap
e35f447a2a Added break to gdbserver vCont and refactored the code to use locks (#15433)
The previous gdbr implementation didn't allow interrupting background
tasks with &b since send_vcon wasn't properly configured with the cons
api. In addition to that, gdbserver doesn't support processing multiple
commands at the same time, resulting in undefined behavior once cons
were set up for vcont.
This commit adds the relevant cons api and solves the concurrency issues
by adding locks on all socket related logic.
2019-11-10 19:03:56 +01:00
David CARLIER
e69907ef5d Uses the setitimer api instead for the alarm in self:// ##io 2019-11-10 19:03:42 +01:00
yossizap
ccf42d7c45 Fix r_sys_sigaction not setting up the requested signals (#15440)
The for loop's iterator was initialized with the first member of sig[]
instead of 0. Added an error to avoid this issue going unnoticed.
2019-11-10 12:37:17 +01:00