⚠️ 重要声明 本项目仅供学习研究和合法的开发调试使用。严禁用于任何非法目的,包括但不限于:欺骗、破解商业软件、干扰他人设备、未经授权的追踪、恶意攻击等。使用本模块造成的任何法律后果由使用者自行承担。请遵守当地法律法规。
一个强大的 Xposed/LSPosed 模块,用于向 Android 系统蓝牙扫描结果中注入虚拟 BLE 设备,方便开发者进行蓝牙应用调试。
完整的源代码、详细文档和最佳实践请访问:
如果这个项目对你有帮助,请在主仓库给它一个 ⭐ Star!
AA:BB:CC:DD:EE:FF系统会根据数据长度自动选择最佳模式:
传统广播模式 (1-31 字节)
02 01 06 09 09 4D79426561636F6E (Flags + 设备名 “MyBeacon”)传统广播 + 扫描响应 (32-62 字节)
扩展广播模式 (63-254 字节)
点击 “根据设备名称自动生成广播数据” 按钮,系统会自动生成包含 Flags 和设备名称的标准 BLE 广播数据。
模块通过 Hook ScanController.onScanResultInternal() 方法(位于 com.android.bluetooth.le_scan.ScanController)实现虚拟设备注入。
关键 Hook 点(基于 AOSP 源码分析):
com/android/bluetooth/le_scan/ScanController.javaonScanResultInternal() (line 362)BLE 广播数据使用 AD (Advertising Data) 结构格式:
[Length] [Type] [Data...] [Length] [Type] [Data...]
本项目采用 MIT 协议开源。
如果你遇到问题或有建议,欢迎提交 Issue 或 Pull Request。
免责声明: 本模块仅用于学习研究和合法的开发调试目的。严禁用于欺骗、攻击、未经授权访问等任何非法用途。使用本模块时请确保:
违法使用造成的一切法律后果由使用者自行承担,项目作者不承担任何责任。
⚠️ Important Notice This project is for educational and legitimate development/debugging purposes ONLY. It is strictly prohibited to use for any illegal purposes, including but not limited to: deception, cracking commercial software, interfering with others’ devices, unauthorized tracking, malicious attacks, etc. Users are solely responsible for any legal consequences arising from the use of this module. Please comply with local laws and regulations.
A powerful Xposed/LSPosed module for injecting virtual BLE devices into Android system Bluetooth scan results, facilitating Bluetooth application debugging for developers.
For full source code, documentation, and best practices, please visit the main repository.
If this project is helpful to you, please give it a ⭐ Star!
AA:BB:CC:DD:EE:FFThe system automatically selects the best mode based on data length:
Legacy Advertising Mode (1-31 bytes)
02 01 06 09 09 4D79426561636F6E (Flags + device name “MyBeacon”)Legacy Advertising + Scan Response (32-62 bytes)
Extended Advertising Mode (63-254 bytes)
Tap the “Auto-generate advertising data from device name” button, and the system will automatically generate standard BLE advertising data containing Flags and device name.
The module implements virtual device injection by hooking the ScanController.onScanResultInternal() method (located in com.android.bluetooth.le_scan.ScanController).
Key Hook Point (based on AOSP source code analysis):
com/android/bluetooth/le_scan/ScanController.javaonScanResultInternal() (line 362)BLE advertising data uses AD (Advertising Data) structure format:
[Length] [Type] [Data...] [Length] [Type] [Data...]
This project is licensed under the MIT License.
If you encounter any issues or have suggestions, feel free to submit an Issue or Pull Request.
Disclaimer: This module is for educational and legitimate development/debugging purposes only. It is strictly prohibited to use for deception, attacks, unauthorized access, or any other illegal purposes. When using this module, please ensure:
All legal consequences arising from illegal use are the sole responsibility of the user, and the project author assumes no liability.
com.jingyu233.bluetoothhook
Release Type: Stable
12/22/2025, 1:43:39 PM
BluetoothHook - 向 Android 系统蓝牙扫描结果中注入虚拟 BLE 设备