sigyllly's picture
Upload 11 files
55401d6 verified
Add-Type -AssemblyName "System.IO.Compression"
$compressionTypes = 'Gzip', 'Deflate'
$method = ""
$decode_command = @"
function Decode-Code(`$compressedBytes, `$compressionPick) {
[System.IO.MemoryStream] `$input1 = New-Object System.IO.MemoryStream
`$input1.Write(`$compressedBytes, 0, `$compressedBytes.Length)
`$input1.Seek(0, [IO.SeekOrigin]::Begin)
`$compressionStream = $null
`$reader = $null
`$decompressedData = $null
if (`$compressionPick -eq 'Gzip') {
`$compressionStream = New-Object System.IO.Compression.GzipStream `$input1, ([IO.Compression.CompressionMode]::Decompress)
} elseif (`$compressionPick -eq 'Deflate') {
`$compressionStream = New-Object System.IO.Compression.DeflateStream `$input1, ([IO.Compression.CompressionMode]::Decompress)
}
`$reader = New-Object System.IO.StreamReader `$compressionStream
`$decompressedData = `$reader.ReadToEnd()
`$reader.Close()
`$compressionStream.Close()
`$input1.Close()
return `$decompressedData
}
"@
function Read-And-Interpret-Script($scriptPath) {
$scriptContent = [System.IO.File]::ReadAllBytes($scriptPath)
$compressionPick = $compressionTypes | Get-Random
$encodedScriptContent = Encode-Code -code $scriptContent -compressionPick $compressionPick
Write-Host "Encoded Script Content:"
Write-Host $encodedScriptContent
$decodedScriptContent = Decode-Code -compressedBytes $encodedScriptContent -compressionPick $compressionPick
Write-Host "Decoded Script Content:"
Write-Host $decodedScriptContent[1]
}
function Obfuscate-Code($code) {
$obfuscatedCode = $code
return $obfuscatedCode
}
function Encode-Code($code, $compressionPick) {
[System.IO.MemoryStream] $output = New-Object System.IO.MemoryStream
$compressionStream = $null
if ($compressionPick -eq 'Gzip') {
$compressionStream = New-Object System.IO.Compression.GzipStream $output, ([IO.Compression.CompressionMode]::Compress)
} elseif ($compressionPick -eq 'Deflate') {
$compressionStream = New-Object System.IO.Compression.DeflateStream $output, ([IO.Compression.CompressionMode]::Compress)
}
$compressionStream.Write($code, 0, $code.Length)
$compressionStream.Close()
$compressedBytes = $output.ToArray()
$output.Close()
return $compressedBytes
}
function Decode-Code($compressedBytes, $compressionPick) {
[System.IO.MemoryStream] $input1 = New-Object System.IO.MemoryStream
$input1.Write($compressedBytes, 0, $compressedBytes.Length)
$input1.Seek(0, [IO.SeekOrigin]::Begin)
$compressionStream = $null
$reader = $null
$decompressedData = $null
if ($compressionPick -eq 'Gzip') {
$compressionStream = New-Object System.IO.Compression.GzipStream $input1, ([IO.Compression.CompressionMode]::Decompress)
} elseif ($compressionPick -eq 'Deflate') {
$compressionStream = New-Object System.IO.Compression.DeflateStream $input1, ([IO.Compression.CompressionMode]::Decompress)
}
$reader = New-Object System.IO.StreamReader $compressionStream
$decompressedData = $reader.ReadToEnd()
$reader.Close()
$compressionStream.Close()
$input1.Close()
return $decompressedData
}
$scriptPath = "example\test.ps1"
Read-And-Interpret-Script -scriptPath $scriptPath