Wireless "Rubber ducky" controlled by Android.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
resources/ducky scripts



Wireless "Rubber ducky" controlled by Android.

What is it?
It's a device that can be connected to a PC and pretend to be keyboard and mouse. The user can trigger specific actions using Android through bluetooth.

What can you do with it?
Plug it in to your friend's PC and by pressing a button on your android smartphone:

  • access a website
  • play a youtube video
  • type pre-defined text of your choice
  • download and execute file
  • move mouse cursor
  • and much more

Youtube video - review and presentation
Youtube video - functionality
Youtube video - early version

Implementation details
The Android application was made using "MIT App Inventor 2" and is open source (see source/supremeDuck.aia). Initially it was made with Arduino Pro Micro and HC-06 bluetooth module. Currently it can also be made and used with Esp8266 wi-fi module instead of HC-06 using the same hardware setup spacehuhn used here.

Is it going to work on any PC and work work instantly?
It works well with Windows 10 and Windows 8, it is problematic on Windows 7 (driver installation popup takes long time and sometimes requires replugging device). It should work on Linux/Mac but great majority of functions is designed specifically for Windows.

What makes it stand out from other similar projects?
Keyboard simulating devices work differently depending on the system language setting. At the moment (03/07/2018) the original HAK5 rubber ducky, Seytonic's Malduino, spacehuhn's wifi_ducky or The Darkwing Duck created by Amateur Security Research Group require the user to pick a keyboard language setting before uploading the code. It means that device has to be re-programmed before using it with different PCs if they have different language settings. supremeDuck handles the aforementioned problem in 2 ways:

  1. It dynamically changes the desired language settings through Android app whenever needed (the device must be turned on while changing it).
  2. It takes advantage of the fact that Windows allows a tricky method of typing characters (by using ALT + NUMPAD keys it is possible to type the ASCII code and the desired character will be typed). As a result the device can be set to work with all of the most frequently used language settings without the need to change anything (as long as it's used on Windows). In the options of the android app it's possible to dynamically enable and disable it (it's called "MultiLang - Windows only").

How to make it or get it?

  1. Visit and follow this tutorial about the bluetooth version.
    1a. See this guide to see how to make the wifi based version.
  2. Buy it from me. It's available at: http://prankingdevice.co.uk

Usage and more info is available in wiki section
List of updates is here