Вопрос

I have an array of bytes :

$bytes = [System.IO.File]::ReadAllBytes($myFile)

I would like to perform a XOR operation on each byte inside this array, like this (in python)

bytes[i] ^= 0x6A  // python-style

I tried

for($i=0; $i -lt $bytes.count ; $i++)
{
    $bytes[$i] = $bytes[$i] -xor 0x6A
}

But does not work : $bytes[$i] value is 0x00.

How can this be done in powershell ?

Thank you !

Это было полезно?

Решение

-xor is a logical operator returning True or False. Perhaps you want to use bitwise exclusive OR'ing via -bxor?

for($i=0; $i -lt $bytes.count ; $i++)
{
    $bytes[$i] = $bytes[$i] -bxor 0x6A
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top