2884 Commits

Author SHA1 Message Date
SpenserStyles
3b7df1e6b5 Fix ARM_INS_CMP ESIL to correctly set carry bit 2018-07-23 11:12:20 +08:00
Luca Di Bartolomeo
13a2cb344a [WIP] Colorize function arguments and variables part 2 (#10777)
* Colorize comments that hint type of data
* Use new colors for comments that hint type of data
* Colorize local variables and args in disasm
* Fixed leak in r_anal_var_all_list()
* Refactoring + rename color func_arg* to func_var*
* Updated all color themes for func_var* colors
* Directly query sdb for faster and cleaner var colorizing in r_colorize_opcode
* Remove hackish r_core.h include in print.c and use callbacks instead
2018-07-20 12:45:51 +02:00
pancake
7d61845ceb Fix asan crashes in the msp430 plugin 2018-07-18 02:39:27 +02:00
sivaramaaa
87267a9e35 Fix noisy output in afta 2018-07-17 23:16:41 +02:00
sivaramaaa
9f6eafebcd Add some improvments and few fixes to afta 2018-07-16 21:53:32 +02:00
pancake
2c85194e7a Fix some warnings 2018-07-14 10:45:55 +02:00
Maijin
66b7dbb69d Fix a type 2018-07-13 19:35:18 -04:00
sivaramaaa
506144d797 Intial work on type propgation on variable equality 2018-07-12 20:33:30 +08:00
radare
b697ef0b3a
Implement esil bang syntax proposal, and also another str api cleanup 2018-07-10 20:26:33 +02:00
Riccardo Schirone
7572f315ea
meson improvements (#10617)
* meson.build: fix meson build when not on git
* meson.build: make capstone a dependency
* meson.build: make r_magic library optional
* meson.build: capstone include is already in the dependency
* meson.build: use dependencies instead of manual linking + includes
* meson.build: add travis
* flag/meson.build: include sdb dependency
* travis-script: print messages based on install system
* io/meson.build: add sdb as dependency
* syscall/meson.build: missing sdb dependency
* {parse,config}/meson.build: add sdb dependency
* travis.yml: pass INSTALL_SYSTEM var to docker
* {bin/shlr}/meson.build: add sdb_dep to r2java and bin
* install meson and ninja-build in r2-travis docker
* travis.yml: allow meson build to fail for now
* anal/meson.build: add sdb and java dependencies
* egg/meson.build: add sdb dependency
* travis.yml: meson build env should be also in the includes list
* core/meson.build: add java dep
* meson.build: use dependencies also to create main r2 dependency
* rasm2/meson.build: replace link_with with dependencies
* rasm2/meson.build: add sdb as dependency
* meson.builds: convert link_with to dependencies and fix tabs
* travis-script: change meson install prefix and set PKG_CONFIG_PATH
* travis-script: add lib64 to LD_LIBRARY_PATH
2018-07-09 16:58:38 +02:00
sivaramaaa
d3093f6cfb Prevent running into infinite loop for invalid ops 2018-07-09 14:59:43 +08:00
sivaramaaa
d128c96bb9 Improvements to type inference (#10666)
* Add double pointer inference support
* Intial work on type inference based on instruction access pattern
2018-07-08 15:26:37 +02:00
pancake
ee2f848731 Fix #10634 - m68k for capstone3 2018-07-08 09:29:20 +02:00
Marco Grassi
24c4e73f92 Fixed typo (#10652) 2018-07-08 02:12:08 +02:00
pancake
ababad8965 Fix asan oobread in 6502 2018-07-08 01:29:14 +02:00
sivaramaaa
d8235704ae Add type propgation for args from caller to callee function 2018-07-05 16:42:15 +08:00
David CARLIER
62cabc24fe last commit removing split variable, here we remove the field too (#10620) 2018-07-04 16:29:50 +02:00
sivaramaaa
1b01ae93d9 Intial work on type inference for register based args 2018-07-04 11:18:31 +08:00
sivaramaaa
ff4231e37b Fix few function params in types sdb 2018-07-04 11:18:31 +08:00
sivaramaaa
f08d7f4614 Prevent register based var sub in disas 2018-06-29 14:33:11 +02:00
sivaramaaa
6e124742e4 Intial support for register base args 2018-06-29 14:33:11 +02:00
sivaramaaa
b698d5d2ff Add mask while parsing RAnalop.dst/src 2018-06-29 14:33:11 +02:00
radare
7747da5b2f
Kill anal.bb.split variable (asume true is good and by default) (#10522) 2018-06-27 21:20:23 +02:00
cyanpencil
2745486b16 change cases flag format 2018-06-26 23:09:40 +02:00
cyanpencil
af956d26e8 Fold cases of switch in the same address 2018-06-26 23:09:40 +02:00
Khairul Kasmiran
f1010355a9 x86_cs MOV family: set val to 2nd operand if imm and if 1st operand is reg 2018-06-25 23:06:24 +02:00
radare
a00d09e5d0
Fixes for winedbg spawn (#10486) 2018-06-25 14:53:25 +02:00
pancake
4b3b4d8059 Fix #10467 - oobread crash in anal.z80 2018-06-25 10:25:25 +02:00
pancake
8240ef2af5 Fix #10468 - oobread in 6502 analysis 2018-06-25 10:25:25 +02:00
pancake
dae1ac91df Add anal.endsize (changes nothing by default, but fixes bugs if set to 0) 2018-06-25 00:31:28 +02:00
pancake
4b7b38f4f0 Early fcn analysis checks 2018-06-25 00:31:28 +02:00
pancake
ef5107a798 No jmptbl in the plt, check that before showing a warning 2018-06-25 00:31:28 +02:00
Florian Märkl
5e35ad898b RConsContext (#10450)
* Add RConsContext
* Swap cons in tasks using RConsContext
* Create cons context for background tasks
* Move event_interrupt to RConsContext
* Fix breaking main cons from signal
* Make r_print_is_interrupted() use callback
2018-06-23 12:10:13 +02:00
jasuramme
351be149b1 Fix bug in MOV.L @(disp,PC),Rn (#10405) 2018-06-19 14:27:11 +02:00
sivaramaaa
f57e86f9c5 Add op.ireg/scale to ARM and apply that in type link
* Add support to all kind of pointers for ts and tl
2018-06-16 18:24:48 +02:00
sivaramaaa
18a6c40b16 Support RAnalop.dst/src for arm thumb mode 2018-06-16 18:24:48 +02:00
radare
bd9611c43d
Add support for x86-32 gcc "mov r,[r*s+d];jmp r" jumptables (#10271)
* Add support for x86-32 gcc "mov r,[r*s+d];jmp r" jumptables

Thanks @rlaemmert for providing test case

- This PR also improves the analysis of MOV instructions on X86
- And extends output of 'ao' to show ireg, scale, ...
2018-06-13 17:06:47 +02:00
jasuramme
bc9dd3aca0 Sh esil implementation bugs fixed (#10334)
* Implemented ESIL for SH architecture
* fixed mov.l @(<disp>,PC), PC needed -2 offset, as program counter is already incremented
* deleted unused sdb file
* removed unnecessary variables and functions. Changed code for coding style rules. Added EXT.S instructions. head of file is still to be rewritten after I will finish tests.
* removed esil_sh_init()
* lots of bugs fixed during testing, not so much left
* Finished to check sh ESIL. Tests are written
2018-06-13 11:13:25 +02:00
pancake
6e5240c725 Fix some memleaks related to code analysis 2018-06-12 16:24:07 +02:00
pancake
90b71c017a Fix #10293 - Use-after-free in r_anal_bb_free() 2018-06-11 03:28:35 +02:00
pancake
224e6bc13f Fix #10296 - Heap out of bounds read in java_switch_op() 2018-06-11 03:15:07 +02:00
pancake
c488aaa208 Fix #10295 - Heap out of bounds read in v850 2018-06-11 03:12:19 +02:00
pancake
bbb4af5600 Fix #10294 - crash in r2_hoobr__6502_op 2018-06-11 03:03:25 +02:00
David CARLIER
4d1d5adb0d Using randomisation wrapper (#10310)
* various tweaks, updating configure.acr script
* moving code to existing utils and modifying builds scripts
* use arc4random_buf when available
2018-06-11 02:50:30 +02:00
sivaramaaa
7083c3385a Support for using variable name in tp 2018-06-10 21:04:57 +02:00
sivaramaaa
409419e4b2 Add ahr command to set hint for func ret values 2018-06-10 03:17:33 +02:00
jasuramme
7189831a90 Implement ESIL for the SH architecture (#10285)
* Implemented ESIL for SH architecture
* fixed mov.l @(<disp>,PC), PC needed -2 offset, as program counter is already incremented
* deleted unused sdb file
* removed unnecessary variables and functions. Changed code for coding style rules. Added EXT.S instructions. head of file is still to be rewritten after I will finish tests.
* removed esil_sh_init()
2018-06-08 00:19:07 +02:00
sivaramaaa
fa03b200d3 Fix few minor issue 2018-06-07 17:37:14 +02:00
sivaramaaa
ecdc536106 Fix afvR and afvW by using RAnalOp.direction 2018-06-07 17:37:14 +02:00
sivaramaaa
cb06ba6ea3 Extend RAnalOp.direction to few more archs 2018-06-07 17:37:14 +02:00