Files
SVSimServer/SVSim.BattleEngine/Engine/Cute/CryptAES.cs
gamer147 957af3d1ec feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
2026-06-05 17:22:20 -04:00

249 lines
9.6 KiB
C#

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace Cute;
public class CryptAES
{
public static byte[] encrypt(byte[] byteSrc)
{
return EncryptRJ256Api(byteSrc);
}
public static string encrypt(string byteSrc)
{
return Convert.ToBase64String(EncryptRJ256Api(Encoding.UTF8.GetBytes(byteSrc)));
}
public static string encryptForNode(string src)
{
return EncryptRJ256ForNode(src);
}
public static byte[] decrypt(string src)
{
return DecryptRJ256Api(Convert.FromBase64String(src));
}
public static string decryptForNode(string src)
{
return DecryptRJ256ForNode(src);
}
private static byte[] EncryptRJ256Api(byte[] toEncryptData)
{
using RijndaelManaged rijndaelManaged = new RijndaelManaged();
rijndaelManaged.Mode = CipherMode.CBC;
rijndaelManaged.KeySize = 256;
rijndaelManaged.BlockSize = 128;
byte[] array = new byte[0];
byte[] array2 = new byte[0];
string s = Cryptographer.generateKeyString();
string s2 = Certification.Udid.Replace("-", "").Substring(0, 16);
array = Encoding.UTF8.GetBytes(s);
array2 = Encoding.UTF8.GetBytes(s2);
ICryptoTransform transform = rijndaelManaged.CreateEncryptor(array, array2);
using MemoryStream memoryStream = new MemoryStream();
using CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write);
cryptoStream.Write(toEncryptData, 0, toEncryptData.Length);
cryptoStream.FlushFinalBlock();
byte[] array3 = memoryStream.ToArray();
byte[] array4 = new byte[array3.Length + array.Length];
Array.Copy(array3, 0, array4, 0, array3.Length);
Array.Copy(array, 0, array4, array3.Length, array.Length);
rijndaelManaged.Clear();
memoryStream.Flush();
memoryStream.Close();
cryptoStream.Flush();
cryptoStream.Close();
return array4;
}
public static string EncryptRJ256(string prm_text_to_encrypt)
{
using RijndaelManaged rijndaelManaged = new RijndaelManaged();
rijndaelManaged.Padding = PaddingMode.Zeros;
rijndaelManaged.Mode = CipherMode.CBC;
rijndaelManaged.KeySize = 256;
rijndaelManaged.BlockSize = 256;
byte[] array = new byte[0];
byte[] array2 = new byte[0];
string s = Cryptographer.generateKeyString();
string s2 = Certification.Udid.Replace("-", "");
array = Encoding.UTF8.GetBytes(s);
array2 = Encoding.UTF8.GetBytes(s2);
ICryptoTransform transform = rijndaelManaged.CreateEncryptor(array, array2);
using MemoryStream memoryStream = new MemoryStream();
using CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write);
byte[] bytes = Encoding.UTF8.GetBytes(prm_text_to_encrypt);
cryptoStream.Write(bytes, 0, bytes.Length);
cryptoStream.FlushFinalBlock();
byte[] array3 = memoryStream.ToArray();
byte[] array4 = new byte[array3.Length + array.Length];
Array.Copy(array3, 0, array4, 0, array3.Length);
Array.Copy(array, 0, array4, array3.Length, array.Length);
rijndaelManaged.Clear();
memoryStream.Flush();
memoryStream.Close();
cryptoStream.Flush();
cryptoStream.Close();
return Convert.ToBase64String(array4);
}
public static string EncryptRJ256ForNode(string prm_text_to_encrypt)
{
using AesManaged aesManaged = new AesManaged();
string text = Cryptographer.generateKeyString();
string s = text.Substring(0, 16);
aesManaged.BlockSize = 128;
aesManaged.KeySize = 256;
aesManaged.IV = Encoding.UTF8.GetBytes(s);
aesManaged.Key = Encoding.UTF8.GetBytes(text);
aesManaged.Mode = CipherMode.CBC;
aesManaged.Padding = PaddingMode.PKCS7;
byte[] bytes = Encoding.UTF8.GetBytes(prm_text_to_encrypt);
using ICryptoTransform cryptoTransform = aesManaged.CreateEncryptor();
byte[] inArray = cryptoTransform.TransformFinalBlock(bytes, 0, bytes.Length);
aesManaged.Clear();
return text + Convert.ToBase64String(inArray);
}
private static byte[] DecryptRJ256Api(byte[] sEncryptedString)
{
using RijndaelManaged rijndaelManaged = new RijndaelManaged();
rijndaelManaged.Mode = CipherMode.CBC;
rijndaelManaged.KeySize = 256;
rijndaelManaged.BlockSize = 128;
byte[] array = new byte[32];
byte[] array2 = new byte[16];
byte[] array3 = new byte[sEncryptedString.Length - array.Length];
Array.Copy(sEncryptedString, 0, array3, 0, array3.Length);
Array.Copy(sEncryptedString, sEncryptedString.Length - array.Length, array, 0, array.Length);
array2 = Encoding.UTF8.GetBytes(Certification.Udid.Replace("-", "").Substring(0, 16));
ICryptoTransform transform = rijndaelManaged.CreateDecryptor(array, array2);
byte[] array4 = new byte[array3.Length];
using MemoryStream memoryStream = new MemoryStream(array3);
using CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Read);
cryptoStream.Read(array4, 0, array4.Length);
rijndaelManaged.Clear();
cryptoStream.Flush();
cryptoStream.Close();
memoryStream.Flush();
memoryStream.Close();
return array4;
}
public static string DecryptRJ256(string prm_text_to_decrypt)
{
byte[] array = Convert.FromBase64String(prm_text_to_decrypt);
using RijndaelManaged rijndaelManaged = new RijndaelManaged();
rijndaelManaged.Padding = PaddingMode.Zeros;
rijndaelManaged.Mode = CipherMode.CBC;
rijndaelManaged.KeySize = 256;
rijndaelManaged.BlockSize = 256;
byte[] array2 = new byte[32];
byte[] array3 = new byte[32];
byte[] array4 = new byte[array.Length - array2.Length];
Array.Copy(array, 0, array4, 0, array4.Length);
Array.Copy(array, array.Length - array2.Length, array2, 0, array2.Length);
array3 = Encoding.UTF8.GetBytes(Certification.Udid.Replace("-", ""));
ICryptoTransform transform = rijndaelManaged.CreateDecryptor(array2, array3);
byte[] array5 = new byte[array4.Length];
using MemoryStream memoryStream = new MemoryStream(array4);
using CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Read);
cryptoStream.Read(array5, 0, array5.Length);
rijndaelManaged.Clear();
cryptoStream.Flush();
cryptoStream.Close();
memoryStream.Flush();
memoryStream.Close();
return Encoding.UTF8.GetString(array5).TrimEnd(default(char));
}
public static string DecryptRJ256ForNode(string prm_text_to_decrypt)
{
using AesManaged aesManaged = new AesManaged();
string text = prm_text_to_decrypt.Substring(0, 32);
string s = text.Substring(0, 16);
string s2 = prm_text_to_decrypt.Substring(32);
aesManaged.BlockSize = 128;
aesManaged.KeySize = 256;
aesManaged.Key = Encoding.UTF8.GetBytes(text);
aesManaged.IV = Encoding.UTF8.GetBytes(s);
aesManaged.Mode = CipherMode.CBC;
aesManaged.Padding = PaddingMode.PKCS7;
byte[] array = Convert.FromBase64String(s2);
using ICryptoTransform cryptoTransform = aesManaged.CreateDecryptor();
byte[] bytes = cryptoTransform.TransformFinalBlock(array, 0, array.Length);
string result = Encoding.UTF8.GetString(bytes);
aesManaged.Clear();
return result;
}
public static byte[] EncryptRJ256(byte[] binData)
{
using RijndaelManaged rijndaelManaged = new RijndaelManaged();
rijndaelManaged.Padding = PaddingMode.PKCS7;
rijndaelManaged.Mode = CipherMode.CBC;
rijndaelManaged.KeySize = 256;
rijndaelManaged.BlockSize = 256;
byte[] array = new byte[0];
byte[] array2 = new byte[0];
string s = Cryptographer.generateKeyString();
string s2 = Certification.Udid.Replace("-", "");
array = Encoding.UTF8.GetBytes(s);
array2 = Encoding.UTF8.GetBytes(s2);
ICryptoTransform transform = rijndaelManaged.CreateEncryptor(array, array2);
using MemoryStream memoryStream = new MemoryStream();
using CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write);
byte[] bytes = BitConverter.GetBytes(binData.Length);
byte[] array3 = new byte[4 + binData.Length];
Array.Copy(bytes, 0, array3, 0, 4);
Array.Copy(binData, 0, array3, 4, binData.Length);
cryptoStream.Write(array3, 0, array3.Length);
cryptoStream.FlushFinalBlock();
byte[] array4 = memoryStream.ToArray();
byte[] array5 = new byte[array.Length + array4.Length];
Array.Copy(array4, 0, array5, 0, array4.Length);
Array.Copy(array, 0, array5, array4.Length, array.Length);
rijndaelManaged.Clear();
memoryStream.Flush();
memoryStream.Close();
cryptoStream.Flush();
cryptoStream.Close();
return array5;
}
public static byte[] DecryptRJ256(byte[] binData)
{
using RijndaelManaged rijndaelManaged = new RijndaelManaged();
rijndaelManaged.Padding = PaddingMode.PKCS7;
rijndaelManaged.Mode = CipherMode.CBC;
rijndaelManaged.KeySize = 256;
rijndaelManaged.BlockSize = 256;
byte[] array = new byte[32];
byte[] array2 = new byte[32];
byte[] array3 = new byte[binData.Length - array.Length];
Array.Copy(binData, 0, array3, 0, array3.Length);
Array.Copy(binData, binData.Length - array.Length, array, 0, array.Length);
array2 = Encoding.UTF8.GetBytes(Certification.Udid.Replace("-", ""));
ICryptoTransform transform = rijndaelManaged.CreateDecryptor(array, array2);
byte[] array4 = new byte[array3.Length];
using MemoryStream memoryStream = new MemoryStream(array3);
using CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Read);
cryptoStream.Read(array4, 0, array4.Length);
byte[] array5 = new byte[4];
Array.Copy(array4, 0, array5, 0, 4);
byte[] array6 = new byte[BitConverter.ToInt32(array5, 0)];
Array.Copy(array4, 4, array6, 0, array6.Length);
rijndaelManaged.Clear();
memoryStream.Flush();
memoryStream.Close();
cryptoStream.Flush();
cryptoStream.Close();
return array6;
}
}