288 Commits

Author SHA1 Message Date
Ahmed Mohamed Abd El-MAwgood
ad1565d9e4 few enhancements for afv FIX #5459 (#5461)
replacing afv[bsr]n  with afvn
replacing negative sign `n` with `_`
being consistent across the documentations (args + locals = vars)
refactoring code
2016-08-09 00:17:42 +02:00
pancake
a4ff60743f Follow fcn calls one step further WIP 2016-08-07 09:17:05 +01:00
pancake
4a190d770c Some anal cleanup and aim for the fwdjmp bb issue 2016-08-01 18:41:07 +02:00
Ahmed Mohamed Abd El-MAwgood
2dbb3d8fc6 Calling convention profiles in SDB (#5358) 2016-07-27 13:50:14 +02:00
pancake
085a156a86 Fix #5334 - add support to analyze interrupt handler functions 2016-07-25 20:15:50 +02:00
Ahmed Mohamed Abd El-MAwgood
b31dd80724 Args/vars the last commit (#5245)
renaming afa, afv and afe to afvb afvr, and afvs respectively
making arguments analysis obeys e anal.vars
improving the json format for args/vars
fixing varsub to use the new comands for x86 and arm
fixing var commenting commands to use the new commands var configuration
2016-07-01 16:15:29 +02:00
Álvaro Felipe Melchor
4b08d38cb1 more mem leak fixes 2016-06-29 10:11:25 +02:00
Ahmed Mohamed Abd El-MAwgood
3bac42eda7 Improving variables on ARM (16, 32, 64) (#5146)
removing argument detection extension used in af now args are seperately detected by afCa
aa = af + afCa
using aliases as well as real registers
rewritten varsub
Fixing some of Arm esil and optimizing them for arg/var detection
2016-06-20 15:22:09 +02:00
pancake
59f63e5f8d Handle Windows's noreturn call to ExitProcess 2016-06-19 12:26:58 +02:00
pancake
1629dd2b64 Remove two unused fields in RAnalOp and some deadcode 2016-06-17 14:26:24 +02:00
pancake
911fef209a Implement afbr and * sub-variants to list return addresses of current function 2016-06-17 02:50:01 +02:00
pancake
d1b5737a59 Add anal.vinfunr 2016-06-10 15:31:38 +02:00
pancake
c65edef137 Always store fcn->bits info on analyze 2016-06-09 23:34:55 +02:00
Ahmed Mohamed Abd El-MAwgood
000c602348 FIX #5096 (#5101) 2016-06-08 18:13:36 +02:00
Ahmed Mohamed Abd El-MAwgood
7f48af3332 re construction argument/var commands (#5082)
afa for base pointer arguments/vars
afe for stack pointet arguments/vaes
afv for registers
fixing the J and \0 suffix
using the right register indexer
fixng the negative offsets of afa
fixing the afa afe afv views of pdf
fixing errors in aa
fixing the stack bases arg/var
fixing the varsub
fixing afa*
fixing afat
making afx- space neutral
enabling register renaming at varsub
updating the built-in help
adding r_reg as dependency for r_parse
2016-06-06 00:33:42 +02:00
dx
58c5a333c0 Fix a few anal leaks (#5076)
Mostly sdb_get() calls turned into sdb_const_get(), but there are
others.
2016-06-03 15:33:08 +02:00
pancake
e458901033 Fix jmptbl regression 2016-05-30 15:30:55 +02:00
pancake
4de809061a Add MJMP optype, pxt command and enhance anal.jmptbl for x86-64 (wip) 2016-05-30 04:18:48 +02:00
pancake
16d0396b8f Fix /A, add MJMP optype, and op.reg for UJMP 2016-05-30 00:38:35 +02:00
pancake
86213ba555 Fix #4915 - avoid naming functions as registers 2016-05-24 01:47:09 +02:00
pancake
403b2c2257 Update release-notes script 2016-05-24 01:12:22 +02:00
Sven Steinbauer
8da8ad740f Cleanup fixes
* For commit comments and compiler errors
* Fixes for PR comments
* fix some "infer fixes" commits

Signed-off-by: Riccardo Schirone <sirmy15@gmail.com>
2016-05-23 11:25:44 +02:00
Sven Steinbauer
9e6d4f2709 Anal infer fixes
Signed-off-by: Riccardo Schirone <sirmy15@gmail.com>
2016-05-23 11:25:44 +02:00
Riccardo Schirone
8727840e90 anal/fcn: use getter/setter to access the size of a RAnalFunction
This is one of the first steps to improve analysis. This way we'll have
one single place to change if we want to change the meaning of the
"size" field. (size -> realsize)
2016-05-19 01:50:50 +02:00
pancake
2db1f73583 Fix #4836 - bb0 size issue 2016-05-16 23:07:29 +02:00
pancake
c627fb3bec Add colors in afll and fix max stack 2016-05-16 03:46:23 +02:00
pancake
23dcb486ea Fix some minor memory leaks, Properly make check_fcn public 2016-05-15 02:43:10 +02:00
Riccardo Schirone
c169073c74 Fix #4080 : remove assumption that functions are contiguous
* anal/p/anal_java: remove function that does nothing

* anal/fcn: workaround for java analysis
2016-05-14 16:37:24 +02:00
pancake
919424f5ed Several bug fixes for the arm32 esil emulation and static analysis 2016-05-09 23:08:25 +02:00
Ahmed Mohamed Abd El-MAwgood
d4e4bcf6f4 off by one calculating string start (#4828) 2016-05-09 17:38:11 +02:00
Ahmed Mohamed Abd El-MAwgood
00faea8023 FIX #4782: adding afCa to r_core_anal_all (#4805) 2016-05-09 16:04:54 +02:00
Ahmed Mohamed Abd El-MAwgood
f6c24f426f Adding support for handling sp registers at parsing 2016-05-05 15:48:00 +02:00
Ahmed Mohamed Abd El-MAwgood
d08de89727 Add support for esp register in afCa afCa 2016-05-04 22:20:58 +02:00
Damien Zammit
af0a865d9f WIP - Totally remove host endianness dependence
- Adds endian aware functions
- Removes references to host endian
- Uses binary detected endianness else tries LE and restricts by RAsmPlugin
- Fixes gdb debugger endianness when debugging BE qemu gdbserver

Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-05-04 23:42:17 +10:00
Ahmed Mohamed Abd El-MAwgood
eb185abff4 adding intital support to --omit-frame-pointer FIX #3735 (#4742)
* adding intital support to --omit-frame-pointer FIX #3735

* makeing afCa arch independent to some extent
2016-05-01 14:48:04 +02:00
oddcoder
0a4a2615c9 Adding extra pass for find function argument 2016-04-22 16:25:37 +02:00
pancake
93fcd7e722 Initial implementation of the anal.pushret (push+ret->jmp) option 2016-04-14 14:32:10 +02:00
pancake
8a6088a0dd Fixes for ARM IT op 2016-04-07 11:52:36 +02:00
pancake
dd3ac102e5 Be arch-specific in that plt analysis trick 2016-04-02 23:58:52 +02:00
pancake
a521f418fd Fix plt analysis check 2016-04-02 23:19:23 +02:00
pancake
1571b9c251 Fix #4485 - Force eobjmp for jumps to different section 2016-04-01 19:39:31 +02:00
pancake
509c1c7447 Fix #4486 - Skip UJMP if in plt section 2016-04-01 19:37:05 +02:00
pancake
c917f128fd Dont fallback from UJMP to RET and ignore eobjmp in UJMP 2016-04-01 12:24:19 +02:00
pancake
fcefa06dd1 Honor ARM conditional bits to skip bxeq lr and such 2016-03-31 23:38:25 +02:00
pancake
089ee49261 Fix #4410 - aai command to show analysis statistics info 2016-03-29 00:39:50 +02:00
pancake
2c049ad05e Better aaaa reports 2016-03-07 04:12:11 +01:00
Riccardo Schirone
a87a77f9e4 core/disasm: asm.bbline should be based on RAnal
The BasicBlock is a concept you can have only with analysis info. This
ensure that the displayed result is correct.
2016-02-24 23:00:41 +01:00
Riccardo Schirone
1336a7dff3 anal/fcn: rename local variables to use hex offset 2016-02-23 02:35:47 +01:00
Riccardo Schirone
e72f5ed0ae anal/op: add var field to RAnalOp to store the local used by op
anal: save writes/reades of vars/args and fix x86 stackop analysis
2016-02-23 02:35:47 +01:00
pancake
3c1a4eb040 Implement relocs for MIPS32 big endian ELF binaries (openwrt) 2016-02-21 00:56:01 +01:00