Ci sono certamente molti modi e molte applicazioni per visualizzare, archiviare e proteggere con password immagini e testi; se tuttavia volete farlo senza installare ulteriori programmi e ottenendo un file che non dia troppo nell'occhio, perché si presenta come uno "scostante" script PowerShell (che solitamente non contengono immagini e non sono protetti da password), potete usare WrapperShell, scaricabile da questo repository su GitHub (la versione in italiano è "WrapperShell-ita.ps1")..

Una volta lanciato lo script (che come un qualunque altro script PowerShell necessita di adeguata Execution Policy, v. qui), questa è l'interfaccia che ci si presenta:

WrapperShell: crea script PowerShell cifrati autodistruzione, visualizzare immagini, testo ed eseguire comandi

L'utilizzo base consiste nello scegliere un file immagine (cliccando su File) e/o inserire del testo nella casella grande (sotto File), scegliere dove salvare il file che conterrà il testo e/o l'immagine (file che si chiamerà "carrier.ps1") cliccando su Salva in... e infine usare il pulsante CREA PS1 per generare il file.

Come indicato da quest'ultimo pulsante, otterremo uno script PowerShell, chiamato appunto "carrier.ps1", che una volta eseguito visualizzerà i contenuti che gli abbiamo assegnato. Se vogliamo aprire la cartella in cui lo abbiamo salvato è possibile cliccare sul pulsante Cartella, che comparirà dopo aver selezionato la destinazione, affianco al campo con il percorso scelto; oppure, se vogliamo testarlo appena disponibile, possiamo mettere la spunta su Apri il file 'carrier.ps1' quando è completato.

Per ottenere di più da WrapperShell, abbiamo a disposizione anche altre funzioni; vediamo quali sono.

Password

Mettendo una spunta su Proteggi 'carrier.ps1' con una password (deve essere lunga almeno 6 caratteri) è possibile cifrare i nostri contenuti, in modo che non siano leggibili in chiaro nel codice di "carrier.ps1" e che, alla sua esecuzione, sia richiesta una password per procedere. Il tempo per decifrare il file dipenderà dalla quantità di dati da elaborare, può essere necessario avere un po' di pazienza.

WrapperShell: crea script PowerShell cifrati autodistruzione, visualizzare immagini, testo ed eseguire comandi

Il file cifrato, se aperto con un editor di testo, non appare totalmente cifrato; infatti il "wrapper", l'involucro con il codice per la GUI che richiede la password, è in chiaro, così da essere eseguito, ma il codice che contiene l'immagine e/o il testo è cifrato con chiave simmetrica AES 256. Il controllo della chiave prima di provare a decifrare il file non è di per sé necessario: se la chiava è errata il file semplicemente non verrà decifrato. Tuttavia, per dare all'utente un esplicito riscontro dell'uso di una password errata, è stato previsto un preliminare confronto della password inserita con parte di quella corretta. Quello che è presente nel codice è un hash SHA512 derivato da una parte dell'hash SHA384 derivato da una parte della password.

Un attaccante che volesse risalire alla password, non avrebbe di fatto modo di poter utilizzare alcun metodo, essendo l'hash intermedio solo parziale. Questo significa anche che, dopo il multi-hashing parziale, due password complessivamente differenti, ma con una determinata parte interna identica ,daranno luogo al medesimo SHA512, superando quindi l'iniziale controllo password, ma chiaramente al momento della decodifica del contenuto cifrato con AES 256 solo la chiave corretta darà buon esito.

Autodistruzione

Mettendo una spunta su Autodistruggi 'carrier.ps1' e scegliendo un intervallo di attesa in secondi, il processo di autodistruzione cancellerà il file "carrier.ps1" senza avvisi e definitivamente, ossia non sarà reperibile nemmeno nel cestino. Da notare che la finestra con il testo e/o l'immagine rimarrà visibile fino alla sua chiusura, anche dopo la cancellazione in background del file, che nel frattempo sarà diventato irrecuperabile.

Personalizzazioni

Il riquadro in basso, Personalizzazione elementi, consente di configurare la grafica (e non solo) di "carrier.ps1" secondo le proprie esigenze. Cliccando sul punto interrogativo affianco all'intestazione del riquadro, si ottengono le informazioni principali da tenere presente nella compilazione dei campi sottostanti.

WrapperShell: crea script PowerShell cifrati autodistruzione, visualizzare immagini, testo ed eseguire comandi

Nel riquadro della personalizzazione, trovate le impostazioni per decidere:

- le dimensioni complessive della finestra di "carrier.ps1" (non è ridimensionabile)

- la ripartizione (in percentuale di larghezza), fra la sezione con l'immagine (a sinistra) e quella con il testo (a destra), ricordando che è obbligatorio inserire entrambe senza usare il simbolo "%"

- la presenza o meno della barra di scorrimento (scrollbar) verticale per la sezione del testo, così che sia possibile scorrerlo senza dover creare una finestra più grande

- l'inserimento di uno o due pulsanti con rispettivo codice PowerShell da eseguire, ricordando che la formattazione consueta del codice, con indentazioni e capoversi, va convertita in codice a singola linea (one-liner) usando il punto e virgola. Ad esempio, per salvare in Documenti e poi aprire con Blocco Note il file "check.txt", contenente i risultati di un ping e una risoluzione DNS, il codice da inserire è questo:

ping 8.8.8.8 > $HOME/Documents/check.txt ; nslookup google.it >> $HOME/Documents/check.txt ; notepad $HOME/Documents/check.txt

Se invece volete utilizzare uno script già presente nel dispositivo, è sufficiente inserire nel campo del codice il suo percorso completo (come si farebbe dal terminale: C:\...). Un'ultima possibilità è quella di includere uno script esterno direttamente nel codice di "carrier.ps1", utilizzando i pulsanti Usa PS1 (il cui testo diventerà verde quando lo script sarà stato caricato), così che "carrier.ps1" esegua lo "script incapsulato" (embedded) anche in dispositivi in cui questo non sarebbe altrimenti presente. Segnaliamo che, per motivi di sintassi di scripting, non tutti gli script esterni saranno eseguibili dopo esser stati inclusi in "carrier.ps1"; per una corretta esecuzione potrebbe essere necessario modificare ad esempio l'uso di virgolette ed apici.

Per quanto riguarda invece la scelta dei colori in codice esadecimale (HEX), ci sono molti siti online in cui poter individuare e calibrare il proprio colore e ottenere il codice corrispondente; due siti sono ad esempio questo e questo.

Impiego

I principali casi d'uso di WrapperShell sono:

:- archiviazione e protezione tramite cifratura di testo e/o immagini in locale

WrapperShell: crea script PowerShell cifrati autodistruzione, visualizzare immagini, testo ed eseguire comandi

- condivisione di immagini o testo protetti da password, senza bisogno di applicazioni di terze parti (PowerShell 5 è già incluso in Windows 10 e 11)

WrapperShell: crea script PowerShell cifrati autodistruzione, visualizzare immagini, testo ed eseguire comandi

- guida illustrata con immagini e testo, per assistenza a distanza o esecuzione di comandi (tramite pulsante) da remoto

WrapperShell: crea script PowerShell cifrati autodistruzione, visualizzare immagini, testo ed eseguire comandi

- avvisi agli utenti su PC in rete (come spiegato in questo articolo)

- comunicazioni fra nerd, per biglietti di auguri o anche solo per spasso

WrapperShell: crea script PowerShell cifrati autodistruzione, visualizzare immagini, testo ed eseguire comandi