Giter Club home page Giter Club logo

rair's Introduction

RAIR License: GPL v3

Travis CI: Build Status

AppVeyor: Build status

RAIR is a work in progress rewrite of radare2 in rust with these goals:

  • native speed.
  • simpler building system.
  • zero cost memory safety.
  • smooth translation to multithreading.
  • extremely stable and well documented API.

It was hard to decide how to start this project and there was mainly two approaches

A) start rair completely from scratch.

B) replacing parts from radare till it all becomes written in rust.

I prefered the later approach because it will make rair usable right from the begining and it will be testable with radare2-regressions.

Get started

Currently rair depends almost completely on libr so the simplest way to have libr installed is to install radare2 fully first then installing rair.

$ git clone https://github.com/radare/radare2.git
$ git clone https://github.com/oddcoder/rair.git
$ cd radare2
$ sys/install.sh
$ cd ../rair
$ cargo install

Current status

Module Rust Porting Documentation Testing
R2agent NA NA NA
R2pm NA NA NA
Rabin NA NA NA
Ragg NA NA NA
Rahash Done -h Done
Rarun NA NA NA
Rair NA NA NA
Ragg-cc NA NA NA
Rasm NA NA NA
Rax NA NA NA
Radiff NA NA NA
Rafind Partial -h Done
r_anal NA NA NA
r_asm NA NA NA
r_bin NA NA NA
r_bp NA NA NA
r_config Partial NA Done
r_cons Partial FFI NA NA
r_core NA NA NA
r_crypto Partial FFI NA NA
r_debug NA NA NA
r_egg NA NA NA
r_flag NA NA NA
r_fs NA NA NA
r_hash Partial FFI NA NA
r_io Partial FFI NA NA
r_lang NA NA NA
r_magic NA NA NA
r_parse NA NA NA
r_reg NA NA NA
r_search Partial NA Done
r_socket NA NA NA
r_syscall NA NA NA
r_util Partial FFI NA NA

Get involved

Regardless to how skilled you are, there will always be something for you to do! I always try to keep the code base clean. This is list of what you can do from easy to the more challenging:

  • Improve this readme.
  • Add support for code coverage / travis / and other CI systems
  • Document already exisiting functions.
  • fix one of cargo clippy warnings.
  • Refactor the current codebase, there are many long functions and breaking them down is really usefull.
  • Write unit tests/ fuzz rair
  • imlement one or more of these:
    • rabin2
    • radiff2
    • ragg2
    • rasm2
    • radare2
    • ragg2-cc
    • rarun2
    • rax2

rair's People

Contributors

oddcoder avatar mdaniel avatar

Watchers

James Cloos avatar Adam W. Hawks 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.