如何找到给定十六进制的xor键/算法?

时间:2016-11-18 08:03:49

标签: algorithm encryption hex xor deobfuscation

所以我有这个十六进制:B0 32 B6 B4 37

我知道这个十六进制是用一些密钥/算法进行混淆的。

我也知道这个十六进制等于:61 64 6d 69 6e(admin)

如何为此计算XOR键?

1 个答案:

答案 0 :(得分:2)

如果你写出二进制表示,你可以看到模式:

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;