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, 云资产清单, 安全测试, 攻击性安全, 数据可视化, 目录枚举, 移动安全, 自定义脚本, 逆向工程