AnonAmit/swiggy-detection-bypass
GitHub: AnonAmit/swiggy-detection-bypass
基于Frida的Android安全测试工具,用于绕过Swiggy应用的检测机制并随机伪装设备标识符。
Stars: 0 | Forks: 0
# Swiggy 安全绕过与自动随机化指南
本指南介绍了如何使用 Frida 在任何 PC 上绕过 Swiggy 的安全检查(篡改检测、root/adb 检查)并自动伪装设备标识符。
## 演示
## 前置条件(一次性设置)
你的 PC 上需要安装三样东西:
1. **Python 3**(从 python.org 下载)
2. **Frida-tools**(Python 包)
3. Android 模拟器(如 **MuMu Player**)或已 root 的 Android 手机。
### 步骤 1:安装 Python 和 Frida
1. 打开命令提示符或 PowerShell。
2. 运行以下命令安装 Frida:
pip install frida-tools
3. 验证安装:
frida --version
*(应该输出类似 17.9.1 的版本号)*
### 步骤 2:准备模拟器
1. 启动 MuMu Player。
2. 启用 **USB 调试**(设置 -> 开发者选项 -> USB 调试)。
3. 将 ADB 连接到模拟器:
adb connect 127.0.0.1:7555
*(注意:7555 是 MuMu 的默认端口。LDPlayer 使用 5555,BlueStacks 使用 5555 或 10000+)。*
## 运行绕过脚本
### 步骤 1:将 Frida-Server 推送到设备
Frida 需要在模拟器内部运行一个 server 组件才能注入代码。
1. 查看模拟器的 CPU 架构:
adb shell getprop ro.product.cpu.abi
*(MuMu 通常为 `x86_64` 或 `x86`)。*
2. 从 [Frida Releases 页面](https://github.com/frida/frida/releases) 下载对应的 `frida-server`(例如 `frida-server-17.9.1-android-x86_64.xz`)。
3. 使用 7-Zip(或类似工具)解压 `.xz` 文件,最终你会得到一个名为 `frida-server` 的文件。
4. 将其推送到模拟器并赋予可执行权限:
adb push frida-server /data/local/tmp/frida-server
adb shell "chmod 755 /data/local/tmp/frida-server"
### 步骤 2:启动 Frida-Server
你必须在模拟器中以 root 权限运行此 server。
1. 在后台运行 server:
adb shell "su -c '/data/local/tmp/frida-server &'"
2. 通过列出进程来验证其是否正在运行:
frida-ps -U
*(你应该能看到一系列 Android 进程)。*
### 步骤 3:运行脚本
1. 将绕过脚本保存为 PC 上的 `frida_swiggy_bypass.js`。
2. 确保完全**关闭** Swiggy(从最近使用的应用程序中划掉它,或运行 `adb shell am force-stop in.swiggy.android`)。
3. 使用 Frida 的 **spawn 模式** (`-f`) 注入脚本:
frida -U -f in.swiggy.android -l frida_swiggy_bypass.js
4. **不要关闭终端窗口。** 在你使用该应用程序时,Frida 必须保持附加状态。
## 脚本工作原理
`frida_swiggy_bypass.js` 脚本动态处理两个主要任务(无需修改 APK 本身):
### 1. 绕过安全检查
Swiggy 会检查篡改、开发者选项和 debugger。该脚本会实时拦截这些检查:
* 强制 `SystemHealthValidator.a()` 和 `checkSystemStatus()` 返回 `false`(安全)。
* 通过 `startActivity` 阻止任何启动“检测到安全问题”页面(`SystemCheckActivity`)的尝试。
* 拦截系统设置查询(如 `development_settings_enabled` 或 `adb_enabled`)并始终返回 `0`(关闭)。
### 2. 设备身份伪装(自动随机化)
Swiggy 会标记创建过多账号的设备(“登录尝试次数过多”)。该脚本在每次运行时都会生成一个全新的设备配置。
* **AUTO_RANDOMIZE = true**:当在脚本顶部设置为 true 时,它会随机选取一个真实的设备配置(例如 Pixel 6、Galaxy S22)并生成唯一的标识符。
* **伪装的内容:**
* `Settings.Secure.ANDROID_ID`
* 电话信息(IMEI、IMSI、SIM 序列号、手机号码)
* 硬件详细信息(`Build.MODEL`、`Build.FINGERPRINT` 等)
* Google Advertising ID (GAID)
* **Swiggy 内部 ID:** 它会拦截 `SharedPreferences` 以伪装 Swiggy 特定的追踪 ID(`adId`、`juspay_android_id`、`juspay_device_id`)。
每次运行 `frida -U -f ...` 命令时,Swiggy 都会认为你刚刚购买了一部全新手机,并且是第一次安装该应用。
# 免责声明
## 法律声明
此工具仅出于**教育和授权测试目的**提供。用户需自行确保其使用行为符合所有适用的法律、法规以及其所交互应用程序的服务条款。
### 重要提示:
⚠️ **未经授权的访问**:对你不拥有或未获得明确测试权限的应用程序使用此工具绕过安全措施,可能会违反:
- 美国的《计算机欺诈和滥用法》(CFAA)
- 英国的《计算机滥用法》(CMA)
- 其他司法管辖区的类似法律
⚠️ **违反服务条款**:绕过 Swiggy 的安全检查极有可能违反其服务条款。未经授权的使用可能导致:
- 账号被暂停或永久封禁
- 服务提供商采取法律行动
- 民事和/或刑事责任
⚠️ **责任**:本工具的开发者**对以下情况概不负责**:
- 对系统或账号的未经授权访问
- 账号封禁、暂停或数据丢失
- 因滥用而导致的法律后果
- 因使用此工具造成的任何损害
### 仅限授权使用
本工具只能在以下情况下使用:
- 由你自己拥有或控制的设备上
- 已获得应用所有者明确的书面许可
- 用于合法的安全研究或授权的渗透测试
- 在受控的实验室环境中出于教育目的
### 无担保
本工具按“原样”提供,不提供任何形式的明示或暗示的保证。用户须自行承担其使用风险及责任。
**使用此工具即表示你确认并同意本免责声明。**
标签:Docker支持, Frida, 云资产清单, 数据可视化, 目录枚举, 移动安全, 绕过检测, 自定义脚本, 设备指纹伪造, 逆向工具, 逆向工程