示例#1
0
        static void CorruptByte(ref byte b, CorruptMode mode, byte value)
        {
            switch (mode)
            {
            case CorruptMode.Add: b += value; break;

            case CorruptMode.Sub: b -= value; break;

            case CorruptMode.Mul: b *= value; break;

            case CorruptMode.Div: b /= value; break;

            case CorruptMode.Mod: b %= value; break;

            case CorruptMode.OR: b |= value; break;

            case CorruptMode.XOR: b ^= value; break;

            case CorruptMode.AND: b &= value; break;

            case CorruptMode.NOT: b = (byte)~b; break;

            case CorruptMode.LSH: b <<= value; break;

            case CorruptMode.RSH: b >>= value; break;

            case CorruptMode.ROL: b = (byte)((b << value) | (b >> (8 - value))); break;

            case CorruptMode.ROR: b = (byte)((b >> value) | (b << (8 - value))); break;

            case CorruptMode.Replace: b = value; break;

            case CorruptMode.Random: b = (byte)rnd.NextInt32(); break;
            }
        }
 static void CorruptByte(ref byte b, CorruptMode mode, byte value)
 {
     switch (mode) {
         case CorruptMode.Add: b += value; break;
         case CorruptMode.Sub: b -= value; break;
         case CorruptMode.Mul: b *= value; break;
         case CorruptMode.Div: b /= value; break;
         case CorruptMode.Mod: b %= value; break;
         case CorruptMode.OR: b |= value; break;
         case CorruptMode.XOR: b ^= value; break;
         case CorruptMode.AND: b &= value; break;
         case CorruptMode.NOT: b = (byte)~b; break;
         case CorruptMode.LSH: b <<= value; break;
         case CorruptMode.RSH: b >>= value; break;
         case CorruptMode.ROL: b = (byte)((b << value) | (b >> (8 - value))); break;
         case CorruptMode.ROR: b = (byte)((b >> value) | (b << (8 - value))); break;
         case CorruptMode.Replace: b = value; break;
         case CorruptMode.Random: b = (byte)rnd.NextInt32(); break;
     }
 }