首页
社区
课程
招聘
[原创]frida源码编译详解
发表于: 2023-1-9 00:46 15844

[原创]frida源码编译详解

2023-1-9 00:46
15844

创建证书ba54d289-ed00-47af-9b6e-e7740252e9c4

修改证书名称 frida-cert 名称 和 ./build.sh 脚本里写的对应上就可以 不过人家官方推荐的bf481ad1-ea0c-4e81-887c-61ddecd62b6b

双击打开 frida-cert设置始终信任89702f92-a402-403c-9513-2c2610dcbc30

拷贝到系统 删除登录页刚创建的 frida-cert

要确保 macOS 接受新创建的证书,请重新启动任务门控守护进程:

core-android-arm64 226cc7a6-5e41-438d-9b23-ecbaebbfdb67

python-macos 93a0df74-a279-4ae8-a599-2386759bd226

tools-macos 29b3c5a1-2faa-4dc9-8bcb-00ccb84f54c6

git clone --recurse-submodules https://github.com/frida/frida.git
cd frida
make
git clone --recurse-submodules https://github.com/frida/frida.git
cd frida
make
git checkout 16.0.7
git submodule update
git checkout 16.0.7
git submodule update
# for linux ubuntu20.04 别更新 别更新 别更新 或者尝试使用docker
sudo apt-get install build-essential curl git lib32stdc++-9-dev libc6-dev-i386 nodejs npm python3-dev python3-pip
## 配置NDK目录 ~/.bashrc add
export ANDROID_NDK_ROOT=/*your path*/ndk/25.0.8775105
 
# for mac
brew install npm
## 配置NDK目录 ~/.zshrc add
export ANDROID_NDK_ROOT=/*your path*/ndk/25.0.8775105
 
# all 
pip install colorama prompt-toolkit pygments
# install node
npm install npm -g
npm install n
n install stable
npm install frida
# for linux ubuntu20.04 别更新 别更新 别更新 或者尝试使用docker
sudo apt-get install build-essential curl git lib32stdc++-9-dev libc6-dev-i386 nodejs npm python3-dev python3-pip
## 配置NDK目录 ~/.bashrc add
export ANDROID_NDK_ROOT=/*your path*/ndk/25.0.8775105
 
# for mac
brew install npm
## 配置NDK目录 ~/.zshrc add
export ANDROID_NDK_ROOT=/*your path*/ndk/25.0.8775105
 
# all 
pip install colorama prompt-toolkit pygments
# install node
npm install npm -g
npm install n
n install stable
npm install frida
cd frida && make core-android-arm64
cd frida && make core-android-arm64
sudo killall taskgated
sudo killall taskgated
export MACOS_CERTID=frida-cert
export IOS_CERTID=frida-cert
export WATCHOS_CERTID=frida-cert
export TVOS_CERTID=frida-cert
make $1 -j 8
export MACOS_CERTID=frida-cert
export IOS_CERTID=frida-cert
export WATCHOS_CERTID=frida-cert
export TVOS_CERTID=frida-cert
make $1 -j 8
set FRIDA=$(pwd) # 根目录 frida 源码的上层目录
set FRIDA_VERSION=16.0.7 # from frida-version.h version
set FRIDA_EXTENSION=$FRIDA/build/frida-macos-arm64/lib/python3.10/site-packages/_frida.so
export FRIDA_CORE_DEVKIT=$FRIDA/frida-core-devkit-16.0.7-android-arm64
# 编译可执行文件
make tools-macos -j 16
make core-android-arm64 -j 16
# 编译python 模块  whl 可以使用 pip 安装
mkdir dist
cd dist
pip wheel ../frida-python
cd ../frida-tools
make  # 必须执行不然有几个js 脚本会漏掉
cd ../dist
pip wheel ../frida-tools
set FRIDA=$(pwd) # 根目录 frida 源码的上层目录
set FRIDA_VERSION=16.0.7 # from frida-version.h version
set FRIDA_EXTENSION=$FRIDA/build/frida-macos-arm64/lib/python3.10/site-packages/_frida.so
export FRIDA_CORE_DEVKIT=$FRIDA/frida-core-devkit-16.0.7-android-arm64
# 编译可执行文件
make tools-macos -j 16
make core-android-arm64 -j 16
# 编译python 模块  whl 可以使用 pip 安装
mkdir dist
cd dist
pip wheel ../frida-python
cd ../frida-tools
make  # 必须执行不然有几个js 脚本会漏掉

[招生]系统0day安全-IOT设备漏洞挖掘(第6期)!

最后于 2023-8-18 15:02 被iyue_t编辑 ,原因: 1.修复编译脚本
收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 9220
活跃值: (5485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jgs
2
学习了,谢谢楼主,收藏。
2023-1-9 08:46
0
雪    币: 536
活跃值: (732)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
2023-8-15 05:35
0
雪    币: 4166
活跃值: (31191)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2023-8-15 09:14
0
雪    币: 1222
活跃值: (2283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我mac make core-android-arm64  提示我 ERROR: Can't invoke target `core-android-arm64`: target not found
Command '['/Users/seven/anaconda3/bin/python3', '/Users/seven/Downloads/Seven/frida_hook/frrida/frida/releng/meson/meson.py', 'compile', 'core-android-arm64']' returned non-zero exit status 1.
make: *** [core-android-arm64] Error 1

最新版 
2025-1-12 03:00
0
雪    币: 1702
活跃值: (3554)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
小七烤地瓜 我mac make core-android-arm64 提示我 ERROR: Can't invoke target `core-android-arm64`: target not found ...

我有时间更新一下吧,新版更新了不再使用Makefile 编译。

echo "build andrid arm64"
mkdir -p build-android-arm64 && cd build-android-arm64 || exit
../configure --host=android-arm64 
ninja -j 32
cd ..
mkdir -p build-dist && cd build-dist || exit
echo "copy android arm64"
cp -f ../build-android-arm64/subprojects/frida-core/inject/frida-inject ./frida-inject-android-arm64
cp -f ../build-android-arm64/subprojects/frida-core/server/frida-server ./frida-server-android-arm64


最后于 2025-1-16 11:10 被iyue_t编辑 ,原因:
2025-1-12 23:45
0
雪    币: 1222
活跃值: (2283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
iyue_t 小七烤地瓜 我mac make core-android-arm64 提示我 ERROR: Can't invoke target `c ...
感谢回复  翻了翻官方文档 解决了 ./configure --host=android-arm64   在make 就可以啦
2025-1-13 20:13
0
雪    币: 1702
活跃值: (3554)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
小七烤地瓜 感谢回复 翻了翻官方文档 解决了 ./configure --host=android-arm64 在make 就可以啦
嗯,我个人习惯用ninja,编译成功了就行。
2025-1-16 11:01
0
游客
登录 | 注册 方可回帖
返回