Nei precedenti articoli Creare una Rubber Ducky economica con una scheda Digispark e Digispark, modificare il file HOSTS in Windows 10
sono state mostrare alcune delle operazioni effettuabili con un dispositivo Digispark di pochi euro.
In questo articolo la scheda Digispark verrà programmata in modo che esegua il download di un'immagine da remoto e la imposti come sfondo di Windows.
|
FIG 1 - Digispark Kickstarter |
L'immagine che verrà scaricata è la seguente:
|
FIG 2 - Digispark, sostituzione Wallpaper |
Per i dettagli sulle caratteristiche della scheda Digispark e informazioni sulla programmazione e predisposizione dell'IDE Arduino rimando al primo articolo.
Per la programmazione del dispositivo:
- Scaricare il file Digispark_WallPaper.zip dal seguente link DOWNLOAD
- Scompattare il file e cliccare 2 volte sul file Digispark_WallPaper.INO per aprirlo nell'IDE Arduino;
- Cliccare sul tasto carica per compilare e caricare il programma sul dispositivo. Quando richiesto, collegare la scheda Digispark e attendere il caricamento del programma.
|
FIG 3 - Digispark, Programmazione tramite IDE Arduino |
Di seguito il codice del programma:
#include "KeyboardIT.h"
void setup() {
}
void loop() {
DigiKeyboard.sendKeyStroke(0);
//mostra desktop
DigiKeyboard.sendKeyStroke(KEY_D, MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
// start->Esegui
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.print("powershell");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(3000);
DigiKeyboard.print("$client = new-object System.Net.WebClient");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
//Download immagine
DigiKeyboard.print("$client.DownloadFile(\"https://1.bp.blogspot.com/
-Gb4Ku1gaFao/XZ-PbzlCj3I/AAAAAAAAEc0/3uSk9g8fBvY3qKmdHf0OZg6FhfmV7xoEACLcBGAsYHQ/s1600/Wallpaper_Wile.jpg\" , \"Wile.jpg\")");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(3000);
//sostituzione Wallpaper
DigiKeyboard.print("reg add \"HKCU\\Control Panel\\Desktop\" /v WallPaper /d \"%USERPROFILE%\\Wile.jpg\" /f");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(3000);
DigiKeyboard.print("RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
DigiKeyboard.print("exit");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
for(;;){ /*empty*/ }
}