Aircrack-ng
Requirements:
Download the Android NDK:
Android NDK r21e (Linux x86_64)
OpenSSL cross-compiled:
OpenSSL (Cross-Compiled) for Android
Install dependencies for cross-compiling:
sudo apt update
sudo apt install -y \
autoconf \
automake \
bison \
bc \
build-essential \
clang \
cpio \
cmake \
cmake-format \
curl \
debhelper \
debhelper-compat \
device-tree-compiler \
dpkg-dev \
dwarves \
file \
fakeroot \
flex \
g++ \
g++-multilib \
git \
gawk \
gettext \
libdb-dev \
libelf-dev \
libffi-dev \
libgmp-dev \
liblzma-dev \
libmpc-dev \
libmpfr-dev \
libncurses-dev \
libncurses5-dev \
libssl-dev \
libtool \
make \
ninja-build \
patch \
pkg-config \
python3 \
python3-pip \
python3-setuptools \
rsync \
unzip \
wget \
xsltproc \
zip \
zlib1g-dev
#!/bin/bash
# aMiscreant
export NDK=/root/android-ndk-r21e
export API=29
export CC="$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
export AR="$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
export RANLIB="$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib"
export LD="$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld"
export STRIP="$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip"
# Compile Zlib
wget https://zlib.net/zlib-1.3.1.tar.gz
tar -xf zlib-1.3.1.tar.gz
rm -rf zlib-1.3.1.tar.gz
cd zlib-1.3.1
./configure \
--static \
--prefix=/root/static_prefix
make -j$(nproc)
make install
cd ..
# Compile
git clone https://github.com/PCRE2Project/pcre2.git
cd pcre2
git submodule update --init
./autogen.sh
./configure \
--host=aarch64-linux-android \
--build=x86_64-pc-linux-gnu \
--disable-shared \
--enable-static \
--enable-fuzz-support \
--prefix=/root/static_prefix
make -j$(nproc)
make install
cd ..
# Compile hwlock
git clone https://github.com/open-mpi/hwloc.git
cd hwloc
./autogen.sh
./configure \
--host=aarch64-linux-android \
--build=x86_64-pc-linux-gnu \
--disable-shared \
--enable-static \
--prefix=/root/static_prefix
# Compile libpcap
git clone https://github.com/the-tcpdump-group/libpcap.git
cd libpcap
./autogen.sh
./configure \
--host=aarch64-linux-android \
--build=x86_64-pc-linux-gnu \
--disable-shared \
CC="$CC" AR="$AR" RANLIB="$RANLIB" STRIP="$STRIP" \
CFLAGS="-D__ANDROID_API__=$API" \
--prefix=/root/static_prefix
make -j$(nproc)
make install
cd ..
# Compile tcpdump
git clone https://github.com/the-tcpdump-group/tcpdump.git
cd tcpdump
export CFLAGS="-fPIC -I/root/static_prefix/include"
export LDFLAGS="-L/root/static_prefix/lib"
export PKG_CONFIG_LIBDIR=/root/static_prefix/lib/pkgconfig
export PKG_CONFIG_PATH=/root/static_prefix/lib/pkgconfig
./autogen.sh
./configure \
--host=aarch64-linux-android \
--build=x86_64-pc-linux-gnu \
CC="$CC" AR="$AR" RANLIB="$RANLIB" STRIP="$STRIP" \
CFLAGS="-D__ANDROID_API__=$API" \
PKG_CONFIG_PATH=/root/static_prefix/lib/pkgconfig \
--prefix=/root/static_prefix
make -j$(nproc)
make install
cd ..
# Compile Libffi
git clone https://github.com/libffi/libffi.git
cd libffi
./autogen.sh
# Remove docs..
#rm -rf doc
./configure \
--host=aarch64-linux-android \
--build=x86_64-pc-linux-gnu \
--disable-shared \
--enable-static \
--disable-docs \
CC="$CC" AR="$AR" RANLIB="$RANLIB" STRIP="$STRIP" \
--prefix=/root/static_prefix
make -j$(nproc)
make install
cd ..
# Compile aircrack
git clone https://github.com/aircrack-ng/aircrack-ng.git
export CFLAGS="-fPIC -I/root/static_prefix/include"
export LDFLAGS="-L/root/static_prefix/lib"
export LIBS="-lssl -lcrypto -lpcap -lz -lffi -lpcap"
export PKG_CONFIG_LIBDIR=/root/static_prefix/lib/pkgconfig
export PKG_CONFIG_PATH=/root/static_prefix/lib/pkgconfig
cd aircrack-ng
autoreconf -i
./configure \
--host=aarch64-linux-android \
--disable-shared \
--enable-static \
--without-libnl \
--without-sqlite3 \
--enable-hwloc \
--with-pcre2=/root/static_prefix \
--with-libpcap-lib=/root/static_prefix \
--with-pcap=/root/static_prefix \
--with-openssl=/root/static_prefix \
--with-zlib=/root/static_prefix \
--prefix=/root/static_prefix \
CFLAGS="-I/root/static_prefix/include -O2 -fPIE -fPIC" \
PKG_CONFIG_PATH=/root/static_prefix/lib/pkgconfig \
LDFLAGS="-L/root/static_prefix/lib -pie"
make -j$(nproc)
make install
cd ..