Jump to content

[RELEASE] HTML Duck Encoder

Recommended Posts

Hi everyone,

In an effort to lower the barrier to entry of writing Ducky Scripts even more, our newest addition to the development team @dallaswinger has created a totally self-contained HTML file which acts as a Ducky Script encoder.

In addition to supporting all currently available commands the original Java based Duckencoder, this new version also supports different keyboard layouts in the form of the Bash Bunny language files.

We will be adding more features to this encoder soon, and are especially looking forward to your feedback. Please leave all suggestions or bug reports in this thread.

The jsencoder.html file can be found attached to this post and should be considered to be in beta. If it drinks your coffee, eats your pets, or starts an intergalactic war, please blame @dallaswinger.

Note: You currently need an internet connection to load the bootstrap CSS and jQuery JS files. As this is not the final release, we have forgone including them inside of the HTML.

Grab the download from the Hak5 Download Center.


  • Like 7
  • Upvote 1
Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

I'm trying to set the STRING_DELAY amount to 10, but anything under 20 and I get complete garbage - volume changes, screen takes a photo of itself, random characters type. I made a test STRING before the STRING_DELAY 10, and the test string works fine... until it gets to the delay. It's about as simple a script as can possibly be made, so what am I doing wrong?

STRING this is a test and only a test

STRING_DELAY 10 this is a test and only a test


For the record, if I type "STRING DELAY 20 this is a test and only a test" or anything higher than 20, it comes out fine. I'm using the newest HTML Ducky Encoder (beta)... perhaps that's the issue?

Link to comment
Share on other sites

  • 6 months later...
  • 2 weeks later...
16 minutes ago, Gaptastic said:

FYI - I don't think the link on the hak5 downloads site is working for the jsencoder.  Had to come to the forums for it.  This is the message i get when try to down load it: 

{"error_message":"tool version not found"}

This is really a bummer. I opened up a bug report about it.

I did discover that using nw.js (node webkit) I can make the script into an executable. But the size of the webkit is so big that it borders insanity.

I did manage to build a version for it but it grew to an insane 109mb just for the win64 version...

I guess I'm going to have to move to the older java version or something as I don't like using chromium

Link to comment
Share on other sites

  • Foxtrot changed the title to [RELEASE] HTML Duck Encoder
  • 1 year later...
  • 6 months later...

Right then.

Working happily with the nice encoder script. Works beautifully.



I'm not a native american-speaker, and my PC is not setup with US keyboard. So, I got hold of the BashBunny language json file and entered that by cliucking the "Change keyboard layout" button, search up the relevant file and select it. In my case 'dk.json'.


Now scripts work as intended. Nice


However, re-selecting dk.json on every Duck Encoder start gets old really quickly.


Is there a way to automate selection of a language different from US? Add <path-to-language.json> as parameter or similar?

Link to comment
Share on other sites

50 minutes ago, dark_pyrro said:

Perhaps replace the content of the defaultUSKbdLayout variable (line 290-ish in the JSEncoder file) with the relevant content sourced from the dk.json file.

I've had that thought. I know very little about the whole 'active HTML content' scene and wanted to start out by investigating if someone had already made provisions for language-handling along those lines.


Modding the code is a logical next step. Albeit a nonideal way of doing it as I'll effectively be making a fork which I'll then have to maintain myself.


Oh well.

Link to comment
Share on other sites

Well, your choice.... either select the dk.json everytime or do the work and change the JSEncoder file. Can't see that it would be much of an issue "maintaining" it. The language file will be the same and the JSEncoder is soon to be 4 years old, so the change rate of that file/solution isn't a problem really.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...