spacehuhn / wifi_ducky

Upload, save and run keystroke injection payloads with an ESP8266 + ATMEGA32U4
MIT License
1.28k stars 295 forks source link

DigiSpark Support #3

Open spacehuhn opened 7 years ago

spacehuhn commented 7 years ago

Ok so I tried to port the atmega part onto the digispark, but there are a few problems:

No Serial Port That problem can be solved by using software serial. But you can't use that together with the keyboard library. Luckily someone wrote a library which solves that problem: https://github.com/J-Rios/Digispark_SoftSerial-INT0 But the serial port is still buggy and I couldn't get it to work properly.

Lack of Keyboard Keys There aren't all keys supported in the digispark keyboard library. The Arduino keyboard library is way better! I'm sure you could still send every key, but to find what byte is for which key means a lot of try and error. Not impossible, though very annoying. And then you still have the problem with the different keyboard layouts for each country. The Arduino library has already translations available: https://github.com/Nurrl/LocaleKeyboard.js

Not enough Memory Getting the ducky script interpreter on the attiny85 isn't that easy, it's to big! Maybe with clever code design it should be possible. An other approach here is to let the ESP8266 interpret the Ducky Script and just send the plain keys to the DigiSpark. However... that's a lot of work.

I haven't given up on this yet, however any help is much appreciated! Update: The ATtiny85 isn't made for USB, it's a cheap and simple SoC which can do simple stuff. However bit-banging a USB port shouldn't be a part of this! Even if you would get it to work, it would mean a lot of work to get a very unreliable result. I won't proceed in this any further.

TheTerminater01 commented 7 years ago

I would love to colab with your on this enhancement ill keep you updated with what I find out.