oyjb / flayer Goto Github PK
View Code? Open in Web Editor NEWThis project forked from wdv4758h/flayer
Automatically exported from code.google.com/p/flayer
This project forked from wdv4758h/flayer
Automatically exported from code.google.com/p/flayer
Flayer & LibFLayer Will Drewry <[email protected]>, Tavis Ormandy <[email protected]> Copyright 2007 Google Inc. DISCLAIMER ---------- This software is a proof of concept. It is not pretty, but it is functional. Use at your own risk. If you'd like to make it better, submit patches and feedback! License ------- All included source, unless otherwise noted, is released on the GPL version 2. See docs/COPYING for details. Quick summary ------------- Flayer is a valgrind plugin It implements taint tracing and throws information errors when tainted information is used in a conditional or system call. In addition, strlen, strcmp, and other string/memory-related functions will also throw a "client check" error where forced tainting is used to taint the output of those functions. Using this output, Flayer can forcibly bypass conditional jumps and/or step over function calls. $ valgrind --tool=flayer --help ...... ...... User options for Flayer: --alter-fn=0xADDR1:1,... Inserts a forced jump over the function called from the given address and sets EAX to the 32-bit value. --taint-string=somestr Taint bytes read() that match the string --alter-branch=0xADDR1:1,... instrument branches (Ist_Exit) guards given addresses changing them to 1 or 0 --taint-stdin=no|yes enables stdin tainting [no] --taint-file=no|yes enables file tainting [no] --taint-network=no|yes enables network tainting [no] --file-filter=/path/prefix enforces tainting on any files under the given prefix. [] --verbose-instrumentation=no|yes enables verbose translation logging [no] Installing Flayer ------------ If you check out the source from subversion, you can build by running: ./configure && make && make install Despite valgrind supporting multiple architectures, currently Flayer only works with 32-bit x86 code. This is due to the system call wrapping code. If you'd like to submit a patch to add more platforms, better system call coverage, or use of the valgrind syswrap code, please drop me a mail! Using LibFlayer --------------- Currently, there is no installer for LibFlayer. Feel free to send a patch! Until then, you can try it out by setting your PYTHONPATH. E.g., PYTHONPATH=/opt/libflayer /opt/libflayer/examples/flayersh
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.