Commit graph

497 commits

Author SHA1 Message Date
Ahmed Mohamed Abd El-MAwgood
52da64becc Fix for function name decorators (oridinal, sym.blablabla) (#5488)
implemented function guess matched name which finds longest function name in sdb_types that is substring of the current function name
2016-08-14 02:07:43 +02:00
Ahmed Mohamed Abd El-MAwgood
4f413e7720 initial support for type matching (#5480)
Enabling stepping over
Basic (sym.imp.*) call catching routines
Fixing esil tracing bug and verbosity
Adding some apis for handling function prototypes and abstacting sbd queries
Fixing the double execusion bug in esil tracing
passing types into vars for `stack`
fixing trailing spaces
doing the regester branch
doing the stack_rev
2016-08-13 12:09:14 +02:00
Álvaro Felipe Melchor
dc5673ec3a Fix regression with the arm/thumb changes (#5464)
Now we build a list of ranges (RAnalRange) based on anal hints to handle the
bits in a better way in the case of arm/thumb

Now instead of asm.bits that rules the whole binary we can define ranges with
anal hints
2016-08-10 18:49:44 +02:00
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
3e5f636869 Fix Vcdn to rename local vars - reported by @ret2libc 2016-08-08 01:00:47 +02:00
Ahmed Mohamed Abd El-MAwgood
4668bc5ea3 Adding nonull (#5441) 2016-08-05 13:35:44 +02:00
pancake
f840836af8 Add aad command to analyze data refs as code (LEA) 2016-08-04 22:52:33 +02:00
Alexandru Razvan Caciulescu
61518c2646 xrefs dir path fix 2016-08-01 12:55:47 +02:00
Ahmed Mohamed Abd El-MAwgood
7c8414f585 FIX #5392 display values of args and locals in debugger (#5417) 2016-07-29 19:35:34 +02:00
Ahmed Mohamed Abd El-MAwgood
2dbb3d8fc6 Calling convention profiles in SDB (#5358) 2016-07-27 13:50:14 +02:00
pancake
36af078830 Fix regression 2016-07-25 21:24:19 +02:00
pancake
085a156a86 Fix #5334 - add support to analyze interrupt handler functions 2016-07-25 20:15:50 +02:00
Maijin
22de895ef5 Rename CSR disasm/anal into XAP4 Fix #5355 2016-07-23 00:41:42 +02:00
Ahmed Mohamed Abd El-MAwgood
67af958e63 FIX #5324 vars/args display 0 in afi and afll and add in aflj 2016-07-19 21:50:55 +02:00
pancake
0f8a5c8635 Fixes and enhancements for the previous commits 2016-07-05 23:25:16 +02:00
Ahmed Mohamed Abd El-MAwgood
85dcb19dae fixing type link consumes no bytes (#5288)
implementing initial api for types
Adding types profiles for x86 and x86_64 architectures
2016-07-05 22:44:53 +02:00
bsmiles32
622e828e1d Add basic support for N64 RSP processor. (#5269)
* Add basic support for N64 RSP processor.
This includes:
* a table driven instruction decoder (rsp_idec)
* a disassembler
* a very primitive anal plugin
2016-07-03 22:03:26 +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
5c14841299 Support op->family and some op->cycle for anal.arm64 2016-06-16 01:43:41 +02:00
robbje
a772452d27 Cgs (#5126)
* refactor function listing code

* adhere to style guide

* use tabs instead of spaces

* recover default behaviour for afi commands

* work in commentary and fix the two regression tests I broke

* some more cosmetic changes

* shorten function names
2016-06-14 17:54:17 +02:00
pancake
f8b5a6602a Boolify anal.xrefs/projects 2016-06-14 01:40:46 +02:00
Ahmed Mohamed Abd El-MAwgood
13d8e65426 Enhancing comments for vars/aegs (#5127)
Adding locality properity to variable and argument comments

the old implementation made use of the standard r_meta functions to create comments using the frame offset as the address. this caused problems because more than one function might have variable at the same offset (with respect to each ones stackframe). so they will overwride each others comments.

adding `base64:` feature

prevening CC from processing var/args comment (in wrong manner)
2016-06-12 23:39:40 +02:00
pancake
d1b5737a59 Add anal.vinfunr 2016-06-10 15:31:38 +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
pancake
16d0396b8f Fix /A, add MJMP optype, and op.reg for UJMP 2016-05-30 00:38:35 +02:00
pancake
78a26275e1 Monitor opcodes are not traps in dalvik 2016-05-29 01:35:41 +02:00
pancake
c36b299073 Fix some null deref and rarun2 chroot escape vuln 2016-05-24 12:32:45 +02:00
Sushant Dinesh
cf456f4414 Fixes to ESIL (#4951)
- Reverted ADD and ADC to set flags based on internal variables
- Fixed calculation of carry and zero flags from internal vars
- Revert "ESIL: add floating point instructions (#4794)"
  This reverts commit 964d12b392. Since we
  decided that floating point operations will be implemented using separate
  ops, these unions are no longer needed. This commit introduced a regression
  in setting esil->old and esil->cur
- Style fixes
2016-05-23 16:39:54 +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
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
pancake
02eb896897 Handle data refs in dalvik analysis 2016-05-14 10:40:03 +02:00
pancake
3d89f2cc21 Add RAnal.Stack.RESET and handle it for arm64 2016-05-11 12:59:32 +02:00
Damien Zammit
964d12b392 ESIL: add floating point instructions (#4794) 2016-05-07 12:32:06 +02:00
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
pancake
93fcd7e722 Initial implementation of the anal.pushret (push+ret->jmp) option 2016-04-14 14:32:10 +02:00
pancake
20b49f1615 Implement stackptr analysis in MIPS and add ALIGN stackop type 2016-04-13 23:33:30 +02:00
pancake
b54614d292 Use anal reg profiles from debug.esil 2016-04-08 00:54:15 +02:00
pancake
0474d1e41e Define generic conditional enums for arm and x86 2016-04-01 12:06:02 +02:00
pancake
e93436ee5b Show calls and refs in aai 2016-03-29 01:13:00 +02:00
pancake
089ee49261 Fix #4410 - aai command to show analysis statistics info 2016-03-29 00:39:50 +02:00
oddcoder
7c5a2ef97a adding tl tl- tl-* 2016-03-24 22:47:42 +01:00
oddcoder
d6dbd326d6 pic18c analysis plugin (coloring) 2016-03-05 23:37:12 +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
Riccardo Schirone
0b8a589e16 anal/bb: keep track of ops positions inside a RAnalBlock 2016-02-12 09:06:36 -06:00
pancake
9f2ce614d3 Avoid null bytes in axt output 2016-02-09 11:38:55 -06:00
pancake
d30b2f4894 Initial import of the anal.xtensa plugin 2016-01-30 01:37:04 +01:00