Frida常见检测方法

文章详细介绍了多种检测Frida框架的方法,包括ptrace检测、进程和端口监控、D-Bus协议分析、maps文件检查、task目录扫描以及内存特征搜索。同时,提到了针对Frida的反检测手段,如文件特征检测和系统函数扫描,讨论了hook方案的隐蔽性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Frida检测相关文章:[翻译]多种特征检测 Frida-外文翻译-看雪论坛-安全社区|安全招聘|bbs.pediy.com
  2. ptrace占坑
    ptrace(0, 0 ,0 ,0);
    开启一个子进程附加父进程
    守护进程
    子进程附加父进程 目的是不让别人附加
    普通的多进程
  3. 进程名检测,遍历运行的进程列表,检测frida-server是否运行
  4. 端口检测,检测frida-server默认端口27042是否开放
  5. D-Bus协议通信
    Frida使用D-Bus协议通信,可以遍历/proc/net/tcp文件,或者直接从0-65535
    向每个开放的端口发送D-Bus认证消息,哪个端口回复了REJECT,就是frida-server
  6. 扫描maps文件
    maps文件用于显示当前app中加载的依赖库
    Frida在运行时会先确定路径下是否有re.frida.server文件夹
    若没有则创建该文件夹并存放frida-agent.so等文件,该so会出现在maps文件中
  7. 扫描task目录
    扫描目录下所有/task/pid/status中的Name字段
    寻找是否存在frida注入的特征
    具体线程名为gmain、gdbus、gum-js-loop、pool-frida等
  8. 通过readlink查看/proc/self/fd、/proc/self/task/pid/fd下所有打开的文件,检测是否有Frida相关文件
  9. 常见用于检测的系统函数
    strstr、strcmp、open、read、fread、readlink、fopen、fgets
  10. 扫描内存中是否有Frida库特征出现,例如字符串LIBFRIDA
  11. hluwa的去掉字符串特征的frida-server
    https://github.com/hluwa/strongR-frida-android

补充

  1. 通常比较会被检测的文件
    riru的特征文件
    /system/lib/libmemtrack.so
    /system/lib/libmemtrack_real.so
    cmdline 检测进程名,防重打包
    status 检测进程是否被附加
    stat 检测进程是否被附加
    task/xxx/cmdline 检测进程名,防重打包
    task/xxx/stat 检测进程是否被附加
    task/xxx/status 检测线程name是否包含Frida关键字
    fd/xxx 检测app是否打开的Frida相关文件
    maps 检测app是否加载的依赖库里是否有Frida
    net/tcp 检测app打开的端口
  2. huluda-server处理了re.frida.server文件夹以及该文件夹下的文件的名字
  3. 使用这个server,不放在/data/local/tmp目录下,基本可以不用关心fd和maps的检测
  4. frida-gadget [原创]分享一个基本不可能被检测到的hook方案-Android安全-看雪论坛-安全社区|安全招聘|bbs.pediy.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值