Skip to content

Commit

Permalink
Merge branch 'main' into interface
Browse files Browse the repository at this point in the history
  • Loading branch information
bmorcelli authored Nov 14, 2024
2 parents 53b2123 + de50cff commit 16c6c40
Show file tree
Hide file tree
Showing 8 changed files with 285 additions and 38 deletions.
111 changes: 75 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,32 +33,38 @@ Also, [read our FAQ](https://github.com/pr3y/Bruce/wiki/FAQ)

## :computer: List of Features

### WiFi
- [x] Connect to WiFi
- [x] WiFi AP
- [x] Disconnect WiFi
- [X] [WiFi Atks](https://github.com/pr3y/Bruce/wiki/WiFi#wifi-atks)
- [x] [Beacon Spam](https://github.com/pr3y/Bruce/wiki/WiFi#beacon-spam)
- [x] [Target Atk](https://github.com/pr3y/Bruce/wiki/WiFi#target-atk)
- [x] Information
- [X] Target Deauth
- [X] EvilPortal + Deauth
- [X] Deauth Flood (More than one target)
- [X] [Wardriving](https://github.com/pr3y/Bruce/wiki/Wardriving)
- [X] [TelNet](https://github.com/pr3y/Bruce/wiki/WiFi#telnet)
- [X] [SSH](https://github.com/pr3y/Bruce/wiki/WiFi#ssh)
- [x] [RAW Sniffer](https://github.com/pr3y/Bruce/wiki/WiFi#raw-sniffer)
- [x] [DPWO-ESP32](https://github.com/pr3y/Bruce/wiki/WiFi#dpwo-esp32)
- [x] [Evil Portal](https://github.com/pr3y/Bruce/wiki/WiFi#evil-portal)
- [X] [Scan Hosts](https://github.com/pr3y/Bruce/wiki/WiFi#evil-portal)
- [x] [Wireguard Tunneling](https://github.com/pr3y/Bruce/wiki/WiFi#wireguard-tunneling)
<details>
<summary><h2>WiFi</h2></summary>

- [x] Connect to WiFi
- [x] WiFi AP
- [x] Disconnect WiFi
- [x] [WiFi Atks](https://github.com/pr3y/Bruce/wiki/WiFi#wifi-atks)
- [x] [Beacon Spam](https://github.com/pr3y/Bruce/wiki/WiFi#beacon-spam)
- [x] [Target Atk](https://github.com/pr3y/Bruce/wiki/WiFi#target-atk)
- [x] Information
- [x] Target Deauth
- [x] EvilPortal + Deauth
- [x] Deauth Flood (More than one target)
- [x] [Wardriving](https://github.com/pr3y/Bruce/wiki/Wardriving)
- [x] [TelNet](https://github.com/pr3y/Bruce/wiki/WiFi#telnet)
- [x] [SSH](https://github.com/pr3y/Bruce/wiki/WiFi#ssh)
- [x] [RAW Sniffer](https://github.com/pr3y/Bruce/wiki/WiFi#raw-sniffer)
- [x] [DPWO-ESP32](https://github.com/pr3y/Bruce/wiki/WiFi#dpwo-esp32)
- [x] [Evil Portal](https://github.com/pr3y/Bruce/wiki/WiFi#evil-portal)
- [x] [Scan Hosts](https://github.com/pr3y/Bruce/wiki/WiFi#evil-portal)
- [x] [Wireguard Tunneling](https://github.com/pr3y/Bruce/wiki/WiFi#wireguard-tunneling)
- [x] Brucegotchi
- [x] Pwnagotchi friend
- [x] Pwngrid spam faces & names
- [x] [Optional] DoScreen a very long name and face
- [x] [Optional] Flood uniq peer identifiers
- [x] Pwnagotchi friend
- [x] Pwngrid spam faces & names
- [x] [Optional] DoScreen a very long name and face
- [x] [Optional] Flood uniq peer identifiers

### BLE
</details>

<details>
<summary><h2>BLE</h2></summary>

- [X] [BLE Scan](https://github.com/pr3y/Bruce/wiki/BLE#ble-scan)
- [X] Bad BLE - Run Ducky scripts, similar to [BadUsb](https://github.com/pr3y/Bruce/wiki/Others#badusb)
- [X] BLE Keyboard - Cardputer Only (for now)
Expand All @@ -67,8 +73,12 @@ Also, [read our FAQ](https://github.com/pr3y/Bruce/wiki/FAQ)
- [X] Samsung Spam
- [X] Android Spam
- [X] Spam All
</details>


### RF
<details>
<summary><h2>RF</h2></summary>

- [x] Scan/Copy
- [x] [Custom SubGhz](https://github.com/pr3y/Bruce/wiki/RF#replay-payloads-like-flipper)
- [x] Spectrum
Expand All @@ -82,8 +92,11 @@ Also, [read our FAQ](https://github.com/pr3y/Bruce/wiki/FAQ)
- [x] [CC1101 (Sub-Ghz)](https://github.com/pr3y/Bruce/wiki/CC1101)
- [X] RF Frequency
- [x] Replay
</details>

### RFID
<details>
<summary><h2>RFID</h2></summary>

- [x] Read tag
- [x] Read 125kHz
- [x] Clone tag
Expand All @@ -98,32 +111,47 @@ Also, [read our FAQ](https://github.com/pr3y/Bruce/wiki/FAQ)
- [X] [RFID Module](https://github.com/pr3y/Bruce/wiki/RFID#supported-modules)
- [x] PN532
- [ ] Emulate tag
</details>

### IR
<details>
<summary><h2>IR</h2></summary>

- [x] TV-B-Gone
- [x] IR Receiver
- [x] [Custom IR (NEC, NEC42, NECExt, SIRC, SIRC15, SIRC20, Samsung32, RC5, RC5X, RC6)](https://github.com/pr3y/Bruce/wiki/IR#replay-payloads-like-flipper)
- [x] Config
- [X] Ir TX Pin
- [X] Ir RX Pin
</details>

### FM
<details>
<summary><h2>FM</h2></summary>

- [x] [Broadcast standard](https://github.com/pr3y/Bruce/wiki/FM#play_or_pause_button-broadcast-standard)
- [x] [Broadcast reserved](https://github.com/pr3y/Bruce/wiki/FM#no_entry_sign-broadcast-rerserved)
- [x] [Broadcast stop](https://github.com/pr3y/Bruce/wiki/FM#stop_button-broadcast-stop)
- [ ] [FM Spectrum](https://github.com/pr3y/Bruce/wiki/FM#ocean-fm-spectrum)
- [ ] [Hijack Traffic Announcements](https://github.com/pr3y/Bruce/wiki/FM#car-hijack-ta)
- [ ] [Config](https://github.com/pr3y/Bruce/wiki/FM#bookmark_tabs-config)
</details>

### NRF24
<details>
<summary><h2>NRF24</h2></summary>

- [X] [NRF24 Jammer](https://github.com/pr3y/Bruce/wiki/BLE#nrf24-jammer)
- [X] 2.4G Spectrum
- [ ] Mousejack
</details>

### Scripts
<details>
<summary><h2>Scripts</h2></summary>

- [X] [JavaScript Interpreter](https://github.com/pr3y/Bruce/wiki/Interpreter) [Credits to justinknight93](https://github.com/justinknight93/Doolittle)
</details>

### Others
<details>
<summary><h2>Others</h2></summary>

- [X] Mic Spectrum
- [X] QRCodes
- [x] Custom
Expand All @@ -145,17 +173,26 @@ Also, [read our FAQ](https://github.com/pr3y/Bruce/wiki/FAQ)
- [x] USB Keyboard
- [x] [Openhaystack](https://github.com/pr3y/Bruce/wiki/Others#openhaystack)
- [x] [LED Control](https://github.com/pr3y/Bruce/wiki/Others#led-control)
</details>

### Clock
<details>
<summary><h2>Clock</h2></summary>

- [X] RTC Support
- [X] NTP time adjust
- [X] Manual adjust
</details>

### Connect (ESPNOW)
<details>
<summary><h2>Connect (ESPNOW)</h2></summary>

- [X] Send File
- [X] Receive File
</details>

### Config
<details>
<summary><h2>Config</h2></summary>

- [x] Brightness
- [x] Dim Time
- [x] Orientation
Expand All @@ -164,6 +201,7 @@ Also, [read our FAQ](https://github.com/pr3y/Bruce/wiki/FAQ)
- [x] Clock
- [x] Sleep
- [x] Restart
</details>

## Specific functions per Device, the ones not mentioned here are available to all.
| Device | CC1101 | NRF24 | Interpreter | FMRadio | PN532 | Mic_SPM1423 | BadUSB | RGB Led | Speaker | LITE_MODE |
Expand All @@ -174,15 +212,16 @@ Also, [read our FAQ](https://github.com/pr3y/Bruce/wiki/FAQ)
| Core | :x: | :x: | :x: | :x: | :x: | :ok: | :x: | :x: | Tone | :x: |
| Core2 | :x: | :x: | :x: | :x: | :x: | :ok: | :x: | :x: | :x: | :x: |
| CoreSe/SE | :x: | :x: | :ok: | :x: | :x: | :x: | :ok: | :x: | :x: | :x: |
| CYD-2432S028 | :ok: | :ok: | :ok: | :x: | :ok: | :x: | :ok: | :x: | :x: | :x:* |
| CYD-2432S028 | :ok: | :ok: | :ok: | :x: | :ok: | :x: | :ok: | :x: | :x: | :x: |
| Lilygo T-Embed CC1101 | :ok: | :x: | :x: | :x: | :ok: | :x: | :x: | :x: | :x: | :x: |


*LITE_MODE*: TelNet, SSH, DPWO, WireGuard, ScanHosts, RawSniffer, Brucegotchi, BLEBacon, BLEScan, Interpreter and OpenHaystack are NOT available for M5Launcher Compatibility
* CYD has a LITE_MODE version for Launcher Compatibility

## :sparkles: Why and how does it look?

Bruce stems from a keen observation within the community focused on devices like Flipper Zero. While these devices offered a glimpse into the world of offensive security, there was a palpable sense that something more could be achieved without being that overpriced, particularly with the robust and modular hardware ecosystem provided by m5stack products.
Bruce stems from a keen observation within the community focused on devices like Flipper Zero. While these devices offered a glimpse into the world of offensive security, there was a palpable sense that something more could be achieved without being that overpriced, particularly with the robust and modular hardware ecosystem provided by ESP32 Devices, Lilygo and M5Stack products.

![Bruce Main Menu](./media/pictures/pic1.png)
![Bruce on M5Core](./media/pictures/core.png)
Expand Down
Binary file added media/connections/rc522_stick.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ lib_deps =
https://github.com/rennancockles/MFRC522-I2C
https://github.com/rennancockles/ESP-ChameleonUltra
https://github.com/rennancockles/ESP-Amiibolink
https://github.com/whywilson/ESP-PN532BLE
NTPClient
Timezone
ESP32Time
Expand All @@ -82,3 +83,4 @@ lib_deps =
tobozo/ESP32-PSRamFS
;chegewara/EspTinyUSB
bitbank2/AnimatedGIF

2 changes: 2 additions & 0 deletions src/core/menu_items/RFIDMenu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "modules/rfid/rfid125.h"
#include "modules/rfid/chameleon.h"
#include "modules/rfid/amiibo.h"
#include "modules/rfid/pn532ble.h"

void RFIDMenu::optionsMenu() {
options = {
Expand All @@ -16,6 +17,7 @@ void RFIDMenu::optionsMenu() {
{"Write NDEF", [=]() { TagOMatic(TagOMatic::WRITE_NDEF_MODE); }},
{"Amiibolink", [=]() { Amiibo(); }},
{"Chameleon", [=]() { Chameleon(); }},
{"PN532 BLE", [=]() { Pn532ble(); }},
{"Config", [=]() { configMenu(); }},
{"Main Menu", [=]() { backToMenu(); }},
};
Expand Down
7 changes: 6 additions & 1 deletion src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ void setup_gpio() {
//init setup from /ports/*/interface.h
_setup_gpio();


#if defined(BACKLIGHT)
pinMode(BACKLIGHT, OUTPUT);
#endif
Expand Down Expand Up @@ -183,6 +184,7 @@ void boot_screen() {
tft.fillScreen(TFT_BLACK);
}


/*********************************************************************
** Function: init_clock
** Clock initialisation for propper display in menu
Expand All @@ -197,6 +199,7 @@ void init_clock() {
#endif
}


/*********************************************************************
** Function: startup_sound
** Play sound or tone depending on device hardware
Expand All @@ -218,6 +221,7 @@ void startup_sound() {
#endif
}


/*********************************************************************
** Function: setup
** Where the devices are started and variables set
Expand All @@ -241,7 +245,7 @@ void setup() {
BLEConnected=false;

setup_gpio();

#if TFT_MOSI==SDCARD_MOSI // If TFT and SD_Card shares the same SPI Bus, TFT must be initialized before.
bruceConfig.bright=100; // theres is no value yet
begin_tft();
Expand Down Expand Up @@ -271,6 +275,7 @@ void setup() {

delay(200);
previousMillis = millis();
setBrightness(bruceConfig.bright);
}

/**********************************************************************
Expand Down
2 changes: 1 addition & 1 deletion src/modules/rfid/amiibo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ bool Amiibo::connect() {
}

if (!amiibolink.connectToDevice()) {
displayError("Chameleon connect error");
displayError("Amiibolink connect error");
delay(1000);
return false;
}
Expand Down
Loading

0 comments on commit 16c6c40

Please sign in to comment.