using System; namespace SHN { public class SHNCrypto { public static void CryptoDefault(byte[] Data) { byte DataLength = (byte)Data.Length; for (Int32 Counter = Data.Length - 1; Counter >= 0; Counter--) { Data[Counter] = (byte)(Data[Counter] ^ DataLength); byte DL = (byte)Counter; DL = (byte)(DL & 15); DL = (byte)(DL + 0x55); DL = (byte)(DL ^ ((byte)(((byte)Counter) * 11))); DL = (byte)(DL ^ DataLength); DL = (byte)(DL ^ 170); DataLength = DL; } } public static void CryptoNyx(byte[] Data) { byte DataLength = (byte)Data.Length; for (Int32 Counter = Data.Length - 1; Counter >= 0; Counter--) { Data[Counter] = (byte)(Data[Counter] ^ DataLength); byte DL = (byte)Counter; DL = (byte)(DL & 15); DL = (byte)(DL ^ 0x55); DL = (byte)(DL ^ ((byte)(((byte)Counter) * 11))); DL = (byte)(DL ^ DataLength); DL = (byte)(DL ^ 170); DataLength = DL; } } public static void CryptoExodus(byte[] Data) { byte DataLength = (byte)Data.Length; for (Int32 Counter = Data.Length - 1; Counter >= 0; Counter--) { data[i] = (byte) (data[i] ^ num); byte num3 = (byte) i; num3 = (byte) (num3 & 15); num3 = (byte) (num3 + 0x55); num3 = (byte) (num3 ^ ((byte) (((byte) i) * 12))); num3 = (byte) (num3 ^ num); num3 = (byte) (num3 ^ 0xff); num = num3; } } } }