Giter Site home page Giter Site logo

billymeter / radare2-extras Goto Github PK

View Code? Open in Web Editor NEW

This project forked from radareorg/radare2-extras

0.0 2.0 0.0 6.98 MB

Source graveyard and random candy for radare2

Home Page: http://www.radare.org/

License: GNU Lesser General Public License v3.0

Shell 0.23% Makefile 0.74% C 83.59% Rebol 0.16% Groff 0.08% R 0.01% CSS 0.15% Awk 0.22% C++ 12.04% Objective-C 0.42% D 0.01% Vala 0.96% Assembly 0.06% Python 0.37% JavaScript 0.46% HTML 0.51%

radare2-extras's Introduction

radare2-extras

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.

radare2-extras's People

Contributors

radare avatar jody-frankowski avatar xvilka avatar jroimartin avatar wardjm avatar

Watchers

Brad Trotter avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.