Ishanoshada/Ultimate-Frida-Bypass

GitHub: Ishanoshada/Ultimate-Frida-Bypass

该脚本通过 Frida 动态注入一次性绕过 Android 应用上 19 层安全检测机制,帮助安全研究者在无干扰环境下进行逆向分析与测试。

Stars: 0 | Forks: 0

# Frida 终极绕过脚本 - 完整文档 ## 📋 概述 这个全面的 Frida 脚本可以绕过 Talsec Demo App 以及类似 Android 应用程序中的所有安全保护。它提供了 19 层保护绕过,是目前最完整的反检测脚本之一。 ## 🛡️ 绕过的保护机制(19 层) ### **核心保护** 1. ✅ **自定义端口检测** - 阻断 Frida 端口 (27042-27050) 上的 ServerSocket/Socket 2. ✅ **Netstat 命令** - 从 netstat 输出中过滤掉 Frida 进程 3. ✅ **开发者模式** - 伪造开发者模式为禁用状态 4. ✅ **模拟器检测** - 伪造真实设备指纹 5. ✅ **调试器检测** - 隐藏调试器连接状态 6. ✅ **文件检测** - 阻断对 Frida 文件的检测 7. ✅ **进程检测** - 隐藏 TracerPid 和可疑进程 ### **Talsec 专用** 8. ✅ **ThreatDetected 回调** - 阻断全部 16 个威胁回调 9. ✅ **DeviceState 回调** - 阻断全部 5 个设备状态回调 10. ✅ **RaspExecutionState** - 阻断 onAllChecksFinished 11. ✅ **BiometricState** - 始终返回 ACTIVE 12. ✅ **Talsec.start()** - 绕过初始化 13. ✅ **killOnBypass** - 已禁用 14. ✅ **ScreenProtector** - 回调已被阻断 ### **附加保护** 15. ✅ **PairIP 许可证检查** - 绕过许可证验证 16. ✅ **Firebase Crashlytics** - 隐藏 root/模拟器/调试器状态 17. ✅ **SSL Pinning** - 绕过证书锁定 18. ✅ **包管理器** - 隐藏检测包 19. ✅ **原生检测** - 绕过基于 libc 的 Frida 检测 ## 🚀 快速入门指南 ### 1. **在 Android 模拟器/设备上设置 Frida Server** ``` # 推送 Frida server 到设备 adb push frida-server /data/local/tmp/ # 赋予其可执行权限 adb shell chmod 755 /data/local/tmp/frida-server # 运行 Frida server (以 root 身份) adb shell su /data/local/tmp/frida-server -l 0.0.0.0:9999 & ``` ### 2. **转发通信端口** ``` # 将端口从模拟器转发到本地机器 adb -s emulator-5556 forward tcp:9999 tcp:9999 ``` ### 3. **使用绕过脚本运行 Frida** ``` # 使用 bypass 脚本附加到 app frida -H 127.0.0.1:9999 -f com.aheaditec.talsec.demoapp -l main.js --no-pause # 或者针对特定的 app (替换为你的 app package) frida -H 127.0.0.1:9999 -f com.your.app.package -l main.js --no-pause ``` ### 4. **针对已在运行的应用** ``` # 列出正在运行的进程 frida-ps -H 127.0.0.1:9999 # 附加到正在运行的 app frida -H 127.0.0.1:9999 com.your.app.package -l main.js ``` ## 📡 **场景:当 Frida 连接断开但应用保持存活时** 有时 Frida 连接可能会断开(由于网络问题、服务器重启等),但注入的绕过脚本仍在应用进程中保持活跃。在这种情况下,您仍然可以使用外部工具捕获网络流量。 ## 📱 支持的应用 此脚本适用于: - **Talsec Demo App** (com.aheaditec.talsec.demoapp) - **freeRASP** 保护的应用程序 - **PairIP** 保护的应用程序 - **任何具备 Frida 检测**机制的应用 ## 🔧 自定义指南 ### **更改目标应用包名** 修改命令的最后一行: ``` frida -H 127.0.0.1:9999 -f com.your.target.app -l main.js ``` ### **添加自定义 Frida 端口** 修改脚本的第 48 行: ``` var fridaPorts = [27042, 27043, 27044, 27045, 27046, 27047, 27048, 27049, 27050, YOUR_CUSTOM_PORT]; ``` ### **添加自定义文件路径以阻断** 修改脚本的第 243 行: ``` var blockedFiles = [ "/data/local/tmp/frida-server", "/data/local/tmp/frida", // Add your custom paths ]; ``` ### **添加自定义隐藏包** 修改脚本的第 574 行: ``` var hiddenPackages = [ "com.koushikdutta.superuser", "com.your.package.to.hide", // Add your packages ]; ``` ## 🐛 调试模式 该脚本包含详尽的日志记录。要查看详细输出: ``` # 启用 verbose 日志记录运行 frida -H 127.0.0.1:9999 -f com.aheaditec.talsec.demoapp -l main.js --no-pause 2>&1 | tee frida.log ``` ### **常见日志信息** - `[BYPASS-PORT]` - 端口检测已被阻断 - `[BYPASS-DEV]` - 开发者模式已被绕过 - `[BYPASS-EMU]` - 模拟器检测已被绕过 - `[TALSEC]` - Talsec 专用绕过 - `[BYPASS-DEBUG]` - 调试器检测已被绕过 ## 🔥 高级用法 ### **1. 启动并恢复** ``` # Spawn app 并立即恢复 frida -H 127.0.0.1:9999 -f com.aheaditec.talsec.demoapp -l main.js --no-pause ``` ### **2. 附加到现有进程** ``` # 查找 PID frida-ps -H 127.0.0.1:9999 | grep talsec # 附加 frida -H 127.0.0.1:9999 -p PID -l main.js ``` ### **3. 多脚本运行** ``` # 加载多个脚本 frida -H 127.0.0.1:9999 -f com.aheaditec.talsec.demoapp -l main.js -l another_script.js ``` ### **4. 交互模式** ``` # 进入 REPL 模式 frida -H 127.0.0.1:9999 -f com.aheaditec.talsec.demoapp # 然后在 REPL 中:%load main.js ``` ## 📊 性能影响 - **启动时间**:+2-3 秒 - **内存占用**:+15-25 MB - **CPU 占用**:极小 (<5%) - **应用性能**:无明显影响 ## 🎯 验证 ### **检查绕过是否生效** 1. **在控制台中查看成功信息**: ``` [ULTIMATE-BYPASS] ✓ ALL BYPASSES LOADED SUCCESSFULLY! ``` 2. **验证应用行为**: - 应用不应崩溃 - 不应出现安全警报 - 所有应用功能应正常运行 3. **检查被阻断的检测**: - 在日志中查找 `[BYPASS-*]` 信息 ## 🛠️ 故障排除 ### **常见问题及解决方案** | 问题 | 解决方案 | |-------|----------| | **"Connection refused"** | 检查 Frida server 是否正在运行:`adb shell ps \| grep frida` | | **"Spawn failed"** | 应用可能受保护。请尝试附加方式:`frida -H 127.0.0.1:9999 com.your.app` | | **"No such file"** | 验证脚本路径:`ls -la main.js` | | **应用启动时崩溃** | 尝试使用 `--no-pause` 标志 | | **Hooks 未生效** | 确保应用未被混淆。检查日志中的 `[TALSEC]` 信息 | | **"Permissions denied"** | 以 root 身份运行 Frida server:`adb shell su -c /data/local/tmp/frida-server` | ### **故障排除命令** ``` # 检查 Frida server 状态 adb shell "su -c 'ps | grep frida'" # 检查端口转发 adb forward --list # 终止并重启 Frida server adb shell "su -c 'killall frida-server'" adb shell "su -c '/data/local/tmp/frida-server -l 0.0.0.0:9999 &'" # 实时检查日志 adb logcat | grep -E "Talsec|Frida|BYPASS" ``` ## 📝 重要说明 1. **需要 Root 权限**:大部分功能需要设备的 root 权限 2. **应用兼容性**:对于高度混淆的应用可能需要调整 3. **法律声明**:仅用于合法的安全测试和研究 4. **更新**:Talsec 更新可能需要修改脚本 ## 🔗 相关资源 - **GitHub 仓库**:https://github.com/ishanoshada - **个人主页**:https://ishanoshada.com - **Frida 文档**:https://frida.re/docs/ - **Android 安全测试**:https://developer.android.com/training/articles/security-tips ## 📄 许可证 此脚本仅供教育和安全研究目的使用。请负责任地使用,仅限于您拥有或已获授权测试的应用程序。 ## 📞 支持 - **电子邮箱**:ic31908@gmail.com - **GitHub**:提交 Issue - **Twitter**:@ishanoshada
标签:Android, Docker支持, DSL, Frida, 云资产清单, 安全测试, 攻击性安全, 数据可视化, 目录枚举, 移动安全, 自定义脚本, 逆向工程