自编译frida得一些记录

frida编译

这个过程坑肯定很多 但是只要大方向对得,解决掉每个小错误达到目的就ok得

# 就是想自己把frida代码done下来改一改 然后看看

git clone git@github.com:frida/frida.git
git fetch
git checkout 14.1.3

# 下载node包管理工具
apt install nvm
nvm install 10
# 配置ndk
# ndk下载 去这里https://developer.android.com/ndk/downloads?hl=zh-cn
# frida14用ndk21 frida15 用ndk22 ,默认我装的ndk26不支持就换了ndk21

export ANDROID_NDK_ROOT=/Users/apple/Downloads/android-ndk-r21e
# make会执行模块依赖得一些代码
make

# make结束以后 选择目标设备

# 如
make core-android-arm64

第一次make结束搞定依赖关系打印一些可编译得目标设备
在这里插入图片描述

第二次make
make 目标设备

在这里插入图片描述
编译结束以后在build目录下就会产生我们需要得frida-server
在这里插入图片描述

验证

push到真机
adb push frida-server /data/local/tmp
su
cd /data/local/tmp

chmod -R 777 *

./firda-server

在本机执行
frida-ps如下图说明成功
在这里插入图片描述
有了第一次编译frida得经验 后面就可以魔改frida对对抗反调试了

编译参考文章
https://juejin.cn/post/7189081333790933053

https://www.jianshu.com/p/fb7b9c7b054d

make 报错 frida-version.h 等编译问题参考
https://blog.csdn.net/weixin_56039202/article/details/126097980
创建文件输入如下内容

#ifndef __FRIDA_VERSION_H__
#define __FRIDA_VERSION_H__

#define FRIDA_VERSION "15.1.4"

#define FRIDA_MAJOR_VERSION 15
#define FRIDA_MINOR_VERSION 1
#define FRIDA_MICRO_VERSION 4
#define FRIDA_NANO_VERSION 0

#endif

去除特征补丁

参考 https://bbs.kanxue.com/thread-269889.htm

git clone https://github.com/AAAA-Project/Patchs.git

# 本次得补丁注意要对应frida版本打补丁

git checkout 8e1308b
# 对应frida14.2.12

cd frida/frida-core/
 
git am ../../Patchs/strongR-frida/frida-core/*.patch

截图
在这里插入图片描述

帮你们试过了 hluwa刷到真机老是重启 所以上面文章当个笑话把,我准备自己给frida一点一点打补丁试试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/639120.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

脆皮之“字符函数与字符串函数”宝典

hello,大家好呀,感觉我之前有偷偷摸鱼了,今天又开始学习啦。加油!!! 文章目录 1. 字符分类函数2. 字符转换函数3. strlen的使用和模拟实现3.1 strlen 的使用3.1 strlen 的模拟1.计算器方法2.指针-指针的方…

探索LangGraph:如何创建一个既智能又可控的航空客服AI

这种设计既保持了用户控制权,又确保了对话流程的顺畅。但随着工具数量的增加,单一的图结构可能会变得过于复杂。我们将在下一节中解决这个问题。 第三部分的图将类似于下面的示意图: 状态定义 首先,定义图的状态。我们的状态和L…

Blazor 下支持 Azure AD 的多套登录方案

比如上图配置了两套不同的登录方案,各有自己的 TenantId 和 ClientId ,要同时支持他们的登录(其实在同一套 TenantId 和 ClientId 里面配置多个登录账户不就好了,但是......那套登录的管理是在客户自己的Azure AD账户管理下的&…

Python数据可视化(七)

绘制 3D 图形 到目前为止,我们一直在讨论有关 2D 图形的绘制方法和绘制技术。3D 图形也是数据可视化的 一个很重要的应用方面,我们接下来就重点讲解有关 3D 图形的实现方法。绘制 3D 图形通常需要导 入 mpl_toolkits 包中的 mplot3d 包的相关模块&#x…

【openlayers系统学习】3.6-3.7添加可视化选择器,手动选择可视化的图像源

六、添加可视化选择器(选择可视化的图像类型) 在前面的示例中,我们已经看到了同一Sentinel-2图像的真彩色合成、假彩色合成和NDVI渲染。如果能让用户从这些可视化中选择一个或更多,而不必每次都更改我们的代码,那就太…

2024年顶级算法-黑翅鸢优化算法(BKA)-详细原理(附matlab代码)

黑翅鸢是一种上半身蓝灰色,下半身白色的小型鸟类。它们的显著特征包括迁徙和捕食行为。它们以小型哺乳动物、爬行动物、鸟类和昆虫为食,具有很强的悬停能力,能够取得非凡的狩猎成功。受其狩猎技能和迁徙习惯的启发,该算法作者建立…

C++利用TinyXML读取XML文件

TinyXML是什么? TinyXML是一个轻量级的C XML解析器,它提供了一种简单的方法来解析和操作XML文档。TinyXML被设计为易于使用和集成到C项目中,并且非常适合处理小型XML文件。 以下是TinyXML的一些主要特点和优点: 轻量级: T…

0基础从前端到Web3 —— Mine Clearance Frontend(二)

在一的基础上继续往下,本篇主要是链上调用部分,让整个项目可以进行最基本的扫雷游戏。 S u i M o v e \mathit {Sui\ Move} Sui Move 链上部署的自主实现的简单扫雷游戏可以点击查看,只不过这里将区域大小扩大为了 10 20 \text {10}\ \tim…

Plesk中如何移除之前添加的域名

我这边想要移除我之前绑定到主机的域名,但是不知道如何在主机上面进行移除,由于我使用的Hostease的Windows虚拟主机产品默认带普通用户权限的Plesk面板,但是不知道如何在Plesk上操作移除域名,因为也是对于Hostease主机产品不是很了…

python给图片加上图片水印

python给图片加上图片水印 作用效果代码 作用 给图片加上图片水印图片水印的透明度,位置可自定义 效果 原始图片: 水印图片: 添加水印后的图片: 代码 from PIL import Image, ImageDraw, ImageFontdef add_watermark(in…

联盟 | 歌者 AIPPT X HelpLook携手,开启企业高效办公新时代

面对日益增长的工作负荷和追求效率优化的压力,企业知识的积累与传播显得愈发重要。如何系统化地沉淀员工与企业的知识精华?如何快速分享内外部知识?更重要的是,如何在获取这些知识后,迅速将其转化为精美的PPT&#xff…

抖店一件代发,从0到1操作全流程

我是王路飞。 先说明一点,新手不需要纠结抖店一件代发(即无货源模式)还能不能做的问题。 无货源只是前期帮助新手阶段的你进入到这个市场里来的一种方式,不是你长期做店的思路。 入门之后,基本就转型为有货源去玩了…

漫画|基于SprinBoot+vue的漫画网站(源码+数据库+文档)

漫画网站 目录 基于SprinBootvue的漫画网站 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大…

node 版本对应的 node-sass 版本号

当我们在项目中使用 node-sass 时,电脑的 node版本号一定要与 node-sass 版本号对应,不对应时下载就会报错 ❌问题?node-sass: Command failed. ✅解决方案,可能是node 跟 node-sass版本不一致 1、查询node版本 node -v &#…

RabbitMQ - SimpleMessageListenerContainer的实现逻辑

RabbitMQ - SimpleMessageListenerContainer的实现逻辑 Queue(队列):在 RabbitMQ 中用于存储消息的数据结构。生产者将消息发送到队列中,而消费者从队列中接收消息。 Connection(连接):连接是应…

Unity 实现心电图波形播放(需波形图图片)

实现 在Hierarchy 面板从2D Object 中新建一个Sprite,将波形图图片的赋给Sprite。 修改Sprite 的Sprite Renderer 组件中Draw Mode 为Tiled, 修改Sprite Renderer 的Size 即可实现波形图播放。 在Hierarchy 面板从2D Object 中新建一个Sprite Mask 并赋以遮罩图片…

【学习笔记】Windows GDI绘图(六)图形路径GraphicsPath详解(中)

上一篇【学习笔记】Windows GDI绘图(五)图形路径GraphicsPath详解(上)介绍了GraphicsPath类的构造函数、属性和方法AddArc添加椭圆弧、AddBezier添加贝赛尔曲线、AddClosedCurve添加封闭基数样条曲线、AddCurve添加开放基数样条曲线、基数样条如何转Bezier、AddEllipse添加椭圆…

2024年了, 你还不会使用node.js做压力测试?

前些天刷抖音,看到网传的Java继父,求人攻击压测他的网站,这不得摩拳擦掌。 所以今天来聊聊如何对自己的项目、接口进行压力测试。 压力测试的目的 首先, 绝对不是为了压测、攻击别人的网站为乐。 1、探索线上系统流量承载的极限&#xff…

python批发模块的调试之旅:从新手到专家的蜕变

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、调试技巧的重要性 二、批发模块调试的实战演练 1. 设置断点 2. 逐行执行代码 3. 观察…