Frida源码编译历史版本
之前为了体验一把魔改Frida过检测,自己手动测试了,都是坑只能说。
编译环境:Ubuntu 22.04.5 LTS
下载连接:https://www.releases.ubuntu.com/22.04/
PS:基于全新Ubuntu 环境、需要外网。编译Frida或Magisk建议用干净的环境。
安装Proxychains
代理软件用的是 hiddify,用其他V2等都可以
1 | sudo apt install libfuse2 |

1 | sudo apt-get install proxychains |

1 | sudo apt-get install curl |
修改桌面为Desktop
PS:需要修改默认的桌面为Desktop,不然配置环境变量有问题
1 | gedit ~/.config/user-dirs.dirs |
如果是拉源码后再改桌面名,需要重新拉一次源码
安装依赖&拉取源码
1 | sudo apt install git |
安装vscode
下载deb包
https://code.visualstudio.com/Download
1 | sudo dpkg -i vscode.deb |
安装依赖
1 | proxychains sudo apt-get install build-essential curl git lib32stdc++-9-dev libc6-dev-i386 |
拉取源码
我这里编译的Frida的历史版本16.2.1,默认拉取的最新的版本
1 | proxychains git clone -b 16.2.1 --recurse-submodules https://github.com/frida/frida |
编译前置(踩坑)
1 | sudo apt install m4 |
先直接编译,这一步是为了生成build文件夹,后续手动下载后好替换
1 | proxychains make -f Makefile.toolchain.mk |
SDK下载
查看当前Frida对应的SDK版本目录下
1 | cd releng |

下载sdk,下载到 frida目录/build,建议把下载的先备份,防止操作失误,其他版本记得替换版本号
1 | sudo wget https://build.frida.re/deps/20240123/toolchain-linux-x86_64.tar.bz2 |
刷新 env
1 | # /frida目录下执行 |
NDK下载
手动下载需要的ndk版本,查看frida对应的版本,可随意下载目录,环境变量指定路径
1 | cd releng |

下载ndk官网地址:https://developer.android.com/ndk/downloads?hl=zh-cn,具体名字看官网
1 | proxychains wget https://dl.google.com/android/repository/android-ndk-r25c-linux-x86_64.zip |

配置ndk路径
1 | sudo gedit ~/.bashrc |
Nodejs和Npm下载
虽然Froda的作者推荐新版本的nodejs和npm,但每一个版本的frida release都会有固定版本的nodejs,如果想要不出错,还是建议使用release版本中的node版本。

https://nodejs.org/zh-cn/about/previous-releases

本次编译,采用的是108对应的v18.12.0。大概是18版本都可以
nodejs历史版本下载: Index of /download/release/
1 | sudo gedit ~/.bashrc |

通过哪种方式装Nodejs都行
编译
1 | #编译 |
注意注意:执行make clean时候会把自建的其他文件删除,例如python
魔改Frida参考
https://github.com/hluwa/Patchs/tree/master/strongR-frida/frida-core