Compare commits
2 Commits
0a40daf4fa
...
428605c762
| Author | SHA1 | Date |
|---|---|---|
|
|
428605c762 | |
|
|
097b106587 |
|
|
@ -0,0 +1,46 @@
|
||||||
|
|
||||||
|
# 🛰️ Orion RF (WIP)
|
||||||
|
|
||||||
|
**Orion RF** is a portable RF & wireless experimentation toolkit built for the ESP32 platform.
|
||||||
|
|
||||||
|
> ⚠️ This project is **work in progress** — many features are planned but not yet implemented.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Current Features
|
||||||
|
|
||||||
|
* **BLE Scanning**
|
||||||
|
|
||||||
|
* Discover nearby Bluetooth Low Energy devices
|
||||||
|
* Display device info (MAC, RSSI, etc.)
|
||||||
|
|
||||||
|
* **WiFi Scanning**
|
||||||
|
|
||||||
|
* Scan nearby access points
|
||||||
|
* View SSID, signal strength, channel, encryption
|
||||||
|
|
||||||
|
* **WiFi Packet Analysis**
|
||||||
|
|
||||||
|
* Basic packet inspection and monitoring
|
||||||
|
* Useful for learning wireless traffic behavior
|
||||||
|
|
||||||
|
* **BadUSB**
|
||||||
|
|
||||||
|
* HID-based payload execution
|
||||||
|
* Emulate keyboard input for automation/testing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧩 Project Status
|
||||||
|
|
||||||
|
| Feature | Status |
|
||||||
|
| ----------------- | ---------- |
|
||||||
|
| BLE Scan | ✅ Working |
|
||||||
|
| WiFi Scan | ✅ Working |
|
||||||
|
| Packet Analysis | ✅ Working |
|
||||||
|
| BadUSB | ✅ Working |
|
||||||
|
| SD Card | 🚧 WIP |
|
||||||
|
| RF Capture/Replay | 🚧 WIP |
|
||||||
|
| Emulator | 🚧 WIP |
|
||||||
|
| NFC | 🚧 Planned |
|
||||||
|
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <BleMouse.h>
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include "buttons.h"
|
||||||
|
#include "display.h"
|
||||||
|
|
||||||
|
// ===== BLE MOUSE =====
|
||||||
|
BleMouse bleMouse("Orion-RF", "Orion-RF", 100);
|
||||||
|
|
||||||
|
// ===== MAIN =====
|
||||||
|
void ble_mouse_run()
|
||||||
|
{
|
||||||
|
bleMouse.begin();
|
||||||
|
|
||||||
|
// simple screen
|
||||||
|
u8g2.clearBuffer();
|
||||||
|
u8g2.setFont(u8g2_font_6x10_tr);
|
||||||
|
u8g2.drawStr(10, 25, "BLE Mouse");
|
||||||
|
u8g2.drawStr(10, 45, "Connecting...");
|
||||||
|
u8g2.sendBuffer();
|
||||||
|
|
||||||
|
delay(1000);
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
if (btnBack()) break;
|
||||||
|
|
||||||
|
bool connected = bleMouse.isConnected();
|
||||||
|
|
||||||
|
int dx = 0;
|
||||||
|
int dy = 0;
|
||||||
|
|
||||||
|
if (connected)
|
||||||
|
{
|
||||||
|
if (!digitalRead(BTN_UP)) dy = -8;
|
||||||
|
if (!digitalRead(BTN_DOWN)) dy = 8;
|
||||||
|
if (!digitalRead(BTN_LEFT)) dx = -8;
|
||||||
|
if (!digitalRead(BTN_RIGHT)) dx = 8;
|
||||||
|
|
||||||
|
if (dx != 0 || dy != 0)
|
||||||
|
bleMouse.move(dx, dy);
|
||||||
|
|
||||||
|
if (!digitalRead(BTN_SELECT))
|
||||||
|
bleMouse.click(MOUSE_LEFT);
|
||||||
|
|
||||||
|
if (!digitalRead(BTN_BACK))
|
||||||
|
bleMouse.click(MOUSE_RIGHT);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===== UI =====
|
||||||
|
u8g2.clearBuffer();
|
||||||
|
u8g2.setFont(u8g2_font_6x10_tr);
|
||||||
|
|
||||||
|
u8g2.drawStr(10, 20, "BLE Mouse");
|
||||||
|
|
||||||
|
if (connected)
|
||||||
|
u8g2.drawStr(10, 35, "Status: Connected");
|
||||||
|
else
|
||||||
|
u8g2.drawStr(10, 35, "Status: Waiting");
|
||||||
|
|
||||||
|
u8g2.drawStr(10, 55, "BACK = Exit");
|
||||||
|
|
||||||
|
u8g2.sendBuffer();
|
||||||
|
|
||||||
|
delay(30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
void ble_mouse_run();
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
#include "wifi_scan.h"
|
#include "wifi_scan.h"
|
||||||
#include "wifi_analyzer.h"
|
#include "wifi_analyzer.h"
|
||||||
#include "device_check.h"
|
#include "device_check.h"
|
||||||
|
#include "blemouse.h"
|
||||||
|
|
||||||
// ================= FEATURE HANDLERS =================
|
// ================= FEATURE HANDLERS =================
|
||||||
void runSystemInfoFeature();
|
void runSystemInfoFeature();
|
||||||
|
|
@ -29,7 +30,8 @@ const char *mainMenuItems[] = {
|
||||||
"Wifi Analyzer",
|
"Wifi Analyzer",
|
||||||
"System Info",
|
"System Info",
|
||||||
"Device Check",
|
"Device Check",
|
||||||
"Restart"
|
"Restart",
|
||||||
|
"Ble Mouse"
|
||||||
};
|
};
|
||||||
|
|
||||||
Menu mainMenu = {mainMenuItems, sizeof(mainMenuItems) / sizeof(mainMenuItems[0])};
|
Menu mainMenu = {mainMenuItems, sizeof(mainMenuItems) / sizeof(mainMenuItems[0])};
|
||||||
|
|
@ -184,6 +186,9 @@ void launchFeature()
|
||||||
delay(1000);
|
delay(1000);
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
break;
|
break;
|
||||||
|
case 9:
|
||||||
|
ble_mouse_run();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (currentMenu == &badusbMenu)
|
else if (currentMenu == &badusbMenu)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue