59 lines
1.6 KiB
PowerShell
59 lines
1.6 KiB
PowerShell
$ByteFile="$PWD/test.txt"
|
|
$ByteArray = [io.file]::ReadAllBytes($ByteFile)
|
|
echo "=== Original Byte Array ==="
|
|
$ByteArray
|
|
$Width = $ByteArray.Length
|
|
$Position = 0..$Width
|
|
$Buf = 0..$Width
|
|
$RetBuf = 0..$Width
|
|
$HashTab = @{}
|
|
$Count = 0
|
|
$CountRet = 0
|
|
$ScrambledPosition = $Position | Sort-Object {Get-Random}
|
|
echo "=== ScrambledPosition Original ==="
|
|
$ScrambledPosition
|
|
#$ScrambledPosition[0]
|
|
foreach($Key in $ScrambledPosition) {
|
|
#$HashTab.add($Key, $ByteArray[$Count])
|
|
#$Key
|
|
echo $Buf[$Count] = $ByteArray[$Key]
|
|
$Count++
|
|
#$buf[$PSItem]# = $ByteArray[$scrambledPosition[$PSItem]]
|
|
#$PSItem
|
|
#$ByteArray[$PSItem]
|
|
#$tem
|
|
#Write-Host "$ScrambledPosition[$Count] : $ByteArray[$PSItem]"
|
|
##$ScrambledPosition[$Count]
|
|
#[System.BitConverter]::ToString($PSItem)
|
|
}
|
|
|
|
Write-Output "=== Buf ==="
|
|
$Buf
|
|
|
|
foreach($Key in $Buf) {
|
|
$PositionRet = $ScrambledPosition[$CountRet]
|
|
#echo "$positionRet = $ScrambledPosition[$CountRet]"
|
|
#$ScrambledPosition[$Key]
|
|
#$ScrambledPosition[$CountRet]
|
|
echo 'Buf[i]:' $Buf[$PositionRet] 'i: ' $positionret
|
|
#$RetBuf[$CountRet]
|
|
#$Buf[$PositionRet]
|
|
$CountRet++
|
|
#$RetBuf[]
|
|
}
|
|
|
|
|
|
#$Buf # Scrambled bytes
|
|
#$Position # array 0..$Width
|
|
#$ByteArray # unscrambled bytes
|
|
#$ScrambledPosition # positions of scramble
|
|
#$HashTabRand = $HashTab | Sort-Object {Get-Random}
|
|
#$HashTab
|
|
#Write-Output "=== ScrambledPosition ==="
|
|
#$ScrambledPosition
|
|
Write-Output "=== ByteArray ==="
|
|
$ByteArray
|
|
#Write-Output "=== Buf ==="
|
|
#$Buf
|
|
Write-Output "=== RetBuf ==="
|
|
$RetBuf |