Domanda

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 !

È stato utile?

Soluzione

-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
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top