583 lines
24 KiB
C#
583 lines
24 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
|
{
|
|
// Token: 0x020016A5 RID: 5797
|
|
[Token(Token = "0x20016A5")]
|
|
[StructLayout(3)]
|
|
public class AesLightEngine : IBlockCipher
|
|
{
|
|
// Token: 0x06009B04 RID: 39684 RVA: 0x0022BA04 File Offset: 0x00229C04
|
|
[Token(Token = "0x6009B04")]
|
|
[Address(RVA = "0x7051F0", Offset = "0x703BF0", VA = "0x1807051F0")]
|
|
private static uint Shift(uint r, int shift)
|
|
{
|
|
return r;
|
|
}
|
|
|
|
// Token: 0x06009B05 RID: 39685 RVA: 0x0022BA14 File Offset: 0x00229C14
|
|
[Token(Token = "0x6009B05")]
|
|
[Address(RVA = "0x20536B0", Offset = "0x20520B0", VA = "0x1820536B0")]
|
|
private static uint FFmulX(uint x)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B05)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::FFmulX(System.UInt32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:int64(var_0_05, mul:uint32[exp:int64](ldloc:uint32(x), conv.u4:uint32(ldc.i4:int32[exp:uint32](27))))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06009B06 RID: 39686 RVA: 0x0022BA28 File Offset: 0x00229C28
|
|
[Token(Token = "0x6009B06")]
|
|
[Address(RVA = "0x2053680", Offset = "0x2052080", VA = "0x182053680")]
|
|
private static uint FFmulX2(uint x)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
// Token: 0x06009B07 RID: 39687 RVA: 0x0022BA38 File Offset: 0x00229C38
|
|
[Token(Token = "0x6009B07")]
|
|
[Address(RVA = "0x22DC840", Offset = "0x22DB240", VA = "0x1822DC840")]
|
|
private static uint Mcol(uint x)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
// Token: 0x06009B08 RID: 39688 RVA: 0x0022BA48 File Offset: 0x00229C48
|
|
[Token(Token = "0x6009B08")]
|
|
[Address(RVA = "0x22DC780", Offset = "0x22DB180", VA = "0x1822DC780")]
|
|
private static uint Inv_Mcol(uint x)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
// Token: 0x06009B09 RID: 39689 RVA: 0x0022BA58 File Offset: 0x00229C58
|
|
[Token(Token = "0x6009B09")]
|
|
[Address(RVA = "0x22DCA50", Offset = "0x22DB450", VA = "0x1822DCA50")]
|
|
private static uint SubWord(uint x)
|
|
{
|
|
int length = AesLightEngine.S.Length;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009B0A RID: 39690 RVA: 0x0022BA78 File Offset: 0x00229C78
|
|
[Token(Token = "0x6009B0A")]
|
|
[Address(RVA = "0x22DB040", Offset = "0x22D9A40", VA = "0x1822DB040")]
|
|
private uint[][] GenerateWorkingKey(byte[] key, bool forEncryption)
|
|
{
|
|
uint[][] array;
|
|
int i;
|
|
for (;;)
|
|
{
|
|
if (key.Length == 7)
|
|
{
|
|
this.ROUNDS = key;
|
|
array = new uint[key][];
|
|
i = 0;
|
|
uint[] array2 = new uint[4];
|
|
if (array2 != 0)
|
|
{
|
|
}
|
|
i++;
|
|
array[0] = array2;
|
|
while (i <= this.rcon)
|
|
{
|
|
}
|
|
if (typeof(uint[]).TypeHandle == 0)
|
|
{
|
|
goto IL_3FB;
|
|
}
|
|
if (typeof(uint[]).TypeHandle != 0)
|
|
{
|
|
if (typeof(uint[]).TypeHandle == 0)
|
|
{
|
|
goto IL_1E5;
|
|
}
|
|
uint num;
|
|
if (typeof(uint[]).TypeHandle != 0 && typeof(uint[]).TypeHandle == num)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
uint[] array3 = array[0];
|
|
array3[0] = (uint)i;
|
|
uint[] array4 = array[0];
|
|
array4[0] = array3;
|
|
uint[] array5 = array[0];
|
|
array5[1] = array4;
|
|
uint[] array6 = array[0];
|
|
array6[1] = array5;
|
|
uint[] array7 = array[1];
|
|
array7[0] = array6;
|
|
uint[] array8 = array[1];
|
|
array8[0] = array7;
|
|
uint[] array9 = array[1];
|
|
array9[1] = array8;
|
|
array[1][1] = array9;
|
|
uint num2;
|
|
num2 += num2;
|
|
uint num3 = AesLightEngine.SubWord(array9);
|
|
ulong num4;
|
|
array[(int)num4][0] = i;
|
|
array[(int)num4][0] = array3;
|
|
array[(int)num4][1] = array4;
|
|
array[(int)num4][1] = array5;
|
|
uint num5 = AesLightEngine.SubWord(array5);
|
|
ulong num6 = num4 + 1UL;
|
|
array[(int)num6][0] = array6;
|
|
array[(int)num6][0] = array7;
|
|
array[(int)num6][1] = array8;
|
|
array[(int)num6][1] = array9;
|
|
uint num7 = AesLightEngine.SubWord(array9);
|
|
array[14][0] = (uint)i;
|
|
array[14][0] = array3;
|
|
array[14][1] = array4;
|
|
uint[] array10 = array[14];
|
|
array10[1] = array5;
|
|
IL_1E5:
|
|
uint[] array11 = array[0];
|
|
array11[0] = array10;
|
|
uint[] array12 = array[0];
|
|
array12[0] = array11;
|
|
uint[] array13 = array[0];
|
|
array13[1] = array12;
|
|
uint[] array14 = array[0];
|
|
array14[1] = array13;
|
|
uint[] array15 = array[1];
|
|
array15[0] = array14;
|
|
array[1][0] = array15;
|
|
uint num8 = AesLightEngine.SubWord(array15);
|
|
array[1][1] = num8;
|
|
array[1][1] = array11;
|
|
array[2][0] = array12;
|
|
array[2][0] = array13;
|
|
array[2][1] = array14;
|
|
array[2][1] = array15;
|
|
ulong num9;
|
|
num9 += num9;
|
|
uint num10 = AesLightEngine.SubWord(array15);
|
|
uint num11;
|
|
array[(int)num11][0] = num8;
|
|
array[(int)num11][0] = array11;
|
|
array[(int)num11][1] = array12;
|
|
array[(int)num11][1] = array13;
|
|
uint num12 = num11 + 1U;
|
|
array[(int)num12][0] = array14;
|
|
array[(int)num12][0] = array15;
|
|
num9 += num9;
|
|
uint num13 = AesLightEngine.SubWord(array15);
|
|
array[(int)num12][1] = num8;
|
|
array[(int)num12][1] = array11;
|
|
num11 += (uint)2;
|
|
array[(int)num11][0] = array12;
|
|
array[(int)num11][0] = array13;
|
|
array[(int)num11][1] = array14;
|
|
uint[] array16 = array[(int)num11];
|
|
num11 += (uint)3;
|
|
array16[1] = array15;
|
|
uint num14 = AesLightEngine.SubWord(array15);
|
|
array[12][0] = num8;
|
|
array[12][0] = array11;
|
|
array[12][1] = array12;
|
|
uint[] array17 = array[12];
|
|
array17[1] = array13;
|
|
IL_3FB:
|
|
uint[] array18 = array[0];
|
|
array18[0] = array17;
|
|
uint[] array19 = array[0];
|
|
array19[0] = array18;
|
|
uint[] array20 = array[0];
|
|
array20[1] = array19;
|
|
array[0][1] = array20;
|
|
uint num15 = AesLightEngine.SubWord(array20);
|
|
byte[] array21 = AesLightEngine.rcon;
|
|
uint num17;
|
|
uint num16 = num17 - 1U;
|
|
array[(int)num17][0] = array17;
|
|
array[(int)num17][0] = array18;
|
|
array[(int)num17][1] = array19;
|
|
uint[] array22 = array[(int)num17];
|
|
num17 += (uint)1;
|
|
array22[1] = array20;
|
|
while (num17 <= (uint)10)
|
|
{
|
|
}
|
|
int num18 = 0;
|
|
uint[] array23 = array[(int)num17];
|
|
uint num19 = AesLightEngine.Inv_Mcol(array23[num18]);
|
|
num18++;
|
|
array23[0] = num19;
|
|
num17 += (uint)1;
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009B0B RID: 39691 RVA: 0x0022BF6C File Offset: 0x0022A16C
|
|
[Token(Token = "0x6009B0B")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public AesLightEngine()
|
|
{
|
|
this.Reset();
|
|
}
|
|
|
|
// Token: 0x06009B0C RID: 39692 RVA: 0x0022BF80 File Offset: 0x0022A180
|
|
[Token(Token = "0x6009B0C")]
|
|
[Address(RVA = "0x22DC670", Offset = "0x22DB070", VA = "0x1822DC670", Slot = "10")]
|
|
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B0C)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_22:
|
|
stloc:ArgumentException(var_4_32, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to AES init - "), ldloc:string(var_3))))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x170018B7 RID: 6327
|
|
// (get) Token: 0x06009B0D RID: 39693 RVA: 0x0022BFC0 File Offset: 0x0022A1C0
|
|
[Token(Token = "0x170018B7")]
|
|
public virtual string AlgorithmName
|
|
{
|
|
[Token(Token = "0x6009B0D")]
|
|
[Address(RVA = "0x22DCC40", Offset = "0x22DB640", VA = "0x1822DCC40", Slot = "11")]
|
|
get
|
|
{
|
|
return "AES";
|
|
}
|
|
}
|
|
|
|
// Token: 0x170018B8 RID: 6328
|
|
// (get) Token: 0x06009B0E RID: 39694 RVA: 0x0022BFD4 File Offset: 0x0022A1D4
|
|
[Token(Token = "0x170018B8")]
|
|
public virtual bool IsPartialBlockOkay
|
|
{
|
|
[Token(Token = "0x6009B0E")]
|
|
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
|
get
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009B0F RID: 39695 RVA: 0x0022BFE4 File Offset: 0x0022A1E4
|
|
[Token(Token = "0x6009B0F")]
|
|
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "13")]
|
|
public virtual int GetBlockSize()
|
|
{
|
|
return 16;
|
|
}
|
|
|
|
// Token: 0x06009B10 RID: 39696 RVA: 0x0022BFF4 File Offset: 0x0022A1F4
|
|
[Token(Token = "0x6009B10")]
|
|
[Address(RVA = "0x22DC8D0", Offset = "0x22DB2D0", VA = "0x1822DC8D0", Slot = "14")]
|
|
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B10)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_5D:
|
|
stloc:InvalidOperationException(var_7_67, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("AES engine not initialised")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06009B11 RID: 39697 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009B11")]
|
|
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "15")]
|
|
public virtual void Reset()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009B12 RID: 39698 RVA: 0x0022C06C File Offset: 0x0022A26C
|
|
[Token(Token = "0x6009B12")]
|
|
[Address(RVA = "0x2055280", Offset = "0x2053C80", VA = "0x182055280")]
|
|
private void UnPackBlock(byte[] bytes, int off)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06009B13 RID: 39699 RVA: 0x0022C07C File Offset: 0x0022A27C
|
|
[Token(Token = "0x6009B13")]
|
|
[Address(RVA = "0x2054F70", Offset = "0x2053970", VA = "0x182054F70")]
|
|
private void PackBlock(byte[] bytes, int off)
|
|
{
|
|
Ed25519.Encode32(this.C0, bytes, off);
|
|
Ed25519.Encode32(this.C1, bytes, off);
|
|
Ed25519.Encode32(this.C2, bytes, off);
|
|
Ed25519.Encode32(this.C3, bytes, off);
|
|
}
|
|
|
|
// Token: 0x06009B14 RID: 39700 RVA: 0x0022C0C0 File Offset: 0x0022A2C0
|
|
[Token(Token = "0x6009B14")]
|
|
[Address(RVA = "0x22D9D00", Offset = "0x22D8700", VA = "0x1822D9D00")]
|
|
private void EncryptBlock(uint[][] KW)
|
|
{
|
|
int length = KW.Length;
|
|
uint[] array = KW[0];
|
|
int length2 = array.Length;
|
|
uint num = array[0];
|
|
uint num2 = array[0];
|
|
uint num3 = array[1];
|
|
uint num4 = array[1];
|
|
if (array > (uint)1)
|
|
{
|
|
int length3 = AesLightEngine.S.Length;
|
|
num2 = num4;
|
|
byte b;
|
|
uint num5 = AesLightEngine.Mcol((uint)b);
|
|
uint[] array2;
|
|
uint num6 = array2[0];
|
|
int length4 = AesLightEngine.S.Length;
|
|
byte b2;
|
|
uint num7 = AesLightEngine.Mcol((uint)b2);
|
|
uint num8 = array2[0];
|
|
int length5 = AesLightEngine.S.Length;
|
|
num4 = num2;
|
|
byte b3;
|
|
uint num9 = AesLightEngine.Mcol((uint)b3);
|
|
uint num10 = array2[1];
|
|
int length6 = AesLightEngine.S.Length;
|
|
byte b4;
|
|
uint num11 = AesLightEngine.Mcol((uint)b4);
|
|
uint num12 = array2[1];
|
|
int length7 = AesLightEngine.S.Length;
|
|
byte b5;
|
|
uint num13 = AesLightEngine.Mcol((uint)b5);
|
|
int length8 = AesLightEngine.S.Length;
|
|
byte b6;
|
|
uint num14 = AesLightEngine.Mcol((uint)b6);
|
|
int length9 = AesLightEngine.S.Length;
|
|
byte b7;
|
|
uint num15 = AesLightEngine.Mcol((uint)b7);
|
|
int length10 = AesLightEngine.S.Length;
|
|
byte b8;
|
|
uint num16 = AesLightEngine.Mcol((uint)b8);
|
|
}
|
|
int length11 = AesLightEngine.S.Length;
|
|
byte b9;
|
|
uint num17 = AesLightEngine.Mcol((uint)b9);
|
|
uint[] array3;
|
|
uint num18 = array3[0];
|
|
int length12 = AesLightEngine.S.Length;
|
|
byte b10;
|
|
uint num19 = AesLightEngine.Mcol((uint)b10);
|
|
uint num20 = array3[0];
|
|
int length13 = AesLightEngine.S.Length;
|
|
byte b11;
|
|
uint num21 = AesLightEngine.Mcol((uint)b11);
|
|
uint num22 = array3[1];
|
|
int length14 = AesLightEngine.S.Length;
|
|
byte b12;
|
|
uint num23 = AesLightEngine.Mcol((uint)b12);
|
|
uint num24 = array3[1];
|
|
uint num25;
|
|
num25 += (uint)1;
|
|
int length15 = AesLightEngine.S.Length;
|
|
int length16 = AesLightEngine.S.Length;
|
|
int length17 = AesLightEngine.S.Length;
|
|
int length18 = AesLightEngine.S.Length;
|
|
}
|
|
|
|
// Token: 0x06009B15 RID: 39701 RVA: 0x0022C340 File Offset: 0x0022A540
|
|
[Token(Token = "0x6009B15")]
|
|
[Address(RVA = "0x22D89E0", Offset = "0x22D73E0", VA = "0x1822D89E0")]
|
|
private void DecryptBlock(uint[][] KW)
|
|
{
|
|
int length = KW.Length;
|
|
uint[] array;
|
|
int length2 = array.Length;
|
|
uint num = array[0];
|
|
uint num2 = array[0];
|
|
uint num3 = array[1];
|
|
uint num4 = array[1];
|
|
uint[] array2 = KW[array];
|
|
int length3 = AesLightEngine.Si.Length;
|
|
byte b;
|
|
uint num5 = AesLightEngine.Inv_Mcol((uint)b);
|
|
uint num6 = array2[0];
|
|
int length4 = AesLightEngine.Si.Length;
|
|
byte b2;
|
|
uint num7 = AesLightEngine.Inv_Mcol((uint)b2);
|
|
uint num8 = array2[0];
|
|
int length5 = AesLightEngine.Si.Length;
|
|
byte b3;
|
|
uint num9 = AesLightEngine.Inv_Mcol((uint)b3);
|
|
uint num10 = array2[1];
|
|
int length6 = AesLightEngine.Si.Length;
|
|
byte b4;
|
|
uint num11 = AesLightEngine.Inv_Mcol((uint)b4);
|
|
uint num12 = array2[1];
|
|
int length7 = AesLightEngine.Si.Length;
|
|
byte b5;
|
|
uint num13 = AesLightEngine.Inv_Mcol((uint)b5);
|
|
int length8 = AesLightEngine.Si.Length;
|
|
byte b6;
|
|
uint num14 = AesLightEngine.Inv_Mcol((uint)b6);
|
|
int length9 = AesLightEngine.Si.Length;
|
|
byte b7;
|
|
uint num15 = AesLightEngine.Inv_Mcol((uint)b7);
|
|
int length10 = AesLightEngine.Si.Length;
|
|
byte b8;
|
|
uint num16 = AesLightEngine.Inv_Mcol((uint)b8);
|
|
uint[] array3 = KW[1];
|
|
int length11 = AesLightEngine.Si.Length;
|
|
byte b9;
|
|
uint num17 = AesLightEngine.Inv_Mcol((uint)b9);
|
|
uint num18 = array3[0];
|
|
int length12 = AesLightEngine.Si.Length;
|
|
byte b10;
|
|
uint num19 = AesLightEngine.Inv_Mcol((uint)b10);
|
|
uint num20 = array3[0];
|
|
int length13 = AesLightEngine.Si.Length;
|
|
byte b11;
|
|
uint num21 = AesLightEngine.Inv_Mcol((uint)b11);
|
|
uint num22 = array3[1];
|
|
int length14 = AesLightEngine.Si.Length;
|
|
byte b12;
|
|
uint num23 = AesLightEngine.Inv_Mcol((uint)b12);
|
|
uint num24 = array3[1];
|
|
int length15 = AesLightEngine.Si.Length;
|
|
int length16 = AesLightEngine.Si.Length;
|
|
int length17 = AesLightEngine.Si.Length;
|
|
int length18 = AesLightEngine.Si.Length;
|
|
}
|
|
|
|
// Token: 0x06009B16 RID: 39702 RVA: 0x0022C5B8 File Offset: 0x0022A7B8
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
[Token(Token = "0x6009B16")]
|
|
[Address(RVA = "0x22DCB70", Offset = "0x22DB570", VA = "0x1822DCB70")]
|
|
static AesLightEngine()
|
|
{
|
|
byte[] array = new byte[256];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.8F22C9ECE1331718CBD268A9BBFD2F5E451441E3).FieldHandle);
|
|
AesLightEngine.S = array;
|
|
byte[] array2 = new byte[256];
|
|
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.0C4110BC17D746F018F47B49E0EB0D6590F69939).FieldHandle);
|
|
AesLightEngine.Si = array2;
|
|
byte[] array3 = new byte[30];
|
|
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.B8DB0CB599EDD82A386D1A154FB3EB9235513DAD).FieldHandle);
|
|
AesLightEngine.rcon = array3;
|
|
}
|
|
|
|
// Token: 0x040065B0 RID: 26032
|
|
[Token(Token = "0x40065B0")]
|
|
private static readonly byte[] S;
|
|
|
|
// Token: 0x040065B1 RID: 26033
|
|
[Token(Token = "0x40065B1")]
|
|
private static readonly byte[] Si;
|
|
|
|
// Token: 0x040065B2 RID: 26034
|
|
[Token(Token = "0x40065B2")]
|
|
private static readonly byte[] rcon;
|
|
|
|
// Token: 0x040065B3 RID: 26035
|
|
[Token(Token = "0x40065B3")]
|
|
private const uint m1 = 2155905152U;
|
|
|
|
// Token: 0x040065B4 RID: 26036
|
|
[Token(Token = "0x40065B4")]
|
|
private const uint m2 = 2139062143U;
|
|
|
|
// Token: 0x040065B5 RID: 26037
|
|
[Token(Token = "0x40065B5")]
|
|
private const uint m3 = 27U;
|
|
|
|
// Token: 0x040065B6 RID: 26038
|
|
[Token(Token = "0x40065B6")]
|
|
private const uint m4 = 3233857728U;
|
|
|
|
// Token: 0x040065B7 RID: 26039
|
|
[Token(Token = "0x40065B7")]
|
|
private const uint m5 = 1061109567U;
|
|
|
|
// Token: 0x040065B8 RID: 26040
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40065B8")]
|
|
private int ROUNDS;
|
|
|
|
// Token: 0x040065B9 RID: 26041
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40065B9")]
|
|
private uint[][] WorkingKey;
|
|
|
|
// Token: 0x040065BA RID: 26042
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40065BA")]
|
|
private uint C0;
|
|
|
|
// Token: 0x040065BB RID: 26043
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x40065BB")]
|
|
private uint C1;
|
|
|
|
// Token: 0x040065BC RID: 26044
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40065BC")]
|
|
private uint C2;
|
|
|
|
// Token: 0x040065BD RID: 26045
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x40065BD")]
|
|
private uint C3;
|
|
|
|
// Token: 0x040065BE RID: 26046
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40065BE")]
|
|
private bool forEncryption;
|
|
|
|
// Token: 0x040065BF RID: 26047
|
|
[Token(Token = "0x40065BF")]
|
|
private const int BLOCK_SIZE = 16;
|
|
}
|
|
}
|