Skip to content

Instantly share code, notes, and snippets.

@yevgenypats
Last active March 21, 2021 02:17
Show Gist options
  • Save yevgenypats/b2abbfc1a2b0cb1eae1ad7285d5c2a72 to your computer and use it in GitHub Desktop.
Save yevgenypats/b2abbfc1a2b0cb1eae1ad7285d5c2a72 to your computer and use it in GitHub Desktop.
fuzzing autodesk fbx
docker run -it ubuntu:16.04 /bin/bash
apt update && apt install -y git build-essential libtool libtool-bin wget python automake bison libglib2.0-dev cmake libxml2-dev
git clone https://github.com/mirrorer/afl.git
cd afl
make && make install
cd qemu_mode
./build_qemu_support.sh
cp ../afl-qemu-trace /bin/.
cd ../..
mkdir fbx
cd fbx
# Latest FBX 2020.0 located here for all platforms
# https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-0
wget https://www.autodesk.com/content/dam/autodesk/www/adn/fbx/2020-0/fbx20200_fbxsdk_linux.tar.gz
tar -xzvf fbx20195_fbxsdk_linux.tar.gz
./fbx20195_fbxsdk_linux
cd samples/ImportScene
mkdir build
cd build
export CC=afl-gcc
export CXX=afl-g++
cmake ..
make
cd ../../../bin/x64/gcc-static/debug/
mkdir in
mkdir out
cp box.fbx in/.
# for fuzzing:
AFL_PATH=/bin afl-fuzz -Q -t 4000 -i in -o out ./ImportScene @@
# for reproduction:
./ImportScene ./crashes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment