Using the DigiSpark to "Unicorn" work colleague who don't lock their computers.
The Digispark is an Attiny85 based microcontroller development board similar to the Arduino line, only cheaper, smaller, and a bit less powerful.
-
Digispark
- You can find these things for less than two dollars on some sites and even cheap when bought in bulk.
-
Arduino IDE installed:
- Download the Arduino IDE here
-
Victim must have Outlook installed since that's how I programmed this script.
- Seytonic over on Youtube has an ecellent setup video and a bunch of other small projects:
-
First, get the drivers for the digispark and install DPinst64:
-
Then in the Arduino IDE go to File->Prefrences->Additional Boards Manger URLs.
- Additional Board Manager URL: http://digistump.com/package_digistump_index.json
-
Next click on Tools in the Arduino IDE->Boards->Boards Manager.
- Where it says Type, you want to click the box and go to Contributed.
- Now click anywhere on Digistump AVR Boards by Digistump.
- An install button should appear in the lower right corner for you to click. (This may take a bit to install)
-
Once finished go back into Tools->Boards->Digispark(Default - 16.5mhz)
-
While the Digispark is unplugged open DigicornV1.ino
-
Finally Click upload and wait for it to compile you will be promted to plug in the device.
- Plug in your Digispark and wait till it says completed.
- Unplug the Digispark quickly or it will start to run the script on your system.
-
Now you are ready to plug the Digicorn into your victims system.
In the testing folder you will find a version of Digicorn that requires a switch attached to pin 2.
The Digispark has a five second delay on start up to allow it to be programmed but this can be removed with a custom firmaware online. You will have to add a button or wire to the digispark to override this for programming, but I do like this idea for this solution.
DigiKeyboard Source Code: https://github.com/digistump/DigisparkArduinoIntegration/blob/master/libraries/DigisparkKeyboard/DigiKeyboard.h
Here are the specs for you nerds:
- Support for the Arduino IDE 1.0+ (OSX/Win/Linux)
- Power via USB or External Source - 5v or 7-35v (12v or less recommended, automatic selection)
- On-board 500ma 5V Regulator
- Built-in USB
- 6 I/O Pins (2 are used for USB only if your program actively communicates over USB, otherwise you can use all 6 even if you are programming via USB)
- 8k Flash Memory (about 6k after bootloader) <- So script sizes can be limited
- I2C and SPI (vis USI)
- PWM on 3 pins (more possible with Software PWM)
- ADC on 4 pins
- Power LED and Test/Status LED