mcpField
F
frida-anti-instrumentation

frida-anti-instrumentation

github.com/rudra-ravi安全7114 次安装25 周前更新
代码仓库

关于 frida-anti-instrumentation

面向移动应用安全分析人员的 Frida 技能,用于诊断应用对 Frida、Root、越狱、模拟器或调试器的检测,并以窄范围 Hook 验证针对性绕过。

主要功能

  1. 01判断故障发生于附加前或后
  2. 02记录进程与文件等检测行为
  3. 03检查 Android、iOS 与原生检测点
  4. 04通过移除 Hook 验证绕过效果

适用场景

  1. 01应用在 Frida 附加时退出
  2. 02定位阻止调试或附加的检查
  3. 03验证特定检测的针对性绕过

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rudra-ravi/frida-skills --skill frida-anti-instrumentation

安装后在 Claude Code 中输入/frida-anti-instrumentation确认已加载。

附带文件agents/openai.yaml

详细介绍

Frida 反插桩

当应用退出、隐藏行为、阻止附加,或检测到 Frida/root/越狱/模拟器/调试时,使用此技能。

诊断顺序

  1. 确认故障发生在 Frida 附加之前还是之后。
  2. 使用 spawn 模式进行早期检查。
  3. 记录退出、进程检查、文件检查、属性检查和原生反调试调用。
  4. 在绕过检测之前,先找出具体的检测方式。
  5. 只保留会改变检测条件的精简 Hook。

Android 边界

Java.perform(() => {
  const Runtime = Java.use("java.lang.Runtime");
  Runtime.exec.overload("java.lang.String").implementation = function (cmd) {
    console.log("Runtime.exec", cmd);
    return this.exec(cmd);
  };
});

常见的 Java 检查点:File.exists、SystemProperties.get、Build.*、包管理器查询、Shell 命令执行、调试器检查、模拟器属性。

原生边界

for (const name of ["open", "access", "stat", "ptrace", "prctl", "connect"]) {
  try {
    const f = Module.getGlobalExportByName(name);
    Interceptor.attach(f, { onEnter() { console.log(name); } });
  } catch (_) {}
}

常见的原生检查点:/proc、maps、task、frida、gum-js-loop、TCP 端口扫描、ptrace、prctl、syscall、dlopen、校验和函数。

iOS 边界

检查文件、URL scheme、fork、ptrace、sysctl、csops、dyld 镜像扫描、可疑库名称和越狱路径列表。

验证

  • 应用能够进入之前受阻的屏幕或执行之前受阻的行为。
  • 日志显示触发了哪个检测 Hook。
  • 移除 Hook 后,故障会重新出现。
  • 最终的绕过不会掩盖无关错误或崩溃路径。

参考资料

评论

支持 Markdown