forked from shellphish/shellphish-afl
-
Notifications
You must be signed in to change notification settings - Fork 1
/
fetchlibs.sh
executable file
·69 lines (56 loc) · 1.51 KB
/
fetchlibs.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash -e
# taken from the QIRA project
DEBOOTSTRAP_DIR=/usr/share/debootstrap
UBUNTU_KEYRING=/usr/share/keyrings/ubuntu-archive-keyring.gpg
DEBIAN_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg
if [ ! -d "$DEBOOTSTRAP_DIR" ] || [ ! -f "$DEBIAN_KEYRING" ]; then
echo "this script requires debootstrap and debian-archive-keyring to be installed"
exit 1
fi
# this is ubuntu specific i think
fetcharch() {
ARCH="$1"
DISTRO="$2"
SUITE="$3"
exec 4>&1
SHA_SIZE=256
DEBOOTSTRAP_CHECKSUM_FIELD="SHA$SHA_SIZE"
TARGET="$ARCH"
TARGET="$(echo "`pwd`/$TARGET")"
HOST_ARCH=`/usr/bin/dpkg --print-architecture`
HOST_OS=linux
USE_COMPONENTS=main
RESOLVE_DEPS=true
export DEBOOTSTRAP_CHECKSUM_FIELD
mkdir -p "$TARGET" "$TARGET/debootstrap"
. $DEBOOTSTRAP_DIR/functions
. $DEBOOTSTRAP_DIR/scripts/$SUITE
if [ $DISTRO == "ubuntu" ]; then
KEYRING=$UBUNTU_KEYRING
MIRRORS="$DEF_MIRROR"
elif [ $DISTRO == "debian" ]; then
KEYRING=$DEBIAN_KEYRING
MIRRORS="http://ftp.us.debian.org/debian"
else
echo "need a distro"
exit 1
fi
download_indices
work_out_debs
all_debs=$(resolve_deps $LIBS)
echo "$all_debs"
download $all_debs
choose_extractor
extract $all_debs
}
mkdir -p bin/fuzzer-libs
cd bin/fuzzer-libs
LIBS="libc-bin libstdc++6"
fetcharch armhf ubuntu trusty
fetcharch armel debian jessie
fetcharch powerpc ubuntu trusty
fetcharch arm64 ubuntu trusty
fetcharch i386 ubuntu trusty
fetcharch mips debian stretch
fetcharch mipsel debian stretch
# mini debootstrap