diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-10-16 19:57:03 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-10-16 19:57:03 (GMT) |
commit | a30fc1056877860593c19498738775c0ac43794d (patch) | |
tree | 3b63f6a7c99d494756b470f5b476f9b0c211fa83 /tools/ffuzzer/ffuzzer.sh | |
parent | 3a2dcf9f1e6718b0a45feed8eefadb71be66f4ac (diff) |
Defined a basic system based on Melkor to stress the disassembler and the Python bindings.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@598 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'tools/ffuzzer/ffuzzer.sh')
-rw-r--r-- | tools/ffuzzer/ffuzzer.sh | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tools/ffuzzer/ffuzzer.sh b/tools/ffuzzer/ffuzzer.sh new file mode 100644 index 0000000..aab0705 --- /dev/null +++ b/tools/ffuzzer/ffuzzer.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +MAX_FORMATS=20 + +export PYTHONPATH=$(readlink -f "$PWD/../../plugins/pychrysa/.libs") + +if [ ! -e "$PYTHONPATH/pychrysalide.so" ]; then + echo '[!] PyChrysalide module not found, exiting...' + exit 1 +else + echo "[i] PyChrysalide module found in $PYTHONPATH." +fi + +which melkor 2>&1 > /dev/null + +if [ "$?" -ne 0 ]; then + echo '[!] melkor not found, exiting...' + exit 1 +else + echo '[i] melkor found!' +fi + +if [ -z "$FFUZZ_TEMPLATE" ]; then + echo '[!] $FFUZZ_TEMPLATE is not set, exiting...' + exit 1 +else + echo "[i] Using $FFUZZ_TEMPLATE as template." +fi + +WORKING_DIR="orcs_$(basename $FFUZZ_TEMPLATE)" +rm -rf $WORKING_DIR + +melkor -A -n $MAX_FORMATS -l 15 -q $FFUZZ_TEMPLATE + +ulimit -c unlimited + +cd $WORKING_DIR + +chmod a+x * +chmod a-x Report_* + +core_count=0 + +for f in `find . -type f -perm +111`; do + + target=`basename $f` + + echo "[*] Processing '$WORKING_DIR/$target'..." + + python3-dbg ../process.py $target > /dev/null + + if [ "$?" -eq 0 ]; then + echo ' --> disassembly done!' + fi + + if [ -e core ]; then + echo ' --> renaming core...' + mv core $target.core + core_count=$((core_count + 1)) + fi + +done + +echo '[i] Done.' + +echo "[i] Got $core_count core(s) for $MAX_FORMATS input files." |