记录一次成功的frida编译

长期接手python外包和爬虫,私聊哦

文章目录

  • 前言
  • 一、Frida是什么?
  • 二、Frida一些资源相关
  • 三、Frida源码编译准备
    • 1.安装包准备
    • 2.环境变量配置
  • 四、开始编译源码
  • 结束


前言

某社交平台X信的风控越发恶心,目前面临项目被砍的风险,做了n多的屏蔽策略,心力憔悴,薪资微薄。。。。。。本文记录了自己对frida进行编译前的最重要的一步 —— 环境搭建,下面进入正文:
记录一次成功的frida编译_第1张图片


一、Frida是什么?

rida是一款便携的、自由的、支持全平台的hook框架,可以通过编写JavaScript、Python代码来和frida_server端进行交互,可以动态调试手机APP的神奇,他是我目前接触过的唯一一个可以与电脑端进行交互的hook架构(可以与电脑端进行交互的hook框架有都牛逼这里就自行体会啦),博主也是使用起来得心应手。

二、Frida一些资源相关

1.frida源码
https://github.com/frida/frida

2.frida官方文档
https://frida.re/

3.frida编译篇
https://frida.re/docs/building/

三、Frida源码编译准备

1.安装包准备

1.本次编译版本
16.0.1
拉取源码:git clone --recurse-submodules https://github.com/frida/frida
注意:这里可能会拉取失败,我建议一个个文件夹去拉,因为frida源码下面包含了好几个库,一个个去啦不影响整个源码的项目结构

2.编译系统
Centos 7,具体如下:
在这里插入图片描述

3.node.js版本
v16.15.0
下载地址
检查是否安装成功(在系统环境配置完成下):直接执行node
记录一次成功的frida编译_第2张图片

4.ndk版本
r24
linux下载:wget https://dl.google.com/android/repository/android-ndk-r24-linux.zip
其他系统自行查找
查看ndk是否配置成功(在系统环境配置完成下):
记录一次成功的frida编译_第3张图片

5.python
3.8.0
下载地址
查看python是否安装配置成功(在系统环境配置完成下):
在这里插入图片描述

2.环境变量配置

vim /etc/profile,添加如下,然后使其生效source /etc/profile
记录一次成功的frida编译_第4张图片
vim ~/.bashrc,添加如下,然后使其生效source ~/.bashrc
记录一次成功的frida编译_第5张图片
如果时root用户以上配置在那个文件都可以,为了方便展示我配置两个地方,而两个配置文件的区别在于/etc/profile配置的时系统的环境变量, ~/.bashrc修改用户自己的环境变量,在非root用户的其他用户登录时候就可以感受到两种的区别了。

查看配置项是否生效:export
记录一次成功的frida编译_第6张图片

四、开始编译源码

1.toolchain和sdk下载

https://build.frida.re/deps/20210123/toolchain-linux-x86_64.tar.bz2
https://build.frida.re/deps/20210123/sdk-linux-x86_64.tar.bz2
https://build.frida.re/deps/20210123/sdk-android-arm.tar.bz2
https://build.frida.re/deps/20210123/sdk-android-arm64.tar.bz2

按需下载,其中“20210123”是frida中releng/deps.mk中的frida_deps_version
cat releng/deps.mk
后面部分则是toolchain-{平台+架构}.tar.bz2

2.创建build
在下载的源码frida目录下创建build文件夹,吧第一步中下载的toolchain和sdk放入build中
执行releng/setup-env.sh

3.再次配置环境
根据官方编译文档提示:

apt-get install build-essential curl git lib32stdc++-9-dev libc6-dev-i386 nodejs npm python3-dev python3-pip

不过这步我好像感觉没啥影响,可能是在上面安装包和配置环境的时候已经处理好了这些环境

4.开始编译
返回到frida目录下执行:make core-android-arm64
记录一次成功的frida编译_第7张图片
如图中最后结果没有提示error的时候说明编译成功,而编译完成之后的产物在我们刚刚建立的build文件夹:frida/build/frida-android-arm64/bin
记录一次成功的frida编译_第8张图片

结束

以上只是针对android-arm64的进行编译,其他的自行参考,环境这个东西有些时候是真的惹人头疼,之前环境有问题排除了好久最后解决了,还是有所收获的。到这里有些人就问啊,你这个编译源码也没有做一些屏蔽检测frida的策略,对不起,我的项目要没了(手动狗头)。最后创作不易,觉得有用的所帮助的话点点赞,thank you~

你可能感兴趣的:(逆向,frida,微信)