Source graveyard and random candy for radare2
C POV-Ray SDL C++ PHP Python Makefile Other
Latest commit 4f9dfe8 Oct 10, 2017 @radare radare Release 2.0.0
Permalink
Failed to load latest commit information.
Attic/r_db Add an Attic Jun 17, 2016
agc Added AGC analysis plugin Aug 2, 2016
baleful Fix in esil expresion for ROL and AND (#66) Sep 3, 2016
bcl Dwarf reloaded (#91) Jan 10, 2017
binarly Initial import of the r2's binarly plugin May 2, 2016
binr/old.rarc2 Add an Attic Jun 17, 2016
blessr2 uhm workaround to avoid a blessr2 crash Dec 21, 2016
doc.sw More readme editions Jan 3, 2015
docker Add Docker folder with go & java dockerfile Apr 28, 2016
dwarf fix get_num_from_attr, add help, improve json output, fix type output ( Jul 3, 2017
examples/my-cpu Fixed my-cpu Makefile to not assume dylib Apr 3, 2016
kaitai Add r2kaitai Mar 25, 2017
kdp Update README.md Sep 3, 2015
keystone Release 1.5.0 May 30, 2017
libr mdmp: bump to latest pe changes Oct 2, 2017
lief Add dummy PE.lief plugin Jul 26, 2017
lua53 Fix last coverities for lua53 Apr 5, 2017
md380 After release version bump, Do not plugins/plugins in md380.bin May 31, 2017
microblaze microblaze architecture plugin (asm) + wip anal Feb 27, 2016
pimp pimp: sync with pimp's repo (#134) Sep 12, 2017
r2angr Initial import of the r2wars game Jun 10, 2017
r2k Indent fixes for r2k-linux Sep 10, 2017
r2snowman Aim to fix the r2snow build by travis Jan 10, 2017
r2w Initial import of radare2-extras hg repo Aug 14, 2012
r2wars Update README.md Aug 13, 2017
ramoji2 Add ramoji2 Apr 4, 2016
rar rar disassembler and bin plugin moved from r2 to r2e Apr 11, 2017
rust-asm6502 Support the new plugin API (#112) Apr 6, 2017
scriptcraft Add Scriptcraft stuff to integrate r2 and minecraft Apr 13, 2015
ssdeep Release 1.5.0 May 30, 2017
sys Add cherrypull.sh helper script Mar 13, 2016
unicorn Fix null deref crash in unicorn plugin Jan 22, 2017
yara Release 1.5.0 May 30, 2017
zpu changes as per review comments Aug 31, 2016
.gitignore Remove generated Makefile and options.mk (#56) Jul 25, 2016
.travis.yml travis: actually test the pull requests Oct 2, 2017
COPYING Add libr/asm/p (arm and ppc only), license and more make fixes Jan 3, 2015
COPYING.LESSER Add libr/asm/p (arm and ppc only), license and more make fixes Jan 3, 2015
Makefile.acr fix obsolete yara2/3 reference in Makefile.acr (#85) Dec 28, 2016
README.md Add travis badge Feb 1, 2017
autogen.sh Regenerate all configure scripts from autogen.sh Jan 3, 2015
configure Release 2.0.0 Oct 9, 2017
configure.acr Release 2.0.0 Oct 9, 2017
options.mk.acr Move libext to /options.mk May 23, 2016

README.md

radare2-extras Build Status

This repository contains extra plugins for radare2.

The reasons why those plugins are distributed in a separate repository are the following:

  • Depends on external libraries (yara, ewf)
  • Marginal/specific use (ctf-specific asm/anal vm f.ex)
  • r2 must be self-contained (no optional/external deps)
  • Simplify packagers work, and makes it more flexible
  • Duplicates functionality from r2 (no need to have multiple disassemblers for the same arch in core)

The compiled plugins will be installed at

/usr/lib/radare2-extras/$(VERSION)

Some of the plugins/code doesnt compiles, it will be reviewed and cleaned up, merged into core, updated or removed.

In addition, this repository will be useful to new contributors, comers who want to write his own r2 plugins for example.

The aim of this repository is to make the master radare2 repository to be as concise as possible, and reduce the amount of unnecessary plugins to shrink the install size and keep it usable for 99% of users.

Building

To build radare2-extras, just follow the common gnu-configure steps:

./configure --prefix=/usr
make baleful
make baleful-install

To install yara3 and the r2 plugin:

./configure --prefix=/usr
make install-yara3
make yara3
make yara3-install

Note the symstall instead of install will symlink the plugins instead of copying them. This way you can just avoid installing every time you build. This installation method is prefered for developers.

Each module may have it's own configure script, this way packagers can create plugin-specific packages like this:

radare2-extras-yara -> yara plugin

Directories

  • yara/yara2 yara/yara3

    yara2/3 command. Depends on libyara

  • libr/asm/p

    Contains assembler/disassembler plugins:

    • m68k
    • armthumb
    • psosvm
    • ppc
  • libr/bin/p

    Bin-related plugins:

    • dlang demangler
  • libr/anal/p

    Contains code analysis plugins

  • libr/vm

    Contains the initial implementation of ESIL. It is kept for historical reasons, but will be removed soon or late.

  • libr/cmd

    very work-in-progress core cmd plugins for historical reasons, but will be removed soon or late.

RFC

In addition we should add sys/*.sh files to fetch and build the plugins and dependencies if needed (yara.sh) to allow git users to get the proper version installed without depending on the pkgsystem.

We could still provide one-liners to help them. We should keep different versioning numbers for each plugin..

radare2-extras-yara3-0.9.9-0.1
[pkgname] [modname] [r2version] [modversion]
  • Do we need a radare2-extra-regressions then?

I would just add the tests inside the radare2-extras/libr/core/p/yara/t/ for example.. and just make those tests run from inside that repo, no need to add more repos because those plugins would be pretty contained.

  • What about checking all the tests right away?

Also maybe the plugins depend on some r2 behavior, that has been broken, and we need to test for that jenkins should run those tests don't know much about jenkins, so i won't say much. just hoping it covers all our bases.