Commit Graph

51 Commits

Author SHA1 Message Date
pancake
ade05c9aeb * Display some string references on x86
* In 'pd' display strings as text, not opcodes
* Added 'Vdu' command to undefine metadata and flags on cursor
* Better support for visual cursor
* Added f-@ command to undefine flags at given address
* Fix parse of C* commands
* Added C- and C[xXsSm..]- to unset metadata
* Disable cursor when quitting visual mode
2010-06-21 01:58:45 +02:00
pancake
4f8fc7d926 * Added traced field in RAnalBB
- Display 'traced' flag in 'abl' command
* Initial work on 'dd' command (filedescriptors)
  - API defined, not yet implemented or used
2010-06-18 11:09:19 +02:00
pancake
123faacd3c * Implement r_anal_cond_eval() and r_anal_value_to_ut64() functions
- Code seems to work and basicblock conditionals can be evaluated
  - Show 'match' result in 'abl' command
  - Wrong namespace
2010-06-18 00:53:47 +02:00
Nibble
9e49939dab * Revert wrong "bb memory leak" fix (again xD)
- RAnalBlock must keep a list of the analyzed opcodes
  - Those RAnalOp are not freed because they are added to this list
2010-06-17 10:04:51 +02:00
pancake
e36ef11025 * Initial working basic block conditional decompilation
- Only 'test' opcode for x86 is currently supported (just for testing)
  - analysis backend generates RAnalValue's for each argument
  - compiles a cmp+cjmp into a RAnalCond class
  - de/serializes the RAnalCond into an evaluable string
  - Make anal api more stable
* Fix a memory leak in anal_bb
* Reassign anal->reg into dbg->reg
  - Replicate dbg->reg into dbg->anal->reg
  - Such nasty cascade assignation..
2010-06-16 21:44:19 +02:00
Nibble
a129564c1c * r_anal
- Don't free appended aop's
  - Set bbc->cond = NULL in printed bbs list
2010-06-15 16:19:20 +02:00
Nibble
1c59267c88 * Fix segfault in cmd 'agd offset' 2010-06-14 19:35:44 +02:00
Nibble
8718f7aad9 * Merge 2010-06-14 18:30:31 +02:00
Nibble
68aeb6f92a * Add targets clean & mrproper to binr/Makefile
* Use r_list_free instead of r_list_destroy in r_anal
* Some minor fixups in r_anal
2010-06-14 18:29:52 +02:00
pancake
d3c0819cc7 * Some fixes in make all/clean
* Initial work on RAnalCond
2010-06-14 16:20:54 +02:00
pancake
4bd719546c * Implement RAnalRef as a struct instead of a hacky ut64 pointer
- Support data and code reference specification
* Also handle 'jmp' as code references
2010-06-14 00:57:40 +02:00
Nibble
097edd11c6 * Add support for non-splitted graphs
* Add config var anal.split
* Fix segfault in r_anal & r_big
* Fix r_anal split algorithm
* Minor fixup in bb type assignment
* Fix partial graphs generation
2010-06-02 19:17:47 +02:00
Nibble
8d2d0e0806 * r_core
- Fix bug in r_core_anal_graph_nodes (s/printf/r_cons_printf/)
  - Use r_str_chop_ro to get 'cg' filename
* r_diff
  - Reimplement graphdiff using r_core functions
* r_config
  - Fix t/Makefile using -l instead of .o's
2010-05-28 10:17:24 +02:00
Nibble
ee844c4625 * r_anal
- Allow to add overlapped functions
* r_core
  - Remove r_core_anal_fcn_add, it's the same that r_anal_fcn_add
* r_diff
  - Add 'af@entry0' to gdiff analysis
2010-05-25 01:31:52 +02:00
Nibble
f65de2d925 * r_diff
- Add r_diff_gdiff (initial import of the graphdiffer)
	Next step is remove the mnemonics array and use a hash function
	The bb_diff function will change too :)
  - Add flag -g to radiff2
* r_core
  - Add cmd 'cg [file]' for graphdiffing
  - Add cmd 'agd [file]' for output graphdiff results
  - Modify r_core_anal_graph() for supporting graphdiffs
* r_util
  - Implement more r_big functions
  - Make other more gmp-like
2010-05-24 18:35:08 +02:00
Nibble
4f236eded5 * r_anal
- rename R_ANAL_BB_DIFF_* to R_ANAL_DIFF_*
  - add field diff to RAnalFcn
  - Allow r_anal_{bb,fcn}_set to edit an existing one
* r_core
  - Output diff state with afl, abl, af* and ab*
  - Allow to change the diff state with af+ and ab+
2010-05-24 13:57:49 +02:00
Nibble
934112d2b7 * r_anal
- Fix bb->type resolution
  - Use bb->type as flag
* r_core
  - Mofify ab+ to accept more than one type
2010-05-21 19:20:42 +02:00
Nibble
ee92530330 * r_anal
- Fill aop type
  - Update r_anal_bb and r_anal_bb_add accordingly
* r_core
  - Add field type to ab+
    'h' = head, 'b' = body, 'l' = last, 'f' = foot
2010-05-21 18:23:01 +02:00
pancake
02c11613ec * Clean TODO files
* Rename refactorization in RAnal
  - Fix compilation of vala test programs
  - RAnalBB -> RAnalBlock, RAnalAop -> RAnalOp, ...
  - sync vapis
2010-05-21 01:46:26 +02:00
pancake
1940120f0a * Added fast keys to seek on jumps or calls '1'-'9'
* More seek undo pushes in visual mode
* Added 'd' key in visual mode 'df' defines a function
* Huge repointerization in RCore
* Fix r_num_new() constructor
2010-05-20 00:59:42 +02:00
pancake
34435b1285 * Mental note: %lld/%llx does not exist on windows
- Use the macro PFMT64{xod} in case
2010-04-14 13:02:23 +02:00
Nibble
d8cb940a9d * Initial refactoring of r_anal & r_core 2010-04-07 13:43:50 +02:00
pancake
6e6dbf5b81 * Some fixes in code analysis
- Fix some issues for 64bit instructions in z0mbie dislen
* Fix EOF, ^D and terminal resize
  - Do not understand terminal resize as EOF
* Display rpathstrip lines to identify segfaults
* Implement 'ao' command to analyze opcodes
2010-03-26 17:01:25 +01:00
Nibble
95ca8e110d * r_core_anal
- Fix command 'ag'
2010-03-25 11:40:06 +01:00
pancake
a5d4166cf5 * Fix compilation of r_lang vapi for valadoc
* Fix valadoc visualization and update radare.org/vdoc
* Added 'agc' command to draw graphviz graph of calls
* Remove some unused flush calls in various 'ag' commands
2010-03-24 01:24:27 +01:00
pancake
6d6ede7ee6 * Disassemble branch-in-the-middle instructions
- Uses reflines code analysis to get some hints
* Rename RAnalysis into RAnal
2010-03-19 12:00:04 +01:00
Nibble
21868d3b6c * r_parse & r_core
- Rename asm.symsreplace to asm.filter
* r_core
  - Add command 'aga' to output address-graphs
* build
  - Strip binary rpath before install
2010-03-19 04:32:42 +01:00
pancake
b8c3a23892 * Rename dbg.dwarf into asm.dwarf
- Display source lines at right of opcodes
* Rename asm.reflines* into asm.lines*
  - asm.lineswide = false by default
2010-03-19 01:45:52 +01:00
Nibble
e834fc9c9b * r_anal
- Fix aop->addr asignment in plugins
* r_core
  - Add commands 'agl' and 'agfl' that output graphs with meta-data
2010-03-15 19:47:26 +01:00
Nibble
d69f391175 * r_core_anal
- Avoid duplicated functions
2010-03-12 16:52:20 +01:00
Nibble
9af6794cec * Rename MALLOC_STRUCT into R_NEW and deprecate it. 2010-03-12 13:35:10 +01:00
Nibble
e12bcd1f3b * r_core_anal
- List vars in 'afl' output
* r_anal
  - Add r_anal_var_type_to_str
  - Use hex delta in var names
2010-03-12 11:07:05 +01:00
Nibble
d05b0fedf4 * r_anal
- Initial work in var analysis
  - Move r_var into r_anal
* r_var
  - Removed

--HG--
rename : libr/var/var.c => libr/anal/var.c
2010-03-11 17:19:33 +01:00
Nibble
7e5e81e3cd * r_list
- Fix r_list_foreach
* r_anal
  - Move p/arm.h to arch/arm/arm.h
  - Add arm.mk to p/Makefile
* r_core_anal & r_anal
  - Refactoring using r_list_foreach

--HG--
rename : libr/anal/p/arm.h => libr/anal/arch/arm/arm.h
2010-03-08 12:31:14 +01:00
Nibble
bf2a8120ea * r_core
- Set r_anal bits in asm.bits callback
* r_core_anal
  - Improve xref resolution
* r_anal
  - Fix infinite loops in r_anal_bb and r_anal_fcn
  - Some code cleanup in bea plugin
  - More improvements in code analysis
* r_bin
  - Mark symbols as functions in r_bin_pe
* rabin2
  - Print 'af+' commands and 'fcn.' flags for all functions
    in -rsi output
2010-03-05 18:55:39 +01:00
Nibble
cacfd691c3 * Fix xref issues in functions with size=0
* Fix "Invalid command" in foreach (@@)
* Fix set arch+bits
* Update r_bin test in python bindings
2010-03-05 13:18:44 +01:00
Nibble
ac957c4f32 * r_core_anal
- Print unconditional jumps arrows in blue
* Reorganize bindings tests

--HG--
rename : swig/test/perl/bin.pl => swig/perl/test-r_bin.pl
rename : swig/test/python/bp.py => swig/python/test-r_bp2.py
rename : swig/test/python/num.py => swig/python/test-r_num.py
rename : swig/test/ruby/bin.rb => swig/ruby/test-r_bin.rb
2010-03-05 11:06:07 +01:00
Nibble
be3c941d30 * r_core
- Add command "sb" seek aligned to bb start
  - Nice 'abl' and 'ab*' output
  - Fix 'af+' parsing
2010-03-03 18:05:24 +01:00
Nibble
f0e1c8ef78 * rabin2
- Flag imports and symbols as fcn. under the namespace 'functions'
* r_core_anal
  - Flag analyzed function
  - Implement agf
  - Minor fixup (check if r_io_read_at returns blocksize)
* r_util
  - Fix r_str_word_getfirst
2010-03-03 14:35:18 +01:00
Nibble
92eb296f9f * More work on command 'af'
- now refs and xrefs are working
2010-03-03 12:35:23 +01:00
Nibble
f163a08aea * r_anal
- Add r_anal_fcn
* r_core
  - Implement 'af' subcommands
  - 'af @ [addr]' needs more work
2010-03-03 12:08:27 +01:00
Nibble
2c858d2b93 * r_core
- Reorganize help of cmd 'a'
  - Add commands:
    ab+ [addr] [size] [jump] [fail] ; Add basic block
    abl ; List basic blocks
    ab* ; Output radare commands
  - Minor fixups in ag (add r_cons_flush)
2010-03-03 03:03:01 +01:00
Nibble
1219a2ae40 * r_core_anal
- Avoid dupped graphviz code in partial graphs (ag [addr])
    (multiple arrows between nodes)
2010-03-02 01:04:17 +01:00
Nibble
ebb1b4d1da * r_core_anal
- Rename ac into ab
  - Add cmd ab- [addr] to remove bb data
  - Add cmd ag  [addr] to graph the specified bb and childs
2010-03-01 20:13:36 +01:00
Nibble
1038c46565 * r_core_anal
- Avoid bb overlapping
  - Code refactoring
* r_anal
  - Add r_anal_split and r_anal_overlap
2010-03-01 16:50:37 +01:00
Nibble
7f267f51ca * Fix build
- Remove references to r_bininfo from r_core.pc.acr
  - Remove r_bininfo.pc.acr
* r_core
  - Set 'asm.bytes = false' in graphs
2010-03-01 01:57:16 +01:00
Nibble
cbb5fe143b * r_anal
- Update build system
  - Fix analysis of bb longer than blocksize
  - Code cleanup
* build
  - Add anal plugins to plugins.def.cfg
2010-02-28 20:07:36 +01:00
Nibble
6f78ad9eca * Add var anal.depth
- Allows to define analysis depth. Default: 10
* Fix analysis algorithm
  - Split is working right, overlap is not yet considered
2010-02-27 19:12:06 +01:00
Nibble
6ff04b0869 * r_list
- Fix r_list_unlink
  - Add r_list_split and r_list_split_iter
* r_core_anal
  - Split basicblocks (only 1 entrypoint and 1 exitpoint)
* r_anal
  - Add field addr to RAnalysisAop
2010-02-27 15:56:07 +01:00
Nibble
ee4ef8fa91 * Fix BB analysis algorithm
* Add r_core_anal_graph function
  - Generates graphviz code from "ac" data
* Add command "ag" to r2 (Output graphviz code)
2010-02-27 11:56:41 +01:00