rizin/libr
pancake ca8a2a9280 * Fix segfault in malloc:// IO backend
* Catch error in core to avoid future issues
2010-06-13 12:24:07 +02:00
..
anal * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm 2010-06-13 11:59:17 +02:00
asm * More work on 'at' command 2010-06-04 23:47:35 +02:00
bin * Add -M (get main) in r_bin_pe 2010-06-03 02:23:50 +02:00
bp * Fix bug with static plugins 2010-05-28 02:44:51 +02:00
cmd * List cmd plugins when ':' command is executed 2010-06-03 11:53:42 +02:00
config * r_core 2010-05-28 10:17:24 +02:00
cons * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
core * Fix segfault in malloc:// IO backend 2010-06-13 12:24:07 +02:00
crypto * Fix bug with static plugins 2010-05-28 02:44:51 +02:00
db * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm 2010-06-13 11:59:17 +02:00
debug * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm 2010-06-13 11:59:17 +02:00
diff * Move all the r2 programs into binr/ 2010-05-29 03:30:36 +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 * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm 2010-06-13 11:59:17 +02:00
io * Fix segfault in malloc:// IO backend 2010-06-13 12:24:07 +02:00
lang * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
lib * Do not warn in r_lib until R_DEBUG env is defined 2010-06-03 10:57:34 +02:00
line * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
meta * Refactoring 2010-05-20 17:40:58 +02:00
parse * Fix bug with static plugins 2010-05-28 02:44:51 +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 * More work for 'binr'. Hopefully everything is done now :) 2010-05-29 13:24:47 +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 * Make r_cons independent from r_line 2009-04-07 11:28:22 +00:00
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 * Fix bug with static plugins 2010-05-28 02:44:51 +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 * Some linkage fixes for binr/ 2010-06-04 00:56:44 +02:00
README * Clean TODO files 2010-05-21 01:46:26 +02:00
rpathstrip.sh * Build 2010-05-29 14:04:50 +02:00
rules.mk * Initial split of r_search_keyword 2010-04-05 22:49:22 +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