218 Commits

Author SHA1 Message Date
Nibble
332524e120 * Rename r_anal_aop_* to r_anal_op_*
--HG--
rename : libr/anal/aop.c => libr/anal/op.c
2011-02-24 14:06:49 +01:00
earada
4c72f5f082 * Zoom out in cursor mode
* Fix dalvik goto opcodes
* Initial import of the dalvik anal plugin
* Fix 'ms' mount a non-exist root
2011-02-23 03:01:26 +01:00
Nibble
9646275d38 * Some fixes on resolution of fcns+args 2011-02-18 18:13:26 +01:00
Nibble
340ccc481b * Add more vm features to r_anal
* Fix syscall recognition
2011-02-18 13:08:09 +01:00
Nibble
5c1d473b69 * Fix segfault in r_list_destroy()
* Fix Build
2011-02-18 10:58:17 +01:00
pancake
06f91e2a28 * Code cleanup in r_anal (-30LOC) 2011-02-18 10:08:24 +01:00
pancake
f950dcb33c * Add RIOMap in r_core_file_open
- RCore.file_open() now accepts one more arg for offset
  - Fix RIO api issues related to RIOMap and opening multiple files
  - Fix infinite loop and simplify design
  - Added test case to ensure it does not breaks
* Fix build of r_lang in OSX (thanks @capri_x)
* Remove debugging printfs
* io.ffio is now true by default
2011-02-12 01:52:41 +01:00
Nibble
2a477ce8b7 * More refactoring of r_core_anal_*
- Remove ugly pbb
* Add support for global diff graphs
* Fix global graphs
2011-02-11 16:56:38 +01:00
Nibble
f3f094117a * Huge refactoring of r_anal code and API 2011-02-11 11:22:43 +01:00
Nibble
fc4198e97d * Implement in x86im test and int opcodes
* Remove hacky code
2011-02-08 13:57:48 +01:00
Nibble
ead4e9502f * Simplify type assignment in r_anal
* Include fcn type in 'rabin2 -r' output
2011-02-08 00:15:12 +01:00
Nibble
cc9cefa74e * Some refactoring of r_anal
- Add fcn types for syms and imports
  - Filter bindiff matches by type (speed up analysis)
  - Assign the right fcn type in bin_load
* Fix segfault in r_anal
  - Solve bug with unknown opcodes + graph splitting
* Update more vapi's
2011-02-07 17:43:50 +01:00
pancake
7e22c00602 * Hide verbose messages of "unknown cond, opcode" in anal
- #define VERBOSE in bb.c and fcn.c
* Fix memory leak in cons_grep
  - Fix grepping for null strings
  - Fixes count of lines x~?
2011-02-05 02:55:50 +01:00
Nibble
0906e809fe * Remove all dummy plugins (speed up build) 2011-02-04 14:20:30 +01:00
Nibble
1d83a7ba25 * Some optimizations in r_anal
- bb's are included in fcn struct
  - analyze bb's and fcn's all together
* Update some vapis
* Fix build
2011-02-04 14:03:59 +01:00
pancake
9c8aa28a9a * Some better help messages
* Added asm.lineswidth (fixed width for reflines)
* Added 'aoe' stub command
2011-02-03 09:31:50 +01:00
pancake
fdd8ed6bc1 * Use r_reg API from r_anal in order to retrieve info for r_syscall
* Hacky support for software interrupts in anal.x86im plugin
* Added 'B' key to toggle automatic blocksize
2011-02-03 00:57:29 +01:00
pancake
1f1a36c817 * Initial implementation of the r_anal_aop_execute api
- It's like r_vm, but using r_anal
  - r_vm is going to be deprecated
* Added r_mem_set_num()
* Remove deprecated asm/t/fastcall example
* Fix warnings in r_syscall_regs
  - Integrated with r_syscall_use()
  - Fix r_syscall_reg() out of bound bug

--HG--
rename : libr/syscall/regs.c => libr/syscall/fastcall.h
2011-02-03 00:20:39 +01:00
pancake
1f953579ea * Fix build 2011-02-02 13:23:44 +01:00
pancake
965a577af2 * More work on the r_anal/r_syscall refactoring for calling conventions 2011-02-02 13:05:48 +01:00
pancake
2c3edbbbf5 * Add missing cc.c 2011-01-26 22:01:38 +01:00
pancake
af7cfafc0d * Initial api for r_anal_cc (calling conventions)
- Not yet implemented, just a draft
* Added initial AVR cpu code analysis plugin
2011-01-26 21:54:39 +01:00
Nibble
2e26e35584 * Add bb list into RAnalFcn structure
* Analyze bbs per function
* Remove gdiff from radiff2 temporary (deprecate?)
  - Meanwhile ragdiff2 should be used
* Update TODO
2010-12-24 13:27:20 +01:00
Nibble
2bb73ba631 * Add getter r_anal_get_fcns()
* Install python bindings also in dist-packages
* Update and fix some vapis
2010-12-06 16:26:21 +01:00
Nibble
a0ae2c2286 * Show detailed info for diffing in afl output
* Create struct RAnalDiff and move diff related fields inside
* Move {RAnalFcn, RAnalBlock}.diff from int to RAnalDiff*
* Add r_anal_diff API
2010-12-05 08:46:56 +01:00
Nibble
c254af504f * More optimizations in gdiff
* Fix the usage message of radiff2
2010-12-04 15:24:39 +01:00
Nibble
f50fc41794 * Huge refactoring of gdiff using Levenshtein distance and binmasks 2010-12-04 15:14:53 +01:00
Nibble
fc11acc128 * More work in var analysis
* Put RAnalVar->type and RAnalVar->dir together
2010-12-03 13:52:11 +01:00
Nibble
eb88fa40fc * Set variable direction during function analysis
* Add argument "dir" to r_anal_var_add()
* Fix reg handling in x86im plugin
* Fix variable analysis in r_anal
* Use plugin "x86" in ranal2 by default
2010-11-29 20:06:11 +01:00
Nibble
caee8a1009 * return r_anal_ret_end in fcn and bb analysis if an unknown opcode is found
* re-autogen using acr 0.8.4
2010-11-26 00:44:47 +01:00
Nibble
7e8b8a9900 * Show /* func: */ or /* loc: */ in disassemble
* Filter fcn searchs by type (reduce pd time)
* Add arg 'type' to r_anal_fcn_find()
2010-11-23 19:55:31 +01:00
Nibble
e4832f435d * Distinguish betwen fcn's (call refs) and loc's (jmp refs)
* Show fcn type and code xref type in 'afl' output
  - C for calls, J for jmps
* Add optional argument 'type' to command 'af+'
  - l for loc's, f for fcn's (default)
* Add argument 'type' to r_anal_fcn_add()
* Add field type to RAnalFcn and enum RAnalFcnType
2010-11-23 17:15:33 +01:00
Nibble
b3cd57f573 * Add arg reftype to r_core_anal_fcn()
* Add R_ANAL_REF_TYPE_CALL and R_ANAL_REF_TYPE_NULL to RAnalRefType enum
* Set type R_ANAL_REF_TYPE_CALL to call refs during opcode analysis
* Fix bug in r_core_anal_fcn() increasing performance
2010-11-23 14:05:23 +01:00
Nibble
60f54b6969 * Add r_core_anal_fcn_cc() in r_core for Cyclomatic Complexity calc
* Add command 'afc'
* Add fields 'ncalls' (number of calls) and 'conditinal' to RAnalBlock
* Set anal.split=true by default
2010-11-22 15:14:54 +01:00
Nibble
1f8d80e37c * Zero out UCALL and UJMP opcodes in r_anal_strmask()
* Add imports to functions with name fcn.imp.* in r_core_bin_load()
* Fix bug in cmd 'zg', truncate ouput file
2010-11-21 19:01:41 +01:00
Nibble
71978e186f * More optimization on the analysis loop
* Add config_analsplit_callback() in anal/config.c to set RAnal->split
* Add field split to RAnal struct
  - Avoid unnecessary call during BB analysis
* Set the default anal depth to 100
* Take into account internal calls in xref analysis
* Rename anal_x86_x86im to anal_x86 and make it the default anal plugin
* Rename anal_x86 to anal_x86_simple (x86.simple)

--HG--
rename : libr/anal/p/anal_x86_x86im.c => libr/anal/p/anal_x86.c
rename : libr/anal/p/anal_x86.c => libr/anal/p/anal_x86_simple.c
rename : libr/anal/p/x86_x86im.mk => libr/anal/p/x86.mk
rename : libr/anal/p/x86.mk => libr/anal/p/x86_simple.mk
2010-11-20 16:47:15 +01:00
pancake
49ab1886c2 * Fix branch analysis in arm thumb
* Various unnecessary syntax changes
2010-11-14 16:38:17 +01:00
pancake
264f95a40e * Fix build in iOS 4.1 (darwin-arm)
- Honor CFLAGS everywhere
  - Use ut?? instead of uint??_t
* Add build instructions in doc/iphone
* Fix some out-of-range conditionals
2010-11-08 19:30:25 +01:00
pancake
1371965ae5 * Added 'w32beta' make target
- Distributes the build of r2 and r2-swig
* Fix some warnings on w32
2010-10-29 03:38:43 +02:00
Nibble
4ddde68f05 * Initial work on fixing bp&&dc&&dc
* Fix bug in io_ptrace when it writes to mem in 64bits
* Minor cosmetic changes in test_x86im
* Update TODO
2010-10-28 20:47:21 +02:00
pancake
98cc88700d * Added much more detailed vapis
- Enhaces API support for valaswig bindings
  - I'm probably breaking the build
2010-10-28 00:55:07 +02:00
pancake/n900
c03fcdfa87 * Fix build for maemo (native arm/linux)
- This is a compiler issue, not arch related
2010-10-27 20:09:29 +02:00
Nibble
4b168c8748 * Fix build 2010-10-27 16:24:56 +02:00
pancake
8ed7004780 * Some fixes, null pointers and other beasts
found thanks to the python bindings
2010-10-26 18:24:14 +02:00
pancake
8149bab431 * Remove \r (thanks @earada) 2010-10-18 11:54:12 +02:00
Nibble
7fe2f823e7 * Fix build for win
* Fix string rva in r_bin
2010-10-17 20:38:19 +02:00
pancake
1fc70da3c9 * Analyze cmp/ldr/str opcodes in arm thumb
* Minor work to fix the cursor issues
2010-10-08 11:10:25 +02:00
pancake
daa5d0fd38 * Implement ldmia/stmia in armthumb_assemble
- added also: yield, wfe, wfi, sev, bkpt
  - fix ldr{bh} and str{bh}
* Initial implementation of the arm-thumb code analysis module
2010-10-08 00:27:38 +02:00
pancake
ee39ba239a * Add 'FS' #define for w32 and *nix
* Add support for thumb mode ARM disassembler
  - Workaround a warning in r_vm for arm-16
* More work on drx.c, but still not integrated
2010-10-04 00:42:11 +02:00
Nibble
7d1303292e * r_anal
- Fix segfault in anal_x86_x86im (64bits)
  - always show analysis warnings
* r_core
  - Fix /a output
2010-09-28 18:52:46 +02:00