737 Commits

Author SHA1 Message Date
pancake
5399367daa * Propagate two arguments for conditionals
* Rename RLFList to ROFList (25.2% funnier than before)
2010-06-18 00:06:19 +02:00
pancake
c8da941768 * Very early work on r_anal_call api
* Initial support for visual cursor with invert cons in 'pd' bytes
  - Some changes in '*' and '/' keys in visual modes (+-16)
  - '+/-' in visual cursor works as in r1 (inc/dec cursor byte)
* Rename 'zf' into 'zh' for header, not function
  - 'zf' stands now for function signatures (args, types, ret, ...)
2010-06-17 17:55:39 +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
23ad3d2415 * Added asm.linescall=false (default)
- Implemented in anal_reflines to skip call analysis for lines
* Set dbg.trace=true by default
* Display trace count and times in 'pd' (asm.trace)
  - counter starts as 1, not 0 :)
* Added 'absolute' variable in RAnalValue (not yet used..)
  - Defines the sign of the value (needs arch-dependent code)
* Sync TODO files
2010-06-17 02:22:50 +02:00
pancake
882d7efa7b * Add more 'cmp' opcodes support in analysis for x86
* memref now specifies the size of pointer
  - this is serialized as a cast (char) ..
  - no sign support yet
2010-06-17 01:48:51 +02:00
pancake
c528edf318 * Link r_reg when r_anal 2010-06-17 00:04:57 +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
pancake
a580ff4fa8 * Initial implementation of the subclassed RLFList class
- Implements a serialized RFList inside a RList container
  - Allows faster scans on contents
* Initial import of the RAnalCond/Value code
  - Not yet usable..just refactoring..
  - Handle null pointers in reg classes
* Added not-yet-working emit_arm.c for r2rc tool
2010-06-16 09:42:46 +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
5751019088 * Build
- symstall pkgconfig
  - Fix symstallation of plugins
2010-06-15 15:31:17 +02:00
Nibble
414f5a38bc * More fixes on build system
- 'make mrproper' now works like 'hg purge --all'
  - More fixes on 'make clean'
  - Remove some missing -Wl,-R
2010-06-15 14:10:42 +02:00
Nibble
19dfb38b23 * r_core
- Fix segfault (pancake)
* Build
  - Remove rpath stuff
  - Simplify Makefiles
  - Add rafind2 to binr/Makefile
  - Add symstall to binr and r2rc
  - Fix minor deinstall issues
2010-06-15 13:10:46 +02:00
Nibble
2d81aabbd5 * Fix the build of radare2 and radiff2
* Remove r_line dep from cons/t/Makefile
* Build r_cons before r_line in libr/Makefile
2010-06-15 01:23:34 +02:00
pancake
4476148913 * Workaround for r_debug_recoil()
* Simplify build of r_diff (nibble)
* Add debugger breakpoint test script
2010-06-15 00:59:32 +02:00
pancake
16089bb6e9 * Fix build of binr/
- Some missing deps everywhere
* Initial work for RAnalCond
2010-06-15 00:46:18 +02:00
Nibble
1c59267c88 * Fix segfault in cmd 'agd offset' 2010-06-14 19:35:44 +02:00
Nibble
aa762573b5 * Fix r_debug build
* More random fixes in r_anal
2010-06-14 18:52:49 +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
pancake
0006bf0564 * Fix segfault and infinite loop in 'dct' command 2010-06-13 12:51:44 +02:00
pancake
79e78ea47d * Fix ffio and io_ptrace return value when read error 2010-06-13 12:40:01 +02:00
pancake
ca8a2a9280 * Fix segfault in malloc:// IO backend
* Catch error in core to avoid future issues
2010-06-13 12:24:07 +02:00
pancake
f0cca138db * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm
* Added 'ata' command to specify a list of valid traceable adddresses
* some initial work on r_db.. iterators not yet supported
2010-06-13 11:59:17 +02:00
pancake
d27e461811 * Fix linking issues reported by matalaz (Thanks!) 2010-06-06 23:26:11 +02:00
pancake
c9a403cf71 * More work on 'at' command
* RRange ported to r_list (not yet tested)
* Fix r_cmd.vapi RCmdPlugin struct definition
2010-06-04 23:47:35 +02:00
pancake
b7c554b24a * Some linkage fixes for binr/
* Added 'at' command (not yet implemented at all)
  - Some refactoring in r_debug_trace code
  - Remove deprecated r_trace.h
2010-06-04 00:56:44 +02:00
pancake
8a40844199 * List cmd plugins when ':' command is executed
- Added ->desc field in RCmdPlugin
2010-06-03 11:53:42 +02:00
Nibble
629acd799d * r_anal
- Minor fixup in r_anal_bb_free
  - Init aop->mnemonic = NULL in r_anal_aop_new
2010-06-03 11:31:23 +02:00
pancake
fdb0cf4229 * Do not warn in r_lib until R_DEBUG env is defined 2010-06-03 10:57:34 +02:00
pancake
96c7eabd46 * Add -M (get main) in r_bin_pe 2010-06-03 02:23:50 +02:00
pancake
9ceeae1f54 * Added refptr in RAnalOp
- Used only from ARM code analysis
* Implement ELF get_main for ARM ELF's
2010-06-02 23:36:05 +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
f1b88d61b5 * Apply Jan's patch for fixing r2rc-tool 2010-06-01 08:54:37 +02:00
Nibble
c63963c598 * Fix binr/Makefile (thanks jan! :) 2010-05-31 19:59:31 +02:00
Nibble
fcc6b8d013 * Add flag -M to rabin2 at radare2 startup and cg
* Add r_asm_mdisassemble_hexstr
* Update r_asm.vapi
2010-05-30 13:00:21 +02:00
Nibble
2f43431e80 * r_bin
- Add r_bin_get_main
  - Implement get_main for elf32 & elf64
  - Rename RBinEntry to RBinAddr
* rabin2
  - Add flag -M to output main offset and va
* bindings
  - Update r_bin.vapi
  - Minor fixup in r_util.vapi
2010-05-30 06:06:25 +02:00
Nibble
6fa84400a6 * r_bin_elf
- New method to resolve the base address
  - Fix bug in bins with bin->ehdr.e_phnum = 0
  - Fix resolution of symbol address in relocatable bins
2010-05-29 17:11:41 +02:00
Nibble
e9e8740a62 * Build
- update pkgconfigs
  - dont run rpathdel on tests
  - build r_crypto
* Bindings
  - Fix vapis (add missings headers r_list.h, r_types_base.h)
2010-05-29 14:04:50 +02:00
pancake
64c329d297 * More work for 'binr'. Hopefully everything is done now :) 2010-05-29 13:24:47 +02:00
pancake
eb05e6a6b2 * Move all the r2 programs into binr/
- Little cleanup of the build system
2010-05-29 03:30:36 +02:00
Nibble
c7b2579c8b * merge 2010-05-28 17:32:30 +02:00
Nibble
aee2477618 * bindings
- Add r_asm.deps
  - Add r_cmd.deps
  - Add r_config & r_asm to r_core.deps
  - fix r_asm.vapi
2010-05-28 17:31:43 +02:00
pancake
49f09cc421 * Initial refactor to build libr bins (binr) out of libr
- Cleaner build/install
2010-05-28 17:15:20 +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
4235dd2a8e * Fix bug with static plugins
* Treat r_cons and r_line as singleton in r_core_init
* Move gdiff to r_core
* Fix libgmp support

--HG--
rename : libr/diff/gdiff.c => libr/core/gdiff.c
rename : libr/diff/gdiff.h => libr/core/gdiff.h
2010-05-28 02:44:51 +02:00
Nibble
083ebe4832 * r_core
- Fix segfault in r_core
* r_bin
  - Minor fixup in r_bin_load
  - Move plugin pointers to r_bin.h
2010-05-27 19:58:54 +02:00
Nibble
cbdfc5ec77 * Fix io.va bug in r_io 2010-05-27 01:18:30 +02:00
Nibble
8ab4969851 * some more renaming 2010-05-27 00:57:25 +02:00