Nell'articolo precedente (PowerShell: Convertire un file eseguibile in un file di testo) è stato mostrato come convertire un file eseguibile in un file di testo. L'operazione avrebbe poco senso se non fosse possibile eseguire l'operazione inversa e ritrasformare il file di testo in un file eseguibile. Anche in questo caso verrà utilizzato uno script PowerShell per certi versi simile a quello visto nell'articolo precedente.
Le istruzioni presenti all'interno dello script sono le seguenti:
[CmdletBinding()] Param (
[Parameter(Position = 0, Mandatory = $True)]
[String]$FileTXT,
[Parameter(Position = 1, Mandatory = $True)]
[String]$FileEXE
)
[String]$dump = get-content -path "$FileTXT" -ReadCount 0
[Byte[]] $temp = $dump -split ' '
[System.IO.File]::WriteAllBytes($FileEXE, $temp)
Write-Output "File convertito in $FileExe"
La prima parte riguarda la gestione dei parametri. In questo caso entrambi i parametri sono obbligatori e indicano il file di testo da convertire e il nome del file eseguibile che verrà creato. Nella seconda parte non facciamo altro che caricare tutto il contenuto del file di testo in una stringa. Successivamente dalla stringa estraiamo i byte (separati da un carattere spazio) e li carichiamo all'interno di un array di byte. Infine non resta che salvare i byte all'interno del file eseguibile con l'istruzione
[System.IO.File]::WriteAllBytes($FileEXE, $temp)
Dal seguente link è possibile scaricare lo script PowerShell Txt2Exe.ps1