frida编译(按官网,frida 16.07)

宿主机准备工作

sudo mkdir /frida-home/; 
sudo chown z.z /frida-home
cd /frida-home/
git clone git@gitcode.net:fridaz/frida.git
cd frida;  git submodule update --init --checkout --recursive --depth 1
#git status:zmaster(基于官方frida 16.0.7)


sudo mkdir /pubx/
sudo chown z.z /pubx
cd /pubx/
git clone git@gitcode.net:pubx/git-replace.git

cp -rv ~/.ssh  /frida-home/  #宿主机中的 私钥 ~/.ssh/* 是被  gitcode信任的
cd /frida-home/
wget https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-py310_22.11.1-1-Linux-x86_64.sh

build using ubuntu:22.04 on docker

0.拉取docker镜像

#基本上各个docker镜像不好用,这里在宿主机中搭建 claash for linux, 搭建claash for linux参考


su - root
proxyychainss4 docker pull ubuntu:22.04
exit #退出su - root


  1. docker 启动


sudo docker pull ubuntu:22.04  #网络卡慢的话 ,参照上方
sudo docker run -itd -v /frida-home/:/frida-home -v /pubx/:/pubx/ ubuntu:22.04 
sudo docker exec  -it 9bc6bcec7bb9  bash 


#docker run时若指定名字 如下:
sudo docker run --name xxxx  -itd -v /frida-home/:/frida-home -v /pubx/:/pubx/ ubuntu:22.04 
  1. ubuntu清华源

参考: ubuntu清华源
注意不要用https,否则会出现ca证书不信任问题

sed -i "s@http://.*archive.ubuntu.com@http://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
sed -i "s@http://.*security.ubuntu.com@http://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list

准备

进docker执行:



### in docker bash:

export PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\$PWD\n\$ "

apt install git -y

#替换git命令, 以将: 
# 1. clone的很慢的github仓库地址替换为预置国内仓库地址、
# 2. clone后若发现子模块.gitmodules , 则替换.gitmodules中的github仓库地址为预置的国内仓库地址
cd /pubx/git-replace; sh -x install.sh ; cd -  

ssh-keygen #一路回车, 只为了生成正确权限的的~/.ssh目录
cp -rv /frida-home/.ssh/* ~/.ssh   #从宿主机 复制 gitcode信任的 私钥

sh /frida-home/Miniconda3-py39_22.11.1-1-Linux-x86_64.sh  #install to /miniconda3/
source /miniconda3/bin/activate
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install meson ninja

#yum install gcc gcc-c++ #原fedora的
apt show gcc g++
apt install gcc g++
gcc --version  #gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
g++ --version  #g++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0


apt install pkg-config 

#由于这里使得 frida-gum默认编译gumjs,因此需要安装nodejs环境
#[安装nodejs环境](https://blog.csdn.net/hfcaoguilin/article/details/124598084)
apt install curl 
#curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
curl https://gitcode.net/pubx/nvm/-/raw/master/install.sh | bash

echo """export NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node/
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node/""" >> ~/.bashrc

source ~/.bashrc

#再用nvm安装nodejs
nvm ls-remote
nvm install v18.13.0
nvm use v18.13.0
which node #/root/.nvm/versions/node/v14.17.1/bin/node
which npm #/root/.nvm/versions/node/v14.17.1/bin/npm
npm config -g set registry https://registry.npm.taobao.org
##nodejs环境安装完毕

npm install typescript -g

build frida

进docker执行:




cd /frida-home/frida/
make  #列出目标
make core-linux-x86_64-thin
make tools-linux-x86_64-thin 
pip install colorama prompt_toolkit pygments
#./build/frida-linux-x86_64/bin/frida
./build/frida_thin-linux-x86_64/bin/frida /usr/bin/ls
#Failed to attach: process with pid 35853 either refused to load frida-agent, or terminated during injection
ls -lh zHook.log.json  #zHook日志已生成,但估计gum运行报错了,所以上一行frida没有启动成功。待排查
#-rw-r--r-- 1 root root 278K Jan 27 11:15 zHook.log.json




真机ubuntu 22.10(kinetic)下, frida-gum 在ninja install后的 pkg-config search path举例

#真机ubuntu 22.10(kinetic)下, frida-gum 在ninja install后的 pkg-config search path举例
echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/x86_64-linux-gnu/' >> ~/.bashrc
source ~/.bashrc

其他

安装 miniconda3时报错 如下 ,可忽略,不影响miniconda3使用


sh /frida-home/Miniconda3-py39_22.11.1-1-Linux-x86_64.sh  #install to /miniconda3/

#报错如下:  ,以下报错可忽略,不影响miniconda3使用  (此报错是由于sh 没有 [[,  而[[实际是bash的。所以上述sh改为bash,即不会有此报错)
"""/frida-home/Miniconda3-py39_22.11.1-1-Linux-x86_64.sh: 438: [[: not found

Installing * environment...

/frida-home/Miniconda3-py39_22.11.1-1-Linux-x86_64.sh: 444: [[: not found

CondaFileIOError: '/miniconda3/pkgs/envs/*/env.txt'. [Errno 2] No such file or directory: '/miniconda3/pkgs/envs/*/env.txt'

""" 

可将编译环境保存为 docker镜像

  1. 办法1: 可提交为本地image
sudo  docker run -it -v /frida-home:/frida-home ubuntu:22.04  bash
#容器bash中执行:   ....miniconda3, meson, ninja, gcc, .... 等安装(见以下编译过程)
#可以在这之后 将容器a982d01d2752保存为镜像:
sudo docker commit a982d01d2752  ubuntu_22.04_frida_build_env

#下次再从镜像 创建容器:
sudo  docker run -it -v /frida-home:/frida-home ubuntu_22.04_frida_build_env  bash
#容器的中已经有以上安装过的部件了,无需再次安装了
  1. 办法2: 可保存为本地文件(方便带走) (貌似不知道如何指定新名字, load之后如何启动貌似也不太清楚)
sudo  docker run -it -v /frida-home:/frida-home ubuntu:22.04  bash
#容器bash中执行:   ....miniconda3, meson, ninja, gcc, .... 等安装(见以下编译过程)
#可以在这之后 将容器a982d01d2752保存为镜像:
sudo docker save --output ubuntu_22.04_frida_build_env.tar a982d01d2752

#下次再从镜像 创建容器:
sudo  docker load --input ubuntu_22.04_frida_build_env.tar
#容器的中已经有以上安装过的部件了,无需再次安装了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ziix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值