关于 frida-anti-instrumentation
面向移动应用安全分析人员的 Frida 技能,用于诊断应用对 Frida、Root、越狱、模拟器或调试器的检测,并以窄范围 Hook 验证针对性绕过。
主要功能
- 01判断故障发生于附加前或后
- 02记录进程与文件等检测行为
- 03检查 Android、iOS 与原生检测点
- 04通过移除 Hook 验证绕过效果
适用场景
- 01应用在 Frida 附加时退出
- 02定位阻止调试或附加的检查
- 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/越狱/模拟器/调试时,使用此技能。
诊断顺序
- 确认故障发生在 Frida 附加之前还是之后。
- 使用 spawn 模式进行早期检查。
- 记录退出、进程检查、文件检查、属性检查和原生反调试调用。
- 在绕过检测之前,先找出具体的检测方式。
- 只保留会改变检测条件的精简 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 后,故障会重新出现。
- 最终的绕过不会掩盖无关错误或崩溃路径。
参考资料
- Frida JavaScript API:https://frida.re/docs/javascript-api/
- Frida CodeShare:https://codeshare.frida.re/
- OWASP MASTG Frida Android:https://mas.owasp.org/MASTG/tools/android/MASTG-TOOL-0001/
- OWASP MASTG Frida iOS:https://mas.owasp.org/MASTG/tools/ios/MASTG-TOOL-0039/
评论
支持 Markdown