Android 交叉编译

0x00 环境搭建:

  • 本地系统:ubuntu18.04 64
  • 目标系统:三星 S10Android 9arm64

1、安装Python

sudo apt install python

2、下载Android NDK工具包

https://developer.android.google.cn/ndk/downloads/index.html

3、解压NDK,进入android-ndk-r20/build/tools,并执行工具链生成程序make-standalone-toolchain.sh,参数如下,根据个人目标平台修改

sudo ~/android-ndk-r20/build/tools/make-standalone-toolchain.sh --install-dir=/home/lab/workspace/Tools/android-toolchain/ --arch=arm64 --toolchain=aarch64-linux-android-4.9 --arch=arm64 --platform=android-28 --force

4、设置环境变量

sudo vi /etc/profile
export PATH="$PATH:/home/lab/workspace/Tools/android-toolchain/bin:"
source /etc/profile

0x01 netcat工具编译

1、下载NC源码

wget https://jaist.dl.sourceforge.net/project/netcat/netcat/0.7.1/netcat-0.7.1.tar.gz
tar -zxvf netcat-0.7.1.tar.gz

2、交叉编译

./configure --host=arm-linux CC=aarch64-linux-android-gcc --prefix=/home/lab/workspace/Tools/AndroidTools/nc

3、检查文件格式

lab@ubuntu:~/workspace/Tools/AndroidTools/nc/bin$ file netcat 
netcat: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /system/, with debug_info, not stripped

你可能感兴趣的:(Android 交叉编译)