Pergunta

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 !

Foi útil?

Solução

-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
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top