Easy-to-use keystroke injection payload generator for the Arduino.
Project description
📦 arduck
Overview
This package provides a simple and flexible way to generate keystroke injection scripts. It supports a variety of boards and keyboard layouts.
Rather than relying on expensive proprietary devices (rubberducky cough cough), you can use any Arduino-compatible board that supports the Keyboard.h library.
Installation
Install the package from PyPI by running:
$ pip install arduck
Usage
Start generating payloads right away with the duck console script:
$ duck "helloworld!\n"
This will create a sketch.ino file in the current working directory.
Compiling and uploading the code to an Arduino board will make it emulate the keystrokes when plugged into a computer.
Be ready to quickly disconnect the board to avoid triggering the payload on your machine.
Special Keys
To inject special keys (e.g. CAPS_LOCK), wrap them in <>.
When specifying a special key, the KEY_ prefix can be omitted.
$ duck "<F1>"
All default special keys are listed here. Note that some keyboards may have support for other non-standard keys.
Key Combinations
To emulate pressing multiple keys at once wrap them in <>, separated by a +.
$ duck "<LEFT_GUI+r>calc.exe\n"
Add delays
An optional delay in milliseconds can be added in between strings in the input.
$ duck "<LEFT_GUI+r>" 700 "notepad.exe\n" 500 "hello\n" "world!\n"
More Features
Check out the official documentation for a more comprehensive list of features.
A Word of Caution
Be careful when using and testing arduino scripts that emulate keyboard and mouse presses, because they might make it difficult to program your board. And please, always ask for permission from the owner of the machine before plugging in any external devices. Keep in mind that, if abused, this tool has the potential to cause serious harm.
This software is distributed ‘as is’ and without warranties of any kind, either express or implied. Use of the software is at your own risk.
Documentation
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arduck-0.0.3.tar.gz.
File metadata
- Download URL: arduck-0.0.3.tar.gz
- Upload date:
- Size: 71.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f55427b73f7180a270f88ff07d0a4e083e6cfb78de28805af6cd928263c1aafd
|
|
| MD5 |
1d3550e725c6a616a9065ae30fdcfb6f
|
|
| BLAKE2b-256 |
5b3577a34fde228bda6d26d04fd8af86313bbb1c0247e6455977d85f7cfff21d
|
Provenance
The following attestation bundles were made for arduck-0.0.3.tar.gz:
Publisher:
release.yaml on x55xaa/arduck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arduck-0.0.3.tar.gz -
Subject digest:
f55427b73f7180a270f88ff07d0a4e083e6cfb78de28805af6cd928263c1aafd - Sigstore transparency entry: 215739512
- Sigstore integration time:
-
Permalink:
x55xaa/arduck@efceed2f4e3c1292c8c0960229e03244c9ecaa4d -
Branch / Tag:
refs/tags/v0.0.3 - Owner: https://github.com/x55xaa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@efceed2f4e3c1292c8c0960229e03244c9ecaa4d -
Trigger Event:
push
-
Statement type:
File details
Details for the file arduck-0.0.3-py3-none-any.whl.
File metadata
- Download URL: arduck-0.0.3-py3-none-any.whl
- Upload date:
- Size: 52.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab7ae43f7f95401b0584309c08008a72f9e3fdfb5c71b30688398e2cc69421b1
|
|
| MD5 |
8334fae951408c2d1e7801d317686a90
|
|
| BLAKE2b-256 |
31826f29f00c9e6516316a89a9197a20f2d68dadb0cce88dd5453fd309b48206
|
Provenance
The following attestation bundles were made for arduck-0.0.3-py3-none-any.whl:
Publisher:
release.yaml on x55xaa/arduck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arduck-0.0.3-py3-none-any.whl -
Subject digest:
ab7ae43f7f95401b0584309c08008a72f9e3fdfb5c71b30688398e2cc69421b1 - Sigstore transparency entry: 215739513
- Sigstore integration time:
-
Permalink:
x55xaa/arduck@efceed2f4e3c1292c8c0960229e03244c9ecaa4d -
Branch / Tag:
refs/tags/v0.0.3 - Owner: https://github.com/x55xaa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@efceed2f4e3c1292c8c0960229e03244c9ecaa4d -
Trigger Event:
push
-
Statement type: