【Pwn 笔记】Android Kernel 环境搭建

已经学傻了

环境搭建

安装 sdk

1.下载 sdk-tools

去官网下载最新的 sdk-tools

官网链接:https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip

在 linux 中随便找个文件夹,我这里设置的地址为/root/Environment/android-sdk

把下载的 zip 放到这里面解压,会解压出一个 tools 文件夹,不用改名字

2.下载 platform-tools

去官网下载最新的 platform-tools

官网链接:https://dl.google.com/android/repository/platform-tools-latest-linux.zip

把下载的 zip 放到/root/Environment/android-sdk里面解压,会解压出一个 platform-tools 文件夹,不用改名字

3.修改环境变量

修改~/.bashrc文件,其他的我试了没用,在最后一行加上这几句话:

1
2
3
#android-sdk
export ANDROID_HOME=/root/Environment/android-sdk
export PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$PATH

安装 ndk

1.下载 ndk

去官网下载一个最新的 ndk

官网链接:https://developer.android.com/ndk/downloads

把下载的 zip 放到/root/Environment里面解压,会解压出一个 android-ndk-xxx 文件夹,不用改名字

2.修改环境变量

修改~/.bashrc文件,在最后一行加上这几句话

1
2
3
#android-ndk
export ANDROID_NDK=/root/Environment/android-ndk-xxx
export PATH="$ANDROID_NDK:$PATH"

安装工具

1.imgtool

用于从 boot.img 中提取 kernel

要先安装一个库,不然会报错02_decompress.c:22:18: fatal error: lzma.h: 没有那个文件或目录

1
apt-get install liblzma-dev

官网链接:http://newandroidbook.com/tools/imgtool.tgz

2.droidimg

先安装 liblz4-tool,要用到 lz4 命令

1
apt install liblz4-tool

项目地址:https://github.com/nforest/droidimg

照着安装就完了

编译内核源码

我这里使用的是android-goldfish-4.4-dev

官网链接:https://android.googlesource.com/kernel/goldfish/+archive/refs/heads/android-goldfish-4.4-dev.tar.gz

安装过程和 linux Kernel 差不多,如果报对‘OPENSSL_init_crypto’未定义的引用的错,就按如下修改:

在 script 文件夹里找到 Makefile 文件,找到如下信息:

1
2
HOSTLOADLIBES_sign-file = -lcrypto
HOSTLOADLIBES_extract-cert = -lcrypto

查看如何调用该库,输入命令 pkg-config –libs libcrypto

输出 -L/usr/local/lib -lcrypto

把这句话,复制替换 scripts 目录下的 Makefile:

1
2
HOSTLOADLIBES_sign-file = -L/usr/local/lib -lcrypto
HOSTLOADLIBES_extract-cert = -L/usr/local/lib -lcrypto
文章目录
  1. 1. 环境搭建
    1. 1.1. 安装 sdk
    2. 1.2. 安装 ndk
    3. 1.3. 安装工具
    4. 1.4. 编译内核源码
|