如何找到给定十六进制的 xor key/algorithm?
how to find xor key/algorithm, for a given hex?
所以我有这个十六进制:B0 32 B6 B4 37
我知道这个十六进制被一些key/algorithm混淆了。
我也知道这个十六进制等于:61 64 6d 69 6e (admin)
我如何为此计算 XOR 密钥?
如果你写出二进制表示,你可以看到模式:
encoded decoded
10110000 -> 01100001
00110010 -> 01100100
请注意,位模式前后的位数相同。要解码,只需按位向左旋转一位。所以值向左移动一位,最高有效位环绕到最低有效位。编码,反其道而行之
int value, encoded_value;
encoded_value = 0xB0;
value = ((encoded_value << 1) | (encoded_value >> 7)) & 255;
// value will be 0x61;
encoded_value = ((value >> 1) | (value << 7)) & 255;
所以我有这个十六进制:B0 32 B6 B4 37
我知道这个十六进制被一些key/algorithm混淆了。
我也知道这个十六进制等于:61 64 6d 69 6e (admin)
我如何为此计算 XOR 密钥?
如果你写出二进制表示,你可以看到模式:
encoded decoded
10110000 -> 01100001
00110010 -> 01100100
请注意,位模式前后的位数相同。要解码,只需按位向左旋转一位。所以值向左移动一位,最高有效位环绕到最低有效位。编码,反其道而行之
int value, encoded_value;
encoded_value = 0xB0;
value = ((encoded_value << 1) | (encoded_value >> 7)) & 255;
// value will be 0x61;
encoded_value = ((value >> 1) | (value << 7)) & 255;