Coder Social home page Coder Social logo

I enjoy building secure and correct systems. I have built a number of static analysis and automated verification tools, with a recent focus on analysis of binaries.

Repositories

Data Structures

Data structures that may be generally useful

  • haggle [37 ⭐ 📖]: An efficient graph library for Haskell
  • persistent-vector [27 ⭐ 📖]: Persistent vectors for Haskell based on array mapped tries
  • robbed [4 ⭐]: A pure Haskell implementation of Reduced Ordered Binary Decision Diagrams (BDDs)

Program Analysis

  • ql-grep [3 ⭐]: A code search tool that implements CodeQL on the tree-sitter infrastructure
  • build-bom [45 ⭐]: Dynamically discover the commands used to create a piece of software
  • whole-program-llvm [664 ⭐]: A wrapper script to build whole-program LLVM bitcode files; note that I consider this to be obsoleted by build-bom, which takes a more robust approach to the same problem
  • itanium-abi [12 ⭐ 📖]: An implementation of C++ name mangling for the Itanium ABI
  • what4-serialize [0 ⭐]: Serialization/deserialization for What4 expressions

Binary Analysis

  • crepitans [2 ⭐]: A tool for scriptable exploration of binaries
  • dismantle [24 ⭐]: A library of assemblers and disassemblers derived from LLVM TableGen data
  • portable-executable [3 ⭐]: Tools for working with the Windows Portable Executable (PE) file format
  • semmc [34 ⭐]: Stratified synthesis for learning machine code instruction semantics
  • macaw [191 ⭐]: Open source binary analysis tools.
  • macaw-loader [5 ⭐]: Uniform interface to load a binary executable and get Macaw Memory and a list of entry points.
  • renovate [46 ⭐]: A library for binary analysis and rewriting
  • language-sleigh [5 ⭐]: A parser for the Sleigh language, which is used to represent ISA semantics in Ghidra
  • mctrace [5 ⭐]: An implementation of DTrace for machine code

Debugging Tools

  • ddmin [3 ⭐]: An implementation of delta debugging (ddmin) in Haskell
  • surveyor [18 ⭐]: A symbolic debugger for C/C++ (via LLVM), machine code, and JVM programs
  • binary-walkr [2 ⭐]: A tool for examining ELF binaries

Solvers

Note that these are interesting and informative, but definitely not efficient enough to use in production

  • satisfaction [2 ⭐]: A DPLL SAT solver written in Haskell
  • datalog [102 ⭐]: A pure Haskell implementation of Datalog
  • ifscs [4 ⭐ 📖]: An inductive form set constraint solver in Haskell
  • satir [1 ⭐]: An implementation of a SAT solver in Rust

Emacs Packages

Others

  • taffybar [688 ⭐ 📖]: A gtk based status bar for tiling window managers such as XMonad; now maintained by Ivan Malison
  • travitch [1 ⭐]: The code for my Github profile page, which generates this page
  • blog [3 ⭐]: The code for my blog (ravit.ch)
  • dotfiles [0 ⭐]: A collection of dotfiles managed by Chezmoi

Tristan Ravitch's Projects

archive-inspection icon archive-inspection

A library providing a uniform interface to traversing the contents of tarballs and zip archives

blog icon blog

The code for my blog (ravit.ch)

build-bom icon build-bom

Dynamically discover the commands used to create a piece of software

bv-sized icon bv-sized

A bitvector datatype that is parameterized by the vector width.

chatter icon chatter

A library of Natural Language Processing algorithms for Haskell.

crepitans icon crepitans

A tool for scriptable exploration of binaries

crucible icon crucible

Crucible is a library for symbolic simulation of imperative programs

dalvik icon dalvik

Haskell parser for Dalvik bytecode

datalog icon datalog

A pure Haskell implementation of Datalog

ddmin icon ddmin

An implementation of delta debugging (ddmin) in Haskell

dotfiles icon dotfiles

A collection of dotfiles managed by Chezmoi

dwarf-writer icon dwarf-writer

Updates DWARF debug sections with info obtained through disassembly

file-embed icon file-embed

Use Template Haskell to embed file contents directly.

haggis icon haggis

A static site generator with blogging/comments support

haggle icon haggle

An efficient graph library for Haskell

haskell-gi icon haskell-gi

A Haskell binding generator based on GObject Introspection.

hbgl-experimental icon hbgl-experimental

An experimental alternative take on a graph library for Haskell (inspired by fgl and the Boost Graph Library)

hsqml icon hsqml

A fork of hsqml with some extra features

humidor icon humidor

A Qt binding generator for Haskell based on Smoke

husk-scheme icon husk-scheme

A full implementation of the Scheme programming language for the Haskell Platform.

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.