EmenstaNougat/ESP32-BlueJammer
主な特徴
- **2.4GHz全帯域干渉**: Bluetooth、BLE、WiFi、RCドローンなど全てを妨害
- **30メートル以上の有効範囲**: 標準アンテナ使用時
- **即座に動作**: 電源オンで自動的にジャミング開始
- **複数の動作モード**: コンボファームウェアで切り替え可能
- **OLEDディスプレイ対応**: 動作状態の表示
- **バッテリー駆動可能**: ポータブル使用に対応
リポジトリ解析: EmenstaNougat/ESP32-BlueJammer
基本情報
- リポジトリ名: EmenstaNougat/ESP32-BlueJammer
- 主要言語: C++ (Arduino)
- スター数: 1,000
- フォーク数: 123
- 最終更新: 2025年8月(活発に更新中)
- ライセンス: 明記なし(クローズドソース)
- トピックス: Bluetooth Jammer, WiFi Jammer, 2.4GHz Jammer, ESP32, nRF24L01, IoT Security
概要
一言で言うと
ESP32と2つのnRF24L01モジュールを使用して2.4GHz帯全体に干渉を発生させるジャミングデバイス。法的に違法であり、悪意のある使用は禁止されている。
詳細説明
ESP32-BlueJammerは、2.4GHz周波数帯で動作する様々なデバイスを妨害するために設計されたジャミングデバイスです。Bluetooth、BLE、WiFi、RCドローンなど2.4GHzで動作するあらゆる機器を干渉します。
開発者は「教育目的」と「セキュリティテスト」を意図していると主張していますが、ジャミングデバイスの使用はほとんどの国で違法であり、正当な通信を妨害するため重大な法的結果を招く可能性があります。
ソースコードは公開されておらず、コンパイル済みのバイナリファイルのみが提供されています。
主な特徴
- 2.4GHz全帯域干渉: Bluetooth、BLE、WiFi、RCドローンなど全てを妨害
- 30メートル以上の有効範囲: 標準アンテナ使用時
- 即座に動作: 電源オンで自動的にジャミング開始
- 複数の動作モード: コンボファームウェアで切り替え可能
- OLEDディスプレイ対応: 動作状態の表示
- バッテリー駆動可能: ポータブル使用に対応
重要な警告: このデバイスの使用はほとんどの国で違法であり、法的な罰則の対象となります。
使用方法
ハードウェア構成
必須コンポーネント
- ESP32 Dev Module (ESP32-32U CP2102推奨、38ピン)
- nRF24L01+PA+LNA × 2個
- 10-100μF コンデンサ × 2個 (5V以上)
- プロトタイプPCB (7×5.5cm以内)
オプションコンポーネント
- 0.96インチ I2C OLEDディスプレイ
- 第3アンテナ (IPEX to SMA-Fピグテール)
- ステータスLED (3mm) + 4.7kΩ抵抗
- バッテリーシステム: 3.7V Li-Ionバッテリー、JST PH 2.0コネクタ、TP4056充電モジュール、スライドスイッチ
ファームウェアインストール
方法1: Webフラッシャー(簡単)
- ESP32-BlueJammerFlasherにアクセス
- ファームウェアタイプ選択(GenericまたはOLED)
- ESP32をUSB接続
- ファームウェアをフラッシュ
方法2: BlueFlasher.exe(Windows)
- BlueFlasher.exeをダウンロード
- COMポートを選択
- Bootボタンを押しながらファームウェア選択
- Bootボタンを離してフラッシュ完了を待つ
方法3: バイナリファイル直接(上級者向け)
- Firmware_Filesディレクトリから.binファイルを使用
- 任意のESP32フラッシャーで書き込み
動作方法
基本動作
- 電源を入れると即座にジャミング開始(起動ボタンなし)
- 全てのモードは電源オンで自動的に動作
コンボファームウェアのモード切り替え
- Bootボタンでチャンネルモード切り替え
- OLEDに現在の動作チャンネル表示
- ステータスLEDの点滅回数でモード確認:
- 1回点滅 = Bluetooth
- 2回点滅 = BLE
- 3回点滅 = WiFi
- 4回点滅 = RC
単一モードファームウェア
ファームウェア名が動作モードを示す:
- Bluetooth_80_CH: クラシックBluetoothのみ
- BluetoothLowEnergy_40_CH: BLEのみ
- Bluetooth-BluetoothLowEnergy_40-80_CH: 両方
- Bluetooth-WiFi_14-80_CH: BluetoothとWiFi
- WiFi_14_CH: WiFiのみ
- 2.4GHzRemoteControl_1-125_CH: RCドローン等
注意: このデバイスの使用は違法であり、正当な通信を妨害します。
ドキュメント・リソース
公式ドキュメント
- README.md: 詳細なハードウェア構成、配線図、フラッシュ手順
- BlueFlasher/README.md: Windowsフラッシャーの使用方法
- 公式ウェブサイト: https://emensta.pages.dev
- Discordサーバー: https://discord.gg/emensta
サンプル・デモ
- 組み立てチュートリアル: TikTokビデオ
- 動作デモ: Bluetoothスピーカーの音声中断など
- フラッシュプロセス: ステップバイステップガイド
- YouTubeチュートリアル: @ElMackflayによる解説
チュートリアル・ガイド
- DIY組み立てガイド(動画)
- 配線図とピン配置
- 3Dプリントケースの設計ファイル
- PCBレイアウト図
技術的詳細
アーキテクチャ
全体構造
ESP32-BlueJammerは、ESP32マイコンを中心に2つのnRF24L01+PA+LNAモジュールを使用して2.4GHz帯域に干渉信号を発生させるシステムです。ソースコードは非公開で、コンパイル済みバイナリのみが提供されています。
ディレクトリ構成
ESP32-BlueJammer/
├── 3D files/ # 3DプリントケースのSTLファイル
│ ├── V3 ケース # 2アンテナ版
│ └── V4 ケース # 3アンテナ版
├── BlueFlasher/ # Windowsフラッシュツール
│ ├── BlueFlasher.exe
│ └── esptool.exe
├── Firmware_Files/ # コンパイル済みファームウェア
│ ├── Bootloader&Partitions/
│ ├── with_0.96in-OLED_DISPLAY/
│ └── without_0.96in-OLED_DISPLAY/
└── Gallery/ # ハードウェア画像・回路図
主要コンポーネント
-
ESP32マイコン: 中央制御、HSPI/VSPIインターフェース提供
- HSPI: GPIO 12-16で第1 nRF24を制御
- VSPI: GPIO 18-23で第2 nRF24を制御
- GPIO 4,5: I2Cインターフェース(OLED用)
- GPIO 27: ステータスLED制御
-
nRF24L01+PA+LNA × 2: 2.4GHzトランシーバー
- 各モジュールは独立したSPIバスで制御
- PA(Power Amplifier)とLNA(Low Noise Amplifier)内蔵
- 10-100μFコンデンサで電源安定化
-
オプションコンポーネント:
- OLEDディスプレイ: 動作ステータス表示
- 第3アンテナ: ESP32自体の信号強化
- バッテリーシステム: ポータビリティ向上
技術スタック
コア技術
- 言語: C++ (Arduinoフレームワーク)
- プラットフォーム: ESP32 (Xtensa LX6デュアルコア)
- 主要コンポーネント:
- nRF24L01ライブラリ: RF通信制御
- SPI通信: HSPI/VSPIデュアルバス
- I2C通信: OLEDディスプレイ制御
フラッシュツール
- Webフラッシャー: JavaScript/WebSerial API
- BlueFlasher.exe: Windowsアプリケーション
- esptool: ESP32フラッシュユーティリティ
- バイナリ分割: ブートローダー、パーティション、アプリケーション
設計パターン・手法
- デュアルSPIインターフェース: 2つのnRF24を独立制御
- マルチチャンネル干渉: 幅広い周波数範囲をカバー
- 即座動作設計: 電源オンで自動開始
- モジュラー設計: OLED、バッテリーなどオプション対応
データフロー・処理フロー
1. 電源投入
└── ファームウェア起動
2. 初期化処理
├── SPIバス初期化 (HSPI/VSPI)
├── nRF24モジュール設定
├── OLED初期化 (オプション)
└── LED設定
3. メインループ
├── モード確認 (コンボファームウェアの場合)
├── 対象周波数設定
├── 干渉信号送信 (両nRF24同時)
└── ステータス更新 (LED/OLED)
4. モード切り替え (オプション)
└── Bootボタン割り込み→モード変更
API・インターフェース
ハードウェアインターフェース
nRF24 SPIピン配置
- HSPI (nRF24 #1):
- CE: GPIO 16, CSN: GPIO 15
- SCK: GPIO 14, MOSI: GPIO 13, MISO: GPIO 12
- VSPI (nRF24 #2):
- CE: GPIO 22, CSN: GPIO 21
- SCK: GPIO 18, MOSI: GPIO 23, MISO: GPIO 19
その他のI/O
- I2C (OLED): SDA=GPIO 4, SCL=GPIO 5
- ステータスLED: GPIO 27 (低アクティブ)
- Bootボタン: GPIO 0 (モード切り替え)
周波数・チャンネル設定
各モードの周波数範囲
Bluetooth: 2.402-2.480 GHz (79ch, 1MHz幅)
BLE: 2.400-2.4835 GHz (40ch, 2MHz幅)
WiFi: 2.400-2.4835 GHz (14ch, 20MHz幅)
RC/Drones: 2.400-2.525 GHz (125ch, 1MHz幅)
ソフトウェアカスタマイズ
- ファームウェア選択: OLEDあり/なし、単一/コンボモード
- PCBオプション: DIY PCBまたはThe Blue ESPボード
- アンテナ構成: 2アンテナ(必須)または3アンテナ(拡張)
- 電源オプション: USB給電またはバッテリー駆動
注意: ソースコードは非公開で、カスタマイズはファームウェア選択に限定されます。
パフォーマンス・スケーラビリティ
パフォーマンス特性
- 有効範囲: 30メートル以上(標準アンテナ使用時)
- 対応周波数: 2.400-2.525 GHz全帯域
- 同時干渉: 複数プロトコル同時妨害可能
- 起動時間: 電源オンから即座に動作
スケーラビリティ
- アンテナ拡張: ルーター用アンテナで範囲拡大可能
- アンプ増設: 2.4GHzアンプでさらに強化可能
- 第3アンテナ: 信号安定性と範囲向上
- バッテリー駆動: 携帯性を実現
制限事項
技術的制限
- ソースコード非公開(バイナリのみ提供)
- 2.4GHz帯域のみ対応(5GHz等は非対応)
- 特定の通信のみを選択的に妨害できない
法的・倖理的制限
- 違法性: ほとんどの国でジャミングは違法
- 刑事罰: 罰金、懲役、機器没収の可能性
- 民事責任: 通信妨害による損害賠償請求
- 安全上のリスク: 緊急通信や医療機器への影響
評価・所感
技術的評価
技術的特徴
- デュアルnRF24モジュールによる幅広い周波数カバレッジ
- ESP32のSPIインターフェースを活用した効率的な制御
- コンパクトなハードウェア構成で高い携帯性
- Webフラッシャーなどユーザーフレンドリーなツール
問題点
- ソースコード非公開による透明性の欠如
- 違法性の高いデバイスであること
- 無差別な通信妨害による社会的影響
- 正当なセキュリティ研究への貢献が不明確
正当な用途(限定的)
- 法的許可を得た研究機関での電波脆弱性テスト
- 電波暗室内での制御された実験
- 防衛的セキュリティ対策の研究(合法的枠組み内)
向いていない用途(違法・非倖理的)
- 公共の場での使用
- 他人の通信を妨害する目的での使用
- 商業施設や住宅地での使用
- イベントや会議での妨害行為
- IoTデバイスやスマートホームへの攻撃
総評
ESP32-BlueJammerは技術的には興味深いプロジェクトであり、RF技術や組み込みシステムの学習材料としての側面があります。しかし、その本質は通信妨害装置であり、使用はほとんどの国で違法です。
開発者は「教育目的」を主張していますが、ソースコードの非公開、即座に動作する設計、幅広い干渉範囲など、悪用を前提とした設計が目立ちます。正当なセキュリティ研究であれば、より制御された環境で、限定的な周波数でのテストが行われるべきです。
このようなデバイスの存在は、無線通信の脆弱性を浮き彫りにし、防御的セキュリティ対策の重要性を示しています。しかし、一般向けに配布されるべきではなく、使用には厳格な法的・倖理的制限が必要です。