这个AS是什么意思(Action Script code)

Zar*_*oot 3 encryption flash actionscript

我很困惑,因为我不是AS专家

while (var6 < (var5 - 1))  
{
 var8 = var3[(var6 + 1)];  
 var10 = (var7 >>> 5 ^ var8 << 2) + (var8 >>> 3 ^ var7 << 4) ^ (var13 ^ var8) + (var4[var6   & 3 ^ var11] ^ var7);  
 var var14:* = var3[var6] + var10;  
 var3[var6] = var3[var6] + var10;  
 var7 = var14;  
 var6 = var6 + 1;  
}  
Run Code Online (Sandbox Code Playgroud)

我想知道的是这些运算符的含义是什么:

  1. >>>^
  2. (var8 >>> 3 ^ var7 << 4)
  3. var11 = var13 >>> 2 & 3

Bol*_*ock 5

这些都称为按位运算符,即通过二进制表示操作整数值的运算符.您可以在Adobe的文档中的ActionScript 找到运算符的完整参考.

>>>按位无符号右移运算符; 它将位移到右边而不保留值的符号.

^按位XOR运算符.它需要两个操作数并对其位执行XOR运算.

表达(var8 >>> 3 ^ var7 << 4)意味着:

  1. var8 向右移位3次(除以2 ^ 3);

  2. 结果按位异或var7;

  3. 结果向左移位4次(乘以2 ^ 4).

表达var11 = var13 >>> 2 & 3意味着:

  1. var13 向右移位2次(除以2 ^ 2);

  2. 结果按位和编辑3;

  3. 分配给var11.