Coder Social home page Coder Social logo

olivierh59500 / fuzzer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from silviocesare/fuzzer

0.0 1.0 0.0 1.88 MB

Sequitur (context free grammar) fuzzer, maximum code coverage/set covering, plus other tools.

License: Other

C++ 48.96% Shell 0.56% C 48.67% Makefile 0.43% Perl 1.39%

fuzzer's Introduction

These are some really quick scripts and code I wrote for fuzzing. I don't fuzz or have fuzz farms or even fuzz for more than 2 minutes at a time once every 4 years. It's not production quality code - but for an example of sequitur based fuzzing, you might have trouble finding anything else public.

--

SequiturFuzzer based fuzzing constructs context free grammars from binary input, mutates the grammar, then executes the grammar to create binary output. This a pipeline oriented tool and you might want to check the code in Launcher/SequitorFuzzer.sh for an example of how to use it. OK. I'll give you an example -->

	cat $filename | ./Sequitor|./SequitorFuzzer|./SequitorOutput > $mutatedfile

You'd be suprised how little code is required to implement this since I reused an existing sequitur library. The spelling is wrong in my code, it's sequitur not sequitor.

Two papers that reference sequitur and context free grammar based fuzzing -->
http://www.usenix.org/event/lisa06/tech/slides/kaminsky.pdf
http://www.usenix.org/event/woot08/tech/full_papers/viide/viide.pdf

-

MutationFuzzer based fuzzing mutates binary input.

-

FuzzerCodeCoverage is essentially Dion Blazakis' pintool to extract code coverage through dynamic binary instrumentation.

-

MaximumCoverage takes in a set of code coverage results from FuzzerCodeCoverage and generates an ordering of the runs so that maximum code coverage is achieved with the minimum number of runs at each step.  The percentage of covered code is also given for each new run.

-

CodeCoverageSoFar is a tool to generate data for graphs on code coverage given an ordered list of runs.

-

Launcher is some scripts and code to launch fuzzing runs. The shell scripts won't work for you unless you modify them.

--
Silvio Cesare
silvio.cesare _a_t_ gmail _d_o_t_ com
Deakin University

fuzzer's People

Contributors

silviocesare avatar

Watchers

Olivier Houte 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.