radare2/libr
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
..
anal * Initial working basic block conditional decompilation 2010-06-16 21:44:19 +02:00
asm * More fixes on build system 2010-06-15 14:10:42 +02:00
bin * More fixes on build system 2010-06-15 14:10:42 +02:00
bp * More fixes on build system 2010-06-15 14:10:42 +02:00
cmd * More fixes on build system 2010-06-15 14:10:42 +02:00
config * r_core 2010-05-28 10:17:24 +02:00
cons * Fix the build of radare2 and radiff2 2010-06-15 01:23:34 +02:00
core * Initial working basic block conditional decompilation 2010-06-16 21:44:19 +02:00
crypto * More fixes on build system 2010-06-15 14:10:42 +02:00
db * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm 2010-06-13 11:59:17 +02:00
debug * Initial working basic block conditional decompilation 2010-06-16 21:44:19 +02:00
diff * Workaround for r_debug_recoil() 2010-06-15 00:59:32 +02:00
flags * More work for 'binr'. Hopefully everything is done now :) 2010-05-29 13:24:47 +02:00
hash * Move all the r2 programs into binr/ 2010-05-29 03:30:36 +02:00
include * Initial working basic block conditional decompilation 2010-06-16 21:44:19 +02:00
io * More fixes on build system 2010-06-15 14:10:42 +02:00
lang * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
lib * Fix build of binr/ 2010-06-15 00:46:18 +02:00
line * Some fixes in make all/clean 2010-06-14 16:20:54 +02:00
meta * Refactoring 2010-05-20 17:40:58 +02:00
parse * More fixes on build system 2010-06-15 14:10:42 +02:00
pkgconfig * Build all pkgconfig files (fixes valaswig stuff) 2010-01-25 11:54:25 +01:00
print * Refactoring 2010-05-20 17:40:58 +02:00
reg * Initial implementation of the subclassed RLFList class 2010-06-16 09:42:46 +02:00
search * More work for 'binr'. Hopefully everything is done now :) 2010-05-29 13:24:47 +02:00
sign * Refactoring 2010-05-20 17:40:58 +02:00
socket * strnlen helper in format/elf/elf.c is now static inline 2010-04-14 13:28:56 +02:00
syscall * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
sysproxy
th * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
util * More work on 'at' command 2010-06-04 23:47:35 +02:00
vm * Mental note: %lld/%llx does not exist on windows 2010-04-14 13:02:23 +02:00
config.h.head * Add support to ARM for the debugger 2010-02-03 14:34:00 +01:00
config.h.tail * Initial import of the 'configure-plugins' script 2010-01-13 23:42:49 +01:00
config.mk.head * Initial import of the 'configure-plugins' script 2010-01-13 23:42:49 +01:00
config.mk.tail * r_core 2010-06-15 13:10:46 +02:00
depgraph.pl * Export 'srwx' perms of sections in rabin2 -rS 2010-04-08 12:29:47 +02:00
libr.pc.acr * Added r_reg pkgconfig file 2009-09-20 00:28:06 +02:00
Makefile * Initial implementation of the subclassed RLFList class 2010-06-16 09:42:46 +02:00
README * Clean TODO files 2010-05-21 01:46:26 +02:00
rules.mk * More fixes on build system 2010-06-15 14:10:42 +02:00
stripsyms.sh * Apply whats's patch fixing r_search for stripstr 2009-10-12 17:41:52 +02:00
TODO * Clean TODO files 2010-05-21 01:46:26 +02:00

                                 ___ ___
  =========================     |  _\_  \
  libr - codename 'radare2'     |   /  _/
  =========================     |_|__\__\


LibR is the refactoring of the old radare1 core in a set of libraries
defining the APIs of radare2.

The library 'libr' is composed by different modules, each one implementing
working modules of radare, so then, we get a complete set of libraries for
analyzing code, disassembling bytes, dumping bytes, plugin handling, etc..

The 'R' is for refactoring, reversing, radare, ...

Each module has its own test directory (t/) which contains simple applications
using the upper directory code and linking against the direct dependencies.

Each mode can own a plugin directory (p/) that contains extensions for the
parent library module (libr/asm/p/asm_x86).

There's also the possibility to define a list of static plugins to be built
inside the parent module. This way you can avoid some flexibility to ease
portability and build single binaries with some embedded features.

The library can be used from 'pkg-config', this way you can easy build an
application or plugin that links against libr or just few elements of it.

This enables a fine-grained test level for checking all functionalities in
one shot and give us the opportunity to write radare2 as test programs.

  --pancake