Giter Site home page Giter Site logo

falcon's Introduction

Build Status

Welcome to Falcon

Falcon is a formal binary analysis framework in Rust. Falcon seeks to implement data-flow analysis, abstract interpretation, and constraint solving over compiled, binary executables.

  • Expression-based IL with strong influences from Binary Ninja LLIL and RREIL.
  • Semantically-equivalent binary translation.
  • IL can be translated to smtlib2 (z3) and solved for. Under-pinnings for symbolic execution provided.
  • Fixed-point engine for data-flow analysis and abstract interpretation. Basis analyses provided.
  • Lifters for Binary formats (initially Elf). This includes run-time linking, assuming dependencies are provided.

Questions / Support

  • Documentation is available here.
  • I am idling in irc.freenode.net#rust-falcon.
  • You can also find me in the Binary Ninja slack under the name "endeavor".

Should I use Falcon? / When will Falcon be stabilized?

Falcon has hit 0.1.0. This means:

  • "Things are working," but, "Everything has not been flushed out."
  • Falcon is capable of producing results for toy binaries.
  • I am ready for people to open issues, and receive feedback.

There will most likely be some API changes in the next few releases. If you aren't actively developing on Falcon, I recommend you use a tagged released.

Building

As of 1.18, everything, including docs, builds with rust stable.

You will need the correct dependencies for bindgen to build the capstone bindings, as well as z3 on the commandline. The Dockerfile has everything required to get you set up.

For OSX (on which I'm developing), brew install z3 seems to be enough to make things work, as well as a typical rust install.

falcon's People

Contributors

endeav0r avatar

Stargazers

Mohammed Makhlouf (Mak) avatar

Watchers

 avatar  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.