码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 记录一次成功的frida编译


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

    文章目录

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


    前言

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


    一、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
    在这里插入图片描述

    4.ndk版本
    r24
    linux下载:wget https://dl.google.com/android/repository/android-ndk-r24-linux.zip
    其他系统自行查找
    查看ndk是否配置成功(在系统环境配置完成下):
    在这里插入图片描述

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

    2.环境变量配置

    vim /etc/profile,添加如下,然后使其生效source /etc/profile
    在这里插入图片描述
    vim ~/.bashrc,添加如下,然后使其生效source ~/.bashrc
    在这里插入图片描述
    如果时root用户以上配置在那个文件都可以,为了方便展示我配置两个地方,而两个配置文件的区别在于/etc/profile配置的时系统的环境变量, ~/.bashrc修改用户自己的环境变量,在非root用户的其他用户登录时候就可以感受到两种的区别了。

    查看配置项是否生效:export
    在这里插入图片描述

    四、开始编译源码

    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
    
    • 1

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

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

    结束

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

  • 相关阅读:
    下一个行业风口:NFT 数字藏品,是机遇还是泡沫?
    【排序算法】快速排序
    【工作中用到的功能-windows篇】自用备忘
    千万播放竟有通用公式?B站被小看的爆款机会!
    JAVA社区疫情防控系统毕业设计,社区疫情防控管理系统设计与实现,毕设作品参考
    “华为30岁以下员工仅占28%” 上热搜,网友:说好的35岁天花板呢?
    axios封装get,post请求, 原生xhr ajax封装同步请求
    Python实现WOA智能鲸鱼优化算法优化循环神经网络分类模型(LSTM分类算法)项目实战
    【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
    3如何搭建组件库的样式工程之button-scss
  • 原文地址:https://blog.csdn.net/xiaoxin_OK/article/details/127911849
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号