首页
论坛
课程
招聘
[原创]手动编译Hluda Frida Server
2021-10-21 13:35 5041

[原创]手动编译Hluda Frida Server

2021-10-21 13:35
5041

本文基于ubuntu 21.04操作

1. 搭建编译环境

1.1 Install dependencies

1
2
3
4
5
sudo apt update
sudo apt-get install build-essential tree ninja-build gcc-multilib g++-multilib lib32stdc++-9-dev flex bison xz-utils ruby ruby-dev python3-requests python3-setuptools python3-dev python3-pip libc6-dev libc6-dev-i386 -y
 
sudo gem install fpm -v 1.11.0 --no-document
python3 -m pip install lief

1.2 Setup ndk

ndk版本与你想要编译的版本相关,在其/releng/setup-env.sh注明了需要的NDK版本

 

图片描述

 

这里以最新版的frida ndk依赖22 进行

 

ndk下载网址:https://developer.android.com/ndk/downloads?hl=zh-cn

1
2
wget https://dl.google.com/android/repository/android-ndk-r22b-linux-x86_64.zip
unzip android-ndk-r22b-linux-x86_64.zip
1
2
3
4
sudo mv android-ndk-r22b /opt/
 
#add env variables
export ANDROID_NDK_ROOT='/opt/android-ndk-r22b'

1.3 Setup nodejs

https://github.com/nvm-sh/nvm

1
2
3
4
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
 
# install node 10
nvm install 10

2. 编译frida

2.1 最新版

当前最新版本是:15.1.5

1
git clone --recurse-submodules https://github.com/frida/frida

Apply hluda patch

1
2
3
4
5
6
7
8
git clone https://github.com/AAAA-Project/Patchs.git
 
cd frida/frida-core/
 
git am ../../Patchs/strongR-frida/frida-core/*.patch
 
# 回到frida 根目录
cd ..

编译:

 

编译时会自动下载 对应的toolchain和sdk。

1
2
3
4
make core-android-arm
make core-android-arm64
make core-android-x86
make core-android-x86_64

when compile completed, into build/frida-android-arm/bin ,you will see:

 

图片描述

2.2 老版本

看了看Patchs的commit message、时间,基本就能知道commit对应的patch,对应哪些版本:

 

图片描述

 

看看编译14.2.12怎么弄

1
2
3
git clone --recurse-submodules https://github.com/frida/frida.git
cd frida
git checkout 14.2.12

这里有个坑,当checkout的时候,仅frida这个仓库回滚到14.2.12,其中的submodule 依然是最新的,要让所有submodule也是14.2.12时的版本才行:

1
git submodule update --recursive

检查一下需要的ndk版本,依然是22:
图片描述

 

checkout Patchs 到 14.2.12:
图片描述

1
git checkout 8e1308b

Apply hluda patch:

1
2
cd frida/frida-core
git am ../../Patchs/strongR-frida/frida-core/*.patch

check一下,没报错就行。

 

接下来和之前的编译步骤一样

1
2
3
4
5
6
cd frida
 
make core-android-arm
make core-android-arm64
make core-android-x86
make core-android-x86_64

图片描述


 

Git History - https://githistory.xyz/ 在某些情况下确实有用:

 

图片描述


 

参考:

  1. hluwa - actions build.xml

【公告】看雪团队招聘安全工程师,将兴趣和工作融合在一起!看雪20年安全圈的口碑,助你快速成长!

最后于 2021-10-21 15:05 被lushanu编辑 ,原因:
收藏
点赞3
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回