24024 Commits

Author SHA1 Message Date
Florian Märkl
dcf0c7049f
Chop Basic Blocks instead of re-analyzing in noreturn propagation (#16612) 2020-04-17 19:51:47 +02:00
Khairul Azhar Kasmiran
4afa4296ea
x86_32/64: Don't assemble overlarge MOV imm32 (#16619) 2020-04-17 22:36:58 +08:00
Riccardo Schirone
c8f99840ab
r_core_seek accepts a boolean as 3rd argument (#16618)
Replaces all 0/1 passed as 3rd argument to r_core_seek with false/true.
2020-04-17 12:53:35 +02:00
Riccardo Schirone
58cbee4144
Add support for foreach commands ##newshell (#16607) 2020-04-17 10:33:45 +02:00
pancake
0baf99d81d
Add generic reference counting implementation ##util (#16604)
* Unit test for the r-ref api
2020-04-17 11:56:28 +08:00
Liumeo
f549eb2a28
Fix LGTM alert - useless comparison (#16616) 2020-04-17 10:20:05 +08:00
Liumeo
9222e458e2
Fix LGTM alert - save cur to base (#16614) 2020-04-17 08:50:38 +08:00
Liumeo
b5d5e00f66
Fix LGTM alert - remove strlen (#16615) 2020-04-17 08:49:45 +08:00
Florian Märkl
dae5bb43ee
Add a test for noreturn propagation (#16611) 2020-04-16 18:48:20 +02:00
Liumeo
2570a7b001
Add header guard (#16605) 2020-04-16 18:41:31 +02:00
Khairul Azhar Kasmiran
538563149b
x86_64: Fix MOV r32, -imm32 encoding (#16609) ##asm 2020-04-16 16:30:32 +02:00
Francesco Tamagni
40a81ea51a
Fix dyldcache malformed local symbol ##bin (#16610)
It was a false positive due to wrong boundary check.
2020-04-16 16:18:41 +02:00
karliss
96021e339b
Fix some memory leaks. (#16585) 2020-04-16 13:52:16 +02:00
Francesco Tamagni
e7007a2fa7
Improve dyldcache v4 for iOS13.4+ with JSON metadata ##bin (#16603)
- carve dependencies looking at load commands when accelerator info isn’t there (important for iOS 13.4+ caches)
- follow upwards deps as well
- expose metadata about all images (addresses and sizes)
- emit header metadata in JSON format
- make sure libobjc is always loaded, to prevent glitches on the slide estimation logic
- blindly support rebase info v4, as it should work like v2
2020-04-16 13:51:19 +02:00
Riccardo Schirone
238235ab36
Add initial version of MAINTAINERS file (#16438)
* Add initial version of MAINTAINERS file

This is a first effort in trying to split the review process to multiple
people that should be specialized in some particular areas of the
project. This will ensure higher review quality and more distributed
process.

* Update MAINTAINERS

* Converts to GH usernames

* Use CODEOWNERS instead of MAINTAINERS

See
https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners

* No need to mention CODEOWNERS, it's automatically used by GH

* Add yossizap on some components

* Who owns CODEOWNERS itself? :D

Co-authored-by: Anton Kochkov <xvilka@gmail.com>
2020-04-16 04:49:56 -05:00
Riccardo Schirone
b4b3013197
Add support for pf commands (#16586) 2020-04-16 13:23:54 +08:00
Khairul Azhar Kasmiran
a275bad0db
x86_64: Fix REX.B for MOV r64-extended, imm32/64 (#16602) 2020-04-16 13:23:02 +08:00
Liumeo
60c4636be3
Fix 2 LGTM alerts (#16597) 2020-04-16 13:22:08 +08:00
Liumeo
1bcdd892db
Fix LGTM alerts (#16606) 2020-04-16 13:20:46 +08:00
Florian Märkl
0b7948a643
Fix #15598 - Remove cherrypull.sh (#16601) 2020-04-15 13:40:49 +02:00
pancake
1aef2513ab
After release version bump to 4.5.0-git (#16594) 2020-04-15 12:20:20 +08:00
Liumeo
b9786ac7e3
Add header guards in the include files (#16595) 2020-04-15 12:20:02 +08:00
Khairul Kasmiran
7b4bee8cff x86_64: Add some tests and remove some unused MOV C7 code 2020-04-14 23:48:47 +02:00
pancake
adfaf1aa25 Fix issue in r_file_dump() when appending on unexistent files 2020-04-14 19:19:32 +02:00
pancake
2460e004e7 Update the release-notes script for highlights and details folding ##build 2020-04-14 17:49:23 +02:00
Giovanni
200dc57bb8
Fix #16564 - no more bitfields. (#16591)
Co-authored-by: Giovanni Dante Grazioli <giovanni.dantegrazioli@nbs-system.com>
2020-04-14 10:21:58 -05:00
Riccardo Schirone
08210f3d0e
Improve newshell.yaml and use better names for GH builds (#16588)
* Try to run newshell tests on newshell- PRs
GH actions pull_request.branches only filter the base branch.
* Make it clearer which builds run tests and which do not
2020-04-14 17:46:01 +08:00
Florian Märkl
18b1647267
Remove some useless members from RAnalVar (#16548) 2020-04-14 11:05:59 +02:00
pancake
9ea0b7ce56 Release 4.4.0 - Codename: pangolin 4.4.0 2020-04-14 04:47:35 +02:00
liumeo
8398d44f68 declare at file scope 2020-04-14 04:17:55 +02:00
liumeo
2bcb6cdbdb minor optimization 2020-04-14 04:16:11 +02:00
Anton Kochkov
38d82feecf
Fix path in test/README (#16582) 2020-04-14 08:37:14 +08:00
pancake
4eae11b376 Fix GitHub badge and remove matrix chat 2020-04-14 01:59:48 +02:00
pancake
f5057d999c Fix d8a5e54500649eb930e239257b1d75c9f6596a59 2020-04-14 00:42:29 +02:00
pancake
fecc24ee21 Add GitHub CI badge 2020-04-14 00:42:22 +02:00
pancake
315050e7ab Fix last coverities 2020-04-13 23:57:16 +02:00
pancake
d8a5e54500 Fix another timeout 2020-04-13 23:40:47 +02:00
pancake
24b5584bef Fix large aae 2020-04-13 23:28:34 +02:00
pancake
21232718f0 Avoid emulating large regions of code (>128M). Fixes some timeouts 2020-04-13 23:26:11 +02:00
pancake
344e667303 Proper setreg callback for anal plugins 2020-04-13 21:24:01 +02:00
Khairul Azhar Kasmiran
a43831ba96 Fix #16433 - Use MOV opcode B8+ for MOV r64, <0x80000000 to 0xffffffff> #16572 ##asm
Detailed description

I've confirmed #16433 (comment) (including the nasm rax -> eax bug) and thus this pr
makes the x86_64 assembler use the MOV B8+ encoding (MOV r64, imm64) when the immediate
is between 0x80000000 and 0xffffffff for both:

Consistency with GNU assembler.  It actually does seem to be the expected encoding.
This does mean that mov eax, 0xffffffff and mov rax, 0xffffffff will have very different semantics.
2020-04-13 21:23:39 +02:00
pancake
9c2641d2e4 Fix appveyour testsuite path 2020-04-13 21:15:43 +02:00
Disconnect3d
7cff993074 Fix off by one when checkinf for .rdata section
The string literal `".rdata"` has a length of 6 so the `strncmp` used should have size argument of 6 instead of 5.
2020-04-13 20:23:55 +02:00
Disconnect3d
1026faaf01 Fix off by one in "dr*" matching
The string literal `"dr*"` has a length of 3 so the strncmp used should have size argument of 3 instead of 2.

PS: I am not sure if this fix is correct but it seems so. If it is not, please close this PR. However, if the fix is incorrect it seems there could be some bug as next `else if` checks for `"dr"` too.
2020-04-13 20:23:17 +02:00
pancake
9c2e406f01 Fix infinite vtable issue when running 'aaa' in bins/fuzzed/elf9 2020-04-13 20:06:33 +02:00
pancake
d0c0cf13a8 Boolify r_io_shift 2020-04-13 20:05:03 +02:00
pancake
14a2e6ddba Fix infinite loop in aae - check if address is valid ##anal 2020-04-13 20:05:03 +02:00
pancake
dd28fec830 Fix infinite aav issue spotted in bins/fuzzed/hang_09.dms 2020-04-13 20:05:03 +02:00
Disconnect3d
dafe48e2b7
Fix off by one when checking for "zzz" (#16565)
The string literal "zzz" has a length of 3 so the `strcnmp` used should have size argument of 3 instead of 2.
2020-04-13 19:58:03 +02:00
pancake
948fc65491
Fix the last bins/fuzz crash in ELF parser (#16573) 2020-04-13 19:56:41 +02:00