# RF CHAOS RF CHAOS 是一款 Android 应用,旨在通过所有可能的 RF 适配器制造混乱——尽情享受吧!
RF CHAOS 在很大程度上基于多年来为“极致移动端黑客攻击”铺平道路的一系列工具,包括:
……以及更多、更多的工具和项目——多到无法一一列举。
多年来我一直想构建一个像 RF-CHAOS 这样的工具包,但一直没有时间或机会。所以,既然我在 X 上看到了一些动力,我想不如就把它做出来。既然电脑平台上已经存在一堆这样的工具,我决定把精力集中在移动设备上;而由于 Android 是唯一允许对 WiFi/BLE/蓝牙等进行底层访问的平台,所以它胜出了!
希望你们能从中找到乐趣。邪恶的乐趣。😈🤘
事实证明,尤其是在 BLE 方面,这些年出现了一些新变化,使得针对某些设备的攻击比过去更加困难!我说的就是那些大约每 15 分钟就更换一次的“私有 MAC 地址”。
🚨👮⚠️ 什么是 BLE/蓝牙 RPA 解析/追踪?它指的是能够追踪所有那些让你以为通过那个功能重新获得了一些隐私的手机和设备——你可能已经见过这个功能了,它号称会将你设备的 MAC 地址更改为一个伪造的私有地址。你的手机或设备的 MAC 地址大约每 15 分钟就会更换为一个新的伪造地址。
而这一切不过是一个彻头彻尾的谎言。
而这一切发生时,你设备的菜单却将其列为“隐私功能”,并宣称能保护你免受这类攻击。你对被任何人(包括执法机构)随时追踪这件事感到不那么兴奋吗?想亲眼看看它是如何运作的吗?你来对地方了!是的,这里还有更多细节,请继续阅读。🚨👮⚠️
TL;DR:只要你的蓝牙适配器处于通电状态,你的每一刻都是 100% 可被追踪的,即使开启了私有 MAC 地址伪造也是如此。
Android Studio(Hedgehog 2023.1.1 或更新版本)
JDK 17(通常随 Android Studio 一起提供)
Android SDK
# If using git
git clone https://github.com/scramblr/RF-CHAOS.git
cd RF-CHAOS
# Or extract the zip file to a folder
RF-CHAOS 文件夹在接下来几周内发布的版本中,你将可以选择切换到 Google Maps SDK。我甚至已经把 Manifest 说明准备好了:
0. Wait for feature to actually be built and tested.
1. Get a Google Maps API key from https://console.cloud.google.com/
2. Enable "Maps SDK for Android"
3. Edit `app/src/main/AndroidManifest.xml`
4. Replace `YOUR_GOOGLE_MAPS_API_KEY` with your actual key.
测试与调试 .APK 或 Bundle .AAB 包
Menu: Build → Generate and Build App Bundles or APKs → Generate APKs / Generate Bundles
APK Output: `app/build/outputs/apk/debug/app-debug.apk`
Bundle Output: `app/build/outputs/bundle/debug/app-debug.aab`
正式发布 .APK 或 Bundle .AAB 包
APK Output: `app/release/app-release.apk`
Bundle Output: `app/release/app-release.aab`
几秒钟内,你的手机就应该安装好 RF-CHAOS 了!它会请求搜索信号和用 GPS 记录坐标所需的 3 项主要安全权限。
AA:BB:CC:DD:EE:FF)或 IRK 代码。该应用需要权限才能访问手机或设备内部的无线电模块。该应用绝不应向外部回传数据。所有数据都保存在你的设备上,除非你明确想要与 WIGLE.NET 共享。
CSV 导出使用 WiGLE 的格式。我们将其保存在你设备本地的 SQLite 数据库中,包含以下表:
MAC,SSID,AuthMode,FirstSeen,Channel,RSSI,CurrentLatitude,CurrentLongitude,AltitudeMeters,AccuracyMeters,Type
蓝牙低功耗设备可以使用会定期更改的可解析私有地址(RPA)。如果你拥有设备的身份解析密钥(IRK),即使地址发生变化,你也能追踪到它。
IRK 可以从以下途径提取:
app/src/main/
├── java/com/scramblr/rftoolkit/
│ ├── MainActivity.kt # Main activity with navigation
│ ├── RFToolkitApp.kt # Application class
│ ├── data/
│ │ ├── db/AppDatabase.kt # Room database & DAOs
│ │ ├── models/Models.kt # Data classes
│ │ └── repository/ # Data access layer
│ ├── services/
│ │ └── ScanningService.kt # Foreground scanning service
│ ├── ui/ # Fragments for each screen
│ └── utils/
│ └── Scanners.kt # WiFi/BLE scanning + RPA resolver
├── res/
│ ├── layout/ # XML layouts
│ ├── navigation/ # Navigation graph
│ └── values/ # Colors, strings, themes
└── AndroidManifest.xml
.gradle 文件夹GNU General Public License
别死啊!
| 权限 | 原因 |
|---|
| ACCESS_FINE_LOCATION | WiFi/BLE 扫描和 GPS 所必需 |
| ACCESS_COARSE_LOCATION | 定位回退方案 |
| BLUETOOTH_SCAN | BLE 设备扫描(Android 12+) |
| BLUETOOTH_CONNECT | 蓝牙连接(Android 12+) |
| NEARBY_WIFI_DEVICES | WiFi 扫描(Android 13+) |
| VIBRATE | 信号查找器的触觉反馈 |