Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整

这篇具有很好参考价值的文章主要介绍了Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

经常使用Frida的朋友们可能会遇到Frida的各种问题需要自定义的,而这时候Frida的本地编译就显得很重要了。

最近一位朋友发现使用Frida14/15/16版的server只能连拉一定数量的设备,超过了frida-device-manager便不能连接设备。

实现没有办法,我只好去修改源码,然后自己搭建编译环境,然后就有了这次的编译Frida。

一、系统

OS: Ubuntu22.04LTS

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

二、相关资源

参考了别人编译的文章,也放一些相关资源链接在这里

1.frida源码
GitHub - frida/frida: Clone this repo to build Frida

2.frida官方文档
Frida • A world-class dynamic instrumentation toolkit | Observe and reprogram running programs on Windows, macOS, GNU/Linux, iOS, watchOS, tvOS, Android, FreeBSD, and QNX

3.frida编译篇
Building | Frida • A world-class dynamic instrumentation toolkit

三、系统应用安装

在编译环境部署前,系统也需要安装一些应用,比如git, curl, 也相当于是一些常用的应用,一般开发人员的电脑上,这些应用应该不会没有。

还有一点就是必要的时候,需要科学上网。

这里不再多讲,直接上重点吧。

四、源码和环境部署

1、拉取Frida源码

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

或者

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

注意: 这样拉取的是Frida当前最新版本的源码,如果需要编译的是历史版本,需要再用git同步到历史

git checkout 15.2.2 #切换tag
git submodule update --recursive #其他子模块也跟着一起更新下

或者使用commit 3ff85a5

比如Frida 15.2.2的commit为 3ff85a5

git checkout 3ff85a5
git submodule update --recursive

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

2、node/npm版本

虽然frida的作者推荐新版本的nodejs和npm,尤其是v20和更新版本,但每一个版本的frida release都会有固定版本的nodejs,如果想要不出错,还是建议使用release版本中的node版本

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

其中node版本和NODE_MODULE_VERSION对照表可以网上查询

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

而我本次编译,采用的是108对应的v18.12.0。

nodejs历史版本下载: Index of /download/release/

设置环境变量:

# set node
export NODE_HOME=/home/ubuntu/work/node-v18.12.0-linux-x64
export PATH=$PATH:${NODE_HOME}/bin

验证环境变量设置:

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

注意:设置环境变量的方便有三种,分别是设置 ~/.bashrc, /etc/profile, /etc/environment。第一种只适用于当前登录用户,第二种和第三种会保存给所有用户。

细节可以网上搜索,很多文章。

3、安卓NDK

关于安卓NDK的版本,不同的Frida也会有不同的要求,具体的版本在你的Frida源码目录:/frida/releng/setup-env.sh。

打开文件,即可以找到。

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

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

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

然后设置NDK的环境变量

#set NDK env
export NDK_HOME=/home/ubuntu/work/android-ndk-r24
export PATH=$NDK_HOME:$PATH

验证NDK环境变量:

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

4、python环境

Frida要求python3环境,而Ubuntu一般会自带python3, 比如我的就是python3.10。而且Frida编译会自动使用"python3"来调用python3。

系统没有安装的,或者版本不对的,可以自行安装。

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

5、安卓SDK安装。

目前安装安卓SDK的方法还是用android-studio靠谱,也简单。

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

然后设置SDK的环境变量

#set sdk
export ANDROID_SDK_HOME=/home/ubuntu/Android/Sdk
export PATH=$PATH:${ANDROID_SDK_HOME}/tools
export PATH=$PATH:${ANDROID_SDK_HOME}/build-tools/29.0.0
export PATH=$PATH:${ANDROID_SDK_HOME}/platform-tools

验证SDK变量设置成功:

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

6、JDK环境

JDK使用1.8,相信只要做开发的人都会部署。

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

这里有一个问题就是很多人电脑上有多个java环境,怎么把jdk8变成首选的环境变量呢:

sudo update-alternatives --config java

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

五、toolchain和sdk下载

个人推荐使用Frida的自动下载。

自动下载:

运行

make -f Makefile.skd.mk FRIDA_HOST=android-arm64

frida会自动同步toolchain和sdk, 这一步可能会需要很久。

六、开始编译

输入命令

make -f Makefile.linux.mk

可以看到各个版本的编译命令:

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

然后输入命令:

make core-android-arm64

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程

Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整,安全,开发语言,极限编程文章来源地址https://www.toymoban.com/news/detail-825178.html

到了这里,关于Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境

    说明:本案例仅仅是跑通了ROS2+PX4+Gazebo的联合仿真,还没有实现使用键盘控制无人机飞行(以后会补充)。 1.准备工作 2.安装PX4仿真工具链 3.安装ROS2 4.安装ROS2的相关依赖 5.安装XRCE-DDS代理(AGENT) 6.创建ROS2工作空间并生成代码样例 7.运行XRCE代理 8.编译PX4固件并运行 (1)确保

    2024年04月29日
    浏览(66)
  • 从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)

    在新安装的Ubuntu上(版本20.04LTS),完成搭建Android源码编译环境步骤如下。 顺带说一句,当前用的比较多的Ubuntu是18.04和20.04,在实际项目中一直在用,可用性和稳定性都没问题。 最新的Ubuntu22.04版本,系统默认的二进制库变化比较大,编译Android源码有问题(实测过,没细研

    2024年02月06日
    浏览(96)
  • Ubuntu22.04 LTS 显卡相关命令

    一、查看显卡型号 二、查看显卡驱动版本 三、查看CUDA、cuDNN版本 四:详细的NVIDIA显卡信息 命令:nvidia-smi(详细的nvidia显卡信息) 注:显示的CUDA版本跟上述的两种方法不一致 一、卸载显卡驱动 二、卸载CUDA 有的安装目录里面没有上面那个pl文件,可以使用下面的命令进行卸

    2024年02月09日
    浏览(38)
  • Ubuntu 22.04 搭建arm-linux-gcc交叉编译环境

    如果使用的是64位的Ubuntu系统,建议直接安装64位的arm-linux-gcc交叉编译器 下载地址: https://pan.baidu.com/s/14-lQpsXuEyCcHNHcTXcOyA 提取码: 55at 0. 注意在终端进行粘贴的操作为【Ctrl+shift+v】!! 把下载好的安装包移动到根目录下的tmp目录中(/tmp):在【其他位置】中的【计算机】中找

    2024年02月05日
    浏览(53)
  • Ubuntu服务器安装配置slurm (Ubuntu 22.04 LTS)

    Slurm 全称 S imple L inux U tility for R esource M anagement。通常被用于大型Linux服务器 (超算) 上,作为任务管理系统。本文详细讲述如何在 Ubuntu 22.04 LTS 上安装slurm,并进行简单的配置。 其实网上相关的教程已经非常多,但在旧版本的Ubuntu上安装slurm时,通常需要安装一个名为slurm-ll

    2024年02月07日
    浏览(47)
  • 双系统安装ubuntu 22.04 LTS(一步到位)

            作为一个拥有两次都是一次成功安装好双系统的经验的人,我觉得我可以借这个文章仔细讲述一下,让大家都可以双系统安装都是一次成功。为什么有着两次安装经验呢,第一次安装完成后由于电脑的内存不太够了,然后重新装了一个固态和机械硬盘,再次安装了

    2024年01月23日
    浏览(44)
  • 【QT】Ubuntu22.04 配置 QT6.5 LTS

    进入官网(QT Group)进行账号注册,个人或企业可以获得10天的免费使用,学生则可以获得免费的License,如果是学生的话可以进行学生邮箱验证(Get Educational Licenses),然后获得免费的License,具体如下: 填写这样的表单然后提交,等QT发邮件过来(可能需要十几分钟),然后

    2024年04月27日
    浏览(23)
  • Ubuntu 22.04 LTS 安装 RTL8188GU 网卡驱动

    腾达(Tenda)150Mbps 迷你免驱网卡 W311MI V5.0 1、查看本机的USB设备列表及其详细信息 可以查看到网卡芯片型号,After Modeswitch表示已经过Modeswitch: 2、安装git、make、gcc、linux-header 安装git、make、gcc: 安装linux-header: 3、安装RTL8188GU芯片驱动 git clone 开源项目 github.com/lwfinger/rtl8x

    2024年02月10日
    浏览(47)
  • 【】Ubuntu Server 22.04 LTS 设置主机信息以及IP地址

    得知网卡为 ens160 编辑配置文件 设置 managed=true network之下全部删除,添加 renderer: NetworkManager 此时会断网一下,如果使用DHCP的话,可能会获得新IP地址。 查看网卡信息 得知:ens160 连接到 Wired connection 1 配置主机名,设置IP地址 此时会断网。然后使用新IP地址连接。 添加位置,

    2024年02月16日
    浏览(43)
  • 【加速】Ubuntu 22.04 LTS Steam++ Watt Toolkit 加速 github

    项目地址 SteamTools: 🛠「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。 下载linux版本 解压到/opt/steam++ 启动Steam++ 配置网络加速 点击一键加速,弹出提示 同时弹出文件浏览器 执行脚本 再次点击意见加速,报错 没有权限 同时弹出浏览器,提示操作方法 参考Linux版本修改

    2024年01月24日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包