Giter Site home page Giter Site logo

rair-project / rair-core Goto Github PK

View Code? Open in Web Editor NEW
71.0 4.0 12.0 1.55 MB

RAIR: RAdare In Rust

License: GNU Lesser General Public License v3.0

Rust 99.76% Shell 0.24%
reverse-engineering exploitation malware-analysis disassembler framework forensics radare2 rust radare static-analysis

rair-core's Introduction

RAIR-CORE

Badge
License License: LGPL v3
Travis CI Build Status
Code Coverage codecov
API API
Chat Discord

If you are looking for the command line interface check rair

Current status

Module Rust Porting Documentation
rcore ✔️ API
renv ✔️ API
rio ✔️ API
rtrees ✔️ API
R2agent NA NA
R2pm NA NA
Rabin NA NA
Ragg NA NA
Rahash NA NA
Rarun NA NA
Ragg-cc NA NA
Rasm NA NA
Rax NA NA
Radiff NA NA
Rafind NA NA
r_anal NA NA
r_asm NA NA
r_bin NA NA
r_bp NA NA
r_cons NA NA
r_crypto NA NA
r_egg NA NA
r_hash NA NA
r_lang NA NA
r_magic NA NA
r_parse NA NA
r_reg NA NA
r_search NA NA
r_syscall NA NA

rair-core's People

Contributors

oddcoder avatar siamx avatar thewalker77 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rair-core's Issues

Implement better BKTree distance

Typically we would need proper Damerau–Levenshtein distance, or better a normalized one! But these algorithms are cruel they work with -1 based arrays so we need to create our own data type first that can shift base index in standard vectors delegate all vec functionality.

rair can not open empty files

Rair can not open empty files:

Unrecoverable Error: memory map must have a non-zero length
Exiting!

Radare2 does not have this issue.

Allow gaps in RIOdesc

That will be useful for plugins like the ihex one which allows having gaps in the physical address space.

SIMD-accelerated Levenshtein/restricted Damerau-Levenshtein distance/etc.

Hello, I was looking through BK-tree implementations and I found your rtrees library. I am working on efficient edit distance calculations through SIMD in my library here, and I was wondering whether you were interested in adding some additional edit distance metrics for the BK-tree implementation. I think it would be an interesting addition, and I would be willing to work on a pull request.

Add command for loading script files

Typically I am looking for a source command that can be used to load a full script. the thing is that it is hard to figure out where would this command fits. It can't fit into core because it requires paring/input output redirection which is part of rair CLI and at the same time we don't have mechanisms to implement custom out-of-core commands yet.

Implement TUI

The options we have

  • TUI-rs:- The demos for this one make it feels like this is the one.
  • Curvise:- It can work on windows down till windows 7 based on the backend selected.

Implement RIO plugins

  • srec:// Motorola S-record file encoding. Done via #62
  • base64:// for loading base64 file formats. Done via #61
  • malloc:// for memory allocation based files. Done via #60
  • Allow opening files in COW( Copy-On-Write mode). Done via #55 cow://: open file as read write except for data is not written the real file itself. instead to a memory copy.
  • ihex:// : load Intel Ihex File coding. Done via #57

Add suport for envirionment variables

basically I have these in mind.

  • color palettes. (via #74 )
  • Enable/disable coloring. (via #75)
  • Which colors does each command use from the palettes. (via #76)
  • Auto update.
  • how the prompt looks like.

Allow custom plugins environment variables. plugin like ihex would need env var like checksume= true or false this will be hard to utilize or even impossible.

0.1 List of commands that are missing

  • Commands to open close and list files. Done via #63 .

  • commands to print data stream with varios bases. Done via #64 .

  • Command to write into file (wx and variations). Done via #65 .

  • Command to write from memory to file (similar to wtf in radare2). Done via #65.

  • Command to list IO plugin.

  • ? Command to list help everything.

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.