首页
社区
课程
招聘
[原创]frida16.2.1 编译patch全过程
发表于: 2024-12-10 01:59 37754

[原创]frida16.2.1 编译patch全过程

2024-12-10 01:59
37754

建立一个项目目录并拉下frida源码,并进入项目目录

此时执行ls ,看到的文件应当是如此

一键 安装nodejs22

再make一下

安装ndk

执行以下命令,查看所需要的ndk版本,得到以下输出

一键安装ndk25

安装依赖

编译

查看编译选项

编译安卓arm64的frida

编译完成

查看编译后的文件

先把所有的 "frida_agent_main" 换成"main"

图片描述

然后直接git am打上patch, 如果不会打的话其实一个个改也不费事,因为核心其实在python脚本,和前面的字符串处理

我这里把frida改成了rusda,你也可以改成其他的

图片描述

github: GitHub - taisuii/rusda: 对frida 16.2.1的patch

python脚本新建在frida-core/src目录下

如果你提示No module named 'lief' 说明Python模块没有装好 pip3 install lief

然后编译,这里可以过滤日志编译,如果编译成功还是有很多特征大部分原因是python脚本没有打上patch

这里换个端口,就是全绿

图片描述

GitHub - Ylarod/Florida: 基础反检测 frida-server / Basic anti-detection frida-server

GitHub - hluwa/Patchs: strongR-frida

[原创]FRIDA 最新版编译 | 16.0.9-Android安全-看雪-安全社区|安全招聘|kanxue.com

git clone --recurse-submodules -b 16.2.1 https://github.com/frida/frida
cd frida
git clone --recurse-submodules -b 16.2.1 https://github.com/frida/frida
cd frida
# 构造下载 URL
NODE_TAR_URL="b49K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6F1L8$3c8W2K9Y4y4Q4x3X3g2G2M7X3N6Q4x3V1k6V1K9i4y4@1i4K6u0r3N6U0t1J5i4K6u0W2x3e0u0Q4x3X3f1H3i4K6u0r3L8X3!0V1k6g2)9J5k6s2j5J5x3W2)9J5k6e0p5J5i4K6u0W2x3q4)9J5k6r3I4A6L8Y4g2^5i4K6u0V1P5o6j5@1i4K6u0W2N6r3q4J5i4K6u0W2P5s2Z5`."
wget $NODE_TAR_URL
# 解压 Node.js 安装包到用户目录
tar -xf node-v22.12.0-linux-x64.tar.xz -C $HOME/bin
rm -r node-v22.12.0-linux-x64.tar.xz
# 设置 NODE_HOME 和 PATH
export NODE_HOME=$HOME/bin/node-v22.12.0-linux-x64
export PATH=${NODE_HOME}/bin:$PATH
# 打印 Node.js 版本以确认安装成功
node -v
# 构造下载 URL
NODE_TAR_URL="b49K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6F1L8$3c8W2K9Y4y4Q4x3X3g2G2M7X3N6Q4x3V1k6V1K9i4y4@1i4K6u0r3N6U0t1J5i4K6u0W2x3e0u0Q4x3X3f1H3i4K6u0r3L8X3!0V1k6g2)9J5k6s2j5J5x3W2)9J5k6e0p5J5i4K6u0W2x3q4)9J5k6r3I4A6L8Y4g2^5i4K6u0V1P5o6j5@1i4K6u0W2N6r3q4J5i4K6u0W2P5s2Z5`."
wget $NODE_TAR_URL
# 解压 Node.js 安装包到用户目录
tar -xf node-v22.12.0-linux-x64.tar.xz -C $HOME/bin
rm -r node-v22.12.0-linux-x64.tar.xz
# 设置 NODE_HOME 和 PATH
export NODE_HOME=$HOME/bin/node-v22.12.0-linux-x64
export PATH=${NODE_HOME}/bin:$PATH
# 打印 Node.js 版本以确认安装成功
node -v
make
make
cat releng/setup-env.sh |grep "ndk_required="
cat releng/setup-env.sh |grep "ndk_required="
wget https://dl.google.com/android/repository/android-ndk-r25c-linux.zip
unzip android-ndk-r25c-linux.zip $HOME/bin/
rm -r android-ndk-r25c-linux.zip
export ANDROID_NDK_ROOT=$HOME/bin/android-ndk-r25c
export PATH=$ANDROID_NDK_ROOT:$PATH
ndk-build -v
wget https://dl.google.com/android/repository/android-ndk-r25c-linux.zip
unzip android-ndk-r25c-linux.zip $HOME/bin/
rm -r android-ndk-r25c-linux.zip
export ANDROID_NDK_ROOT=$HOME/bin/android-ndk-r25c
export PATH=$ANDROID_NDK_ROOT:$PATH
ndk-build -v
sudo apt update
sudo apt-get install build-essential git lib32stdc++-9-dev libc6-dev-i386
sudo apt update
sudo apt-get install build-essential git lib32stdc++-9-dev libc6-dev-i386
pip3 install lief
pip3 install lief
(frida-compile) r@ubuntu20:~/Documents/FRIDA/frida$ make
make[1]: 进入目录“/home/r/Documents/FRIDA/frida
 
Usage: make TARGET [VARIABLE=value]
 
Where TARGET specifies one or more of:
 
  /* gum */
  gum-linux-x86                     Build for Linux/x86
  gum-linux-x86_64                  Build for Linux/x86-64
  gum-linux-x86-thin                Build for Linux/x86 without cross-arch support
  gum-linux-x86_64-thin             Build for Linux/x86-64 without cross-arch support
  gum-linux-x86_64-gir              Build for Linux/x86-64 with shared GLib and GIR
  gum-linux-arm                     Build for Linux/arm
  gum-linux-armbe8                  Build for Linux/armbe8
  gum-linux-armhf                   Build for Linux/armhf
......等等
(frida-compile) r@ubuntu20:~/Documents/FRIDA/frida$ make
make[1]: 进入目录“/home/r/Documents/FRIDA/frida

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2024-12-10 11:59 被太岁又沐风编辑 ,原因: 增加附件
上传的附件:
收藏
免费 15
支持
分享
最新回复 (11)
雪    币: 6
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2024-12-10 09:52
0
雪    币: 455
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
这个检测的app叫什么
2024-12-10 10:52
1
雪    币: 258
活跃值: (840)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
mb_ocufxebj 这个检测的app叫什么
上传附件了,可以下载一下,都是些简单的检测
2024-12-10 12:00
0
雪    币: 455
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
太岁又沐风 上传附件了,可以下载一下,都是些简单的检测
感谢大佬
2024-12-11 11:14
0
雪    币: 1503
活跃值: (3694)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢分享
2024-12-12 10:34
0
雪    币: 182
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
大佬,请教一个问题,有一处修改后编译正常,但客户端连接就报错,位置:string entrypoint = "frida_agent_main",大佬是怎么解决的呀
报错内容:Failed to spawn: undefined symbol: main
2025-5-4 17:36
0
雪    币: 321
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
这个没有编译好的吗,非得要自己编译?
2025-5-14 09:22
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
zkbutt 这个没有编译好的吗,非得要自己编译?
我屙给你好了
2025-5-15 13:45
0
雪    币: 675
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
wx_天亮 大佬,请教一个问题,有一处修改后编译正常,但客户端连接就报错,位置:string entrypoint = "frida_agent_main",大佬是怎么解决的呀 报错内容:F ...
我也遇到这个问题了如果用lief Patch生成的二进制文件,还会出现`Unable to get frontmost application on 127.0.0.1:20086: dlopen failed: "/memfd:jit-cache (deleted)" .dynamic section header was not found`
2025-5-15 15:30
0
雪    币: 321
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11

学到了,感谢~~~

最后于 2025-5-16 13:43 被zkbutt编辑 ,原因:
2025-5-16 13:41
0
雪    币: 13
活跃值: (497)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
感谢大佬
4天前
0
游客
登录 | 注册 方可回帖
返回