713 lines
35 KiB
C#
713 lines
35 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.Gcm;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes
|
|
{
|
|
// Token: 0x0200165B RID: 5723
|
|
[Token(Token = "0x200165B")]
|
|
[StructLayout(3)]
|
|
public sealed class GcmBlockCipher : IAeadBlockCipher
|
|
{
|
|
// Token: 0x06009884 RID: 39044 RVA: 0x0021D130 File Offset: 0x0021B330
|
|
[Token(Token = "0x6009884")]
|
|
[Address(RVA = "0x20ED930", Offset = "0x20EC330", VA = "0x1820ED930")]
|
|
public GcmBlockCipher(IBlockCipher c)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009884)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.GcmBlockCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_45:
|
|
stloc:ArgumentException(var_5_5B, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("cipher required with a block size of "), ldloc:int32[exp:object](var_4), ldstr:string[exp:object]("."))))
|
|
}
|
|
|
|
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: 0x06009885 RID: 39045 RVA: 0x0021D19C File Offset: 0x0021B39C
|
|
[Token(Token = "0x6009885")]
|
|
[Address(RVA = "0x20EDA70", Offset = "0x20EC470", VA = "0x1820EDA70")]
|
|
public GcmBlockCipher(IBlockCipher c, IGcmMultiplier m)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009885)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.GcmBlockCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.Gcm.IGcmMultiplier)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_49:
|
|
stloc:ArgumentException(var_5_5F, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("cipher required with a block size of "), ldloc:int32[exp:object](var_4), ldstr:string[exp:object]("."))))
|
|
}
|
|
|
|
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: 0x1700187A RID: 6266
|
|
// (get) Token: 0x06009886 RID: 39046 RVA: 0x0021D20C File Offset: 0x0021B40C
|
|
[Token(Token = "0x1700187A")]
|
|
public string AlgorithmName
|
|
{
|
|
[Token(Token = "0x6009886")]
|
|
[Address(RVA = "0x20EDEC0", Offset = "0x20EC8C0", VA = "0x1820EDEC0", Slot = "4")]
|
|
get
|
|
{
|
|
IBlockCipher blockCipher = this.cipher;
|
|
return 0 + "/GCM";
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009887 RID: 39047 RVA: 0x0021D234 File Offset: 0x0021B434
|
|
[Token(Token = "0x6009887")]
|
|
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
|
public IBlockCipher GetUnderlyingCipher()
|
|
{
|
|
return this.cipher;
|
|
}
|
|
|
|
// Token: 0x06009888 RID: 39048 RVA: 0x0021D248 File Offset: 0x0021B448
|
|
[Token(Token = "0x6009888")]
|
|
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "7")]
|
|
public int GetBlockSize()
|
|
{
|
|
return 16;
|
|
}
|
|
|
|
// Token: 0x06009889 RID: 39049 RVA: 0x0021D258 File Offset: 0x0021B458
|
|
[Token(Token = "0x6009889")]
|
|
[Address(RVA = "0x20EC7B0", Offset = "0x20EB1B0", VA = "0x1820EC7B0", Slot = "6")]
|
|
public void Init(bool forEncryption, ICipherParameters parameters)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009889)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.GcmBlockCipher::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_291:
|
|
stloc:ArgumentException(var_45_29B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Key must be specified in initial init")))
|
|
}
|
|
|
|
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: 0x0600988A RID: 39050 RVA: 0x0021D504 File Offset: 0x0021B704
|
|
[Token(Token = "0x600988A")]
|
|
[Address(RVA = "0x20EC460", Offset = "0x20EAE60", VA = "0x1820EC460", Slot = "13")]
|
|
public byte[] GetMac()
|
|
{
|
|
byte[] array = this.macBlock;
|
|
if (array == 0)
|
|
{
|
|
}
|
|
return Arrays.Clone(array);
|
|
}
|
|
|
|
// Token: 0x0600988B RID: 39051 RVA: 0x0021D524 File Offset: 0x0021B724
|
|
[Token(Token = "0x600988B")]
|
|
[Address(RVA = "0x20EC690", Offset = "0x20EB090", VA = "0x1820EC690", Slot = "15")]
|
|
public int GetOutputSize(int len)
|
|
{
|
|
int num = this.bufOff;
|
|
int num2 = this.macSize;
|
|
num += len;
|
|
if (this.forEncryption)
|
|
{
|
|
return num2 + num;
|
|
}
|
|
if (num < num2)
|
|
{
|
|
return 0;
|
|
}
|
|
return num - num2;
|
|
}
|
|
|
|
// Token: 0x0600988C RID: 39052 RVA: 0x0021D560 File Offset: 0x0021B760
|
|
[Token(Token = "0x600988C")]
|
|
[Address(RVA = "0x20EC6C0", Offset = "0x20EB0C0", VA = "0x1820EC6C0", Slot = "14")]
|
|
public int GetUpdateOutputSize(int len)
|
|
{
|
|
int num = this.bufOff;
|
|
num += len;
|
|
int num2;
|
|
if (!this.forEncryption)
|
|
{
|
|
num2 = this.macSize;
|
|
num -= num2;
|
|
}
|
|
if (num < num2)
|
|
{
|
|
num++;
|
|
}
|
|
return num - num;
|
|
}
|
|
|
|
// Token: 0x0600988D RID: 39053 RVA: 0x0021D59C File Offset: 0x0021B79C
|
|
[Token(Token = "0x600988D")]
|
|
[Address(RVA = "0x20ECF20", Offset = "0x20EB920", VA = "0x1820ECF20", Slot = "8")]
|
|
public void ProcessAadByte(byte input)
|
|
{
|
|
this.CheckStatus();
|
|
byte[] array = this.atBlock;
|
|
int num = this.atBlockPos;
|
|
int num2 = this.atBlockPos;
|
|
num2++;
|
|
this.atBlockPos = num2;
|
|
if (num2 == 16)
|
|
{
|
|
byte[] array2 = this.atBlock;
|
|
byte[] s_at = this.S_at;
|
|
this.gHASHBlock(s_at, array2);
|
|
this.atBlockPos = (int)((ulong)0L);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600988E RID: 39054 RVA: 0x0021D5FC File Offset: 0x0021B7FC
|
|
[Token(Token = "0x600988E")]
|
|
[Address(RVA = "0x20ECFB0", Offset = "0x20EB9B0", VA = "0x1820ECFB0", Slot = "9")]
|
|
public void ProcessAadBytes(byte[] inBytes, int inOff, int len)
|
|
{
|
|
this.CheckStatus();
|
|
if (len > 0)
|
|
{
|
|
int num = 0;
|
|
byte[] array = this.atBlock;
|
|
int num2 = this.atBlockPos;
|
|
int num3 = this.atBlockPos;
|
|
num3++;
|
|
this.atBlockPos = num3;
|
|
if (num3 == 16)
|
|
{
|
|
byte[] array2 = this.atBlock;
|
|
byte[] s_at = this.S_at;
|
|
this.gHASHBlock(s_at, array2);
|
|
this.atBlockPos = num;
|
|
}
|
|
num3 = inOff - inOff;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600988F RID: 39055 RVA: 0x0021D670 File Offset: 0x0021B870
|
|
[Token(Token = "0x600988F")]
|
|
[Address(RVA = "0x20EC6F0", Offset = "0x20EB0F0", VA = "0x1820EC6F0")]
|
|
private void InitCipher()
|
|
{
|
|
if (this.atLength > (ulong)0L)
|
|
{
|
|
byte[] s_atPre = this.S_atPre;
|
|
int num = 0;
|
|
byte[] s_at = this.S_at;
|
|
int num2 = 0;
|
|
ulong num3;
|
|
Array.Copy(s_at, num2, s_atPre, num, (int)num3);
|
|
ulong num4 = this.atLength;
|
|
this.atLengthPre = num4;
|
|
}
|
|
int num5 = this.atBlockPos;
|
|
if (num5 > 0)
|
|
{
|
|
byte[] array = this.atBlock;
|
|
int num6 = 0;
|
|
byte[] s_atPre2 = this.S_atPre;
|
|
this.gHASHPartial(s_atPre2, array, num6, num5);
|
|
}
|
|
if (this.atLengthPre != (ulong)0L)
|
|
{
|
|
byte[] s = this.S;
|
|
int num7 = 0;
|
|
byte[] s_atPre3 = this.S_atPre;
|
|
int num8 = 0;
|
|
ulong num9;
|
|
Array.Copy(s_atPre3, num8, s, num7, (int)num9);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009890 RID: 39056 RVA: 0x0021D714 File Offset: 0x0021B914
|
|
[Token(Token = "0x6009890")]
|
|
[Address(RVA = "0x20ED290", Offset = "0x20EBC90", VA = "0x1820ED290", Slot = "10")]
|
|
public int ProcessByte(byte input, byte[] output, int outOff)
|
|
{
|
|
this.CheckStatus();
|
|
byte[] array = this.bufBlock;
|
|
int num = this.bufOff;
|
|
int num2 = this.bufOff;
|
|
byte[] array2 = this.bufBlock;
|
|
num2++;
|
|
this.bufOff = num2;
|
|
if (num2 != array2.Length)
|
|
{
|
|
return 0;
|
|
}
|
|
int num3 = 0;
|
|
int num4 = 0;
|
|
this.ProcessBlock(array2, num4, output, outOff);
|
|
int num7;
|
|
if ((this.forEncryption ? 1 : 0) == num3)
|
|
{
|
|
byte[] array3 = this.bufBlock;
|
|
int num5 = this.macSize;
|
|
int num6 = 0;
|
|
Array.Copy(array3, 16, array3, num6, num5);
|
|
num7 = this.macSize;
|
|
}
|
|
this.bufOff = num7;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009891 RID: 39057 RVA: 0x0021D7AC File Offset: 0x0021B9AC
|
|
[Token(Token = "0x6009891")]
|
|
[Address(RVA = "0x20ED370", Offset = "0x20EBD70", VA = "0x1820ED370", Slot = "11")]
|
|
public int ProcessBytes(byte[] input, int inOff, int len, byte[] output, int outOff)
|
|
{
|
|
this.CheckStatus();
|
|
Check.DataLength(input, inOff, inOff, "input buffer too short");
|
|
int num = 0;
|
|
if ((this.forEncryption ? 1 : 0) == num)
|
|
{
|
|
if (len <= 0)
|
|
{
|
|
return num;
|
|
}
|
|
byte[] array = this.bufBlock;
|
|
int num2 = this.bufOff;
|
|
int num3 = this.bufOff;
|
|
byte[] array2 = this.bufBlock;
|
|
num3++;
|
|
this.bufOff = num3;
|
|
if (num3 == array2.Length)
|
|
{
|
|
byte[] array3 = this.bufBlock;
|
|
int num4 = 0;
|
|
int num5 = this.macSize;
|
|
Array.Copy(array3, 16, array3, num4, num5);
|
|
int num6 = this.macSize;
|
|
num += 16;
|
|
this.bufOff = num6;
|
|
}
|
|
num3 = inOff - inOff;
|
|
}
|
|
if (this.bufOff != 0 && len > 0)
|
|
{
|
|
byte[] array4 = this.bufBlock;
|
|
int num7 = this.bufOff;
|
|
num7++;
|
|
this.bufOff = num7;
|
|
if (num7 == 16)
|
|
{
|
|
this.bufOff = num;
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
num += 16;
|
|
while (len != 16)
|
|
{
|
|
}
|
|
if (len > 0)
|
|
{
|
|
byte[] array5 = this.bufBlock;
|
|
int num8 = 0;
|
|
Array.Copy(input, inOff, array5, num8, len);
|
|
this.bufOff = len;
|
|
}
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x06009892 RID: 39058 RVA: 0x0021D8C4 File Offset: 0x0021BAC4
|
|
[Token(Token = "0x6009892")]
|
|
[Address(RVA = "0x20EBDE0", Offset = "0x20EA7E0", VA = "0x1820EBDE0", Slot = "12")]
|
|
public int DoFinal(byte[] output, int outOff)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009892)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.GcmBlockCipher::DoFinal(System.Byte[],System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_2FB:
|
|
stloc:InvalidCipherTextException(var_58_305, newobj:InvalidCipherTextException(InvalidCipherTextException::.ctor, ldstr:string("mac check in GCM failed")))
|
|
}
|
|
|
|
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.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: 0x06009893 RID: 39059 RVA: 0x0021DBD8 File Offset: 0x0021BDD8
|
|
[Token(Token = "0x6009893")]
|
|
[Address(RVA = "0x20ED780", Offset = "0x20EC180", VA = "0x1820ED780", Slot = "16")]
|
|
public void Reset()
|
|
{
|
|
this.Reset(true);
|
|
}
|
|
|
|
// Token: 0x06009894 RID: 39060 RVA: 0x0021DBEC File Offset: 0x0021BDEC
|
|
[Token(Token = "0x6009894")]
|
|
[Address(RVA = "0x20ED790", Offset = "0x20EC190", VA = "0x1820ED790")]
|
|
private void Reset(bool clearMac)
|
|
{
|
|
IBlockCipher blockCipher = this.cipher;
|
|
byte[] array = new byte[16];
|
|
this.S = array;
|
|
byte[] array2 = new byte[16];
|
|
this.S_at = array2;
|
|
byte[] array3 = new byte[16];
|
|
this.S_atPre = array3;
|
|
byte[] array4 = new byte[16];
|
|
byte[] j = this.J0;
|
|
int num = 0;
|
|
this.atBlockPos = num;
|
|
this.atLength = (ulong)num;
|
|
this.atLengthPre = (ulong)num;
|
|
this.atBlock = array4;
|
|
byte[] array5 = Arrays.Clone(j);
|
|
byte[] array6 = this.bufBlock;
|
|
this.counter = array5;
|
|
this.blocksRemaining = (uint)((ulong)4294967294L);
|
|
this.bufOff = num;
|
|
this.totalLength = (ulong)num;
|
|
if (array6 != 0)
|
|
{
|
|
int num2 = 0;
|
|
Arrays.Fill(array6, (byte)num2);
|
|
}
|
|
if (clearMac)
|
|
{
|
|
this.macBlock = num;
|
|
}
|
|
if ((this.forEncryption ? 1 : 0) == num)
|
|
{
|
|
byte[] array7 = this.initialAssociatedText;
|
|
if (array7 != 0)
|
|
{
|
|
int length = array7.Length;
|
|
int num3 = 0;
|
|
this.ProcessAadBytes(array7, num3, length);
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009895 RID: 39061 RVA: 0x0021DCF0 File Offset: 0x0021BEF0
|
|
[Token(Token = "0x6009895")]
|
|
[Address(RVA = "0x20ED0B0", Offset = "0x20EBAB0", VA = "0x1820ED0B0")]
|
|
private void ProcessBlock(byte[] buf, int bufOff, byte[] output, int outOff)
|
|
{
|
|
if (this.totalLength == (ulong)0L)
|
|
{
|
|
this.InitCipher();
|
|
}
|
|
byte[] array = this.ctrBlock;
|
|
this.GetNextCtrBlock(array);
|
|
if (!this.forEncryption)
|
|
{
|
|
GcmUtilities.Xor(this.S, buf, bufOff);
|
|
IGcmMultiplier gcmMultiplier = this.multiplier;
|
|
byte[] array2 = this.ctrBlock;
|
|
}
|
|
GcmUtilities.Xor(this.ctrBlock, buf, bufOff);
|
|
byte[] array3 = this.ctrBlock;
|
|
byte[] s = this.S;
|
|
this.gHASHBlock(s, array3);
|
|
byte[] array4 = this.ctrBlock;
|
|
}
|
|
|
|
// Token: 0x06009896 RID: 39062 RVA: 0x0021DD78 File Offset: 0x0021BF78
|
|
[Token(Token = "0x6009896")]
|
|
[Address(RVA = "0x20ED640", Offset = "0x20EC040", VA = "0x1820ED640")]
|
|
private void ProcessPartial(byte[] buf, int off, int len, byte[] output, int outOff)
|
|
{
|
|
byte[] array = this.ctrBlock;
|
|
this.GetNextCtrBlock(array);
|
|
if (!this.forEncryption)
|
|
{
|
|
byte[] s = this.S;
|
|
this.gHASHPartial(s, buf, len, len);
|
|
byte[] array2 = this.ctrBlock;
|
|
int num = 0;
|
|
GcmUtilities.Xor(buf, off, array2, num, len);
|
|
}
|
|
byte[] array3 = this.ctrBlock;
|
|
int num2 = 0;
|
|
GcmUtilities.Xor(buf, off, array3, num2, len);
|
|
byte[] s2 = this.S;
|
|
this.gHASHPartial(s2, buf, off, len);
|
|
}
|
|
|
|
// Token: 0x06009897 RID: 39063 RVA: 0x0021DDF4 File Offset: 0x0021BFF4
|
|
[Token(Token = "0x6009897")]
|
|
[Address(RVA = "0x20EDDF0", Offset = "0x20EC7F0", VA = "0x1820EDDF0")]
|
|
private void gHASH(byte[] Y, byte[] b, int len)
|
|
{
|
|
int num = 0;
|
|
if (len > 0)
|
|
{
|
|
int num2 = Math.Min(len, 16);
|
|
this.gHASHPartial(Y, b, num, num2);
|
|
num += 16;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009898 RID: 39064 RVA: 0x0021DE20 File Offset: 0x0021C020
|
|
[Token(Token = "0x6009898")]
|
|
[Address(RVA = "0x20EDC60", Offset = "0x20EC660", VA = "0x1820EDC60")]
|
|
private void gHASHBlock(byte[] Y, byte[] b)
|
|
{
|
|
GcmUtilities.Xor(Y, b);
|
|
IGcmMultiplier gcmMultiplier = this.multiplier;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009899 RID: 39065 RVA: 0x0021DE40 File Offset: 0x0021C040
|
|
[Token(Token = "0x6009899")]
|
|
[Address(RVA = "0x20EDBB0", Offset = "0x20EC5B0", VA = "0x1820EDBB0")]
|
|
private void gHASHBlock(byte[] Y, byte[] b, int off)
|
|
{
|
|
GcmUtilities.Xor(Y, b, off);
|
|
IGcmMultiplier gcmMultiplier = this.multiplier;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600989A RID: 39066 RVA: 0x0021DE64 File Offset: 0x0021C064
|
|
[Token(Token = "0x600989A")]
|
|
[Address(RVA = "0x20EDD00", Offset = "0x20EC700", VA = "0x1820EDD00")]
|
|
private void gHASHPartial(byte[] Y, byte[] b, int off, int len)
|
|
{
|
|
IGcmMultiplier gcmMultiplier = this.multiplier;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600989B RID: 39067 RVA: 0x0021DE80 File Offset: 0x0021C080
|
|
[Token(Token = "0x600989B")]
|
|
[Address(RVA = "0x20EC4E0", Offset = "0x20EAEE0", VA = "0x1820EC4E0")]
|
|
private void GetNextCtrBlock(byte[] block)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600989B)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.GcmBlockCipher::GetNextCtrBlock(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_9E:
|
|
stloc:InvalidOperationException(var_11_A8, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Attempt to process too many blocks")))
|
|
}
|
|
|
|
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: 0x0600989C RID: 39068 RVA: 0x0021DF38 File Offset: 0x0021C138
|
|
[Token(Token = "0x600989C")]
|
|
[Address(RVA = "0x20EBD40", Offset = "0x20EA740", VA = "0x1820EBD40")]
|
|
private void CheckStatus()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600989C)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.GcmBlockCipher::CheckStatus()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_13:
|
|
stloc:InvalidOperationException(var_0_1D, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("GCM cipher cannot be reused for encryption")))
|
|
}
|
|
|
|
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: 0x04006432 RID: 25650
|
|
[Token(Token = "0x4006432")]
|
|
private const int BlockSize = 16;
|
|
|
|
// Token: 0x04006433 RID: 25651
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006433")]
|
|
private byte[] ctrBlock;
|
|
|
|
// Token: 0x04006434 RID: 25652
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006434")]
|
|
private readonly IBlockCipher cipher;
|
|
|
|
// Token: 0x04006435 RID: 25653
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006435")]
|
|
private readonly IGcmMultiplier multiplier;
|
|
|
|
// Token: 0x04006436 RID: 25654
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4006436")]
|
|
private IGcmExponentiator exp;
|
|
|
|
// Token: 0x04006437 RID: 25655
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4006437")]
|
|
private bool forEncryption;
|
|
|
|
// Token: 0x04006438 RID: 25656
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x31")]
|
|
[Token(Token = "0x4006438")]
|
|
private bool initialised;
|
|
|
|
// Token: 0x04006439 RID: 25657
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
|
[Token(Token = "0x4006439")]
|
|
private int macSize;
|
|
|
|
// Token: 0x0400643A RID: 25658
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x400643A")]
|
|
private byte[] lastKey;
|
|
|
|
// Token: 0x0400643B RID: 25659
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400643B")]
|
|
private byte[] nonce;
|
|
|
|
// Token: 0x0400643C RID: 25660
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400643C")]
|
|
private byte[] initialAssociatedText;
|
|
|
|
// Token: 0x0400643D RID: 25661
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400643D")]
|
|
private byte[] H;
|
|
|
|
// Token: 0x0400643E RID: 25662
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400643E")]
|
|
private byte[] J0;
|
|
|
|
// Token: 0x0400643F RID: 25663
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400643F")]
|
|
private byte[] bufBlock;
|
|
|
|
// Token: 0x04006440 RID: 25664
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4006440")]
|
|
private byte[] macBlock;
|
|
|
|
// Token: 0x04006441 RID: 25665
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x4006441")]
|
|
private byte[] S;
|
|
|
|
// Token: 0x04006442 RID: 25666
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x4006442")]
|
|
private byte[] S_at;
|
|
|
|
// Token: 0x04006443 RID: 25667
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x4006443")]
|
|
private byte[] S_atPre;
|
|
|
|
// Token: 0x04006444 RID: 25668
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x4006444")]
|
|
private byte[] counter;
|
|
|
|
// Token: 0x04006445 RID: 25669
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x4006445")]
|
|
private uint blocksRemaining;
|
|
|
|
// Token: 0x04006446 RID: 25670
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x94")]
|
|
[Token(Token = "0x4006446")]
|
|
private int bufOff;
|
|
|
|
// Token: 0x04006447 RID: 25671
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
|
|
[Token(Token = "0x4006447")]
|
|
private ulong totalLength;
|
|
|
|
// Token: 0x04006448 RID: 25672
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
|
|
[Token(Token = "0x4006448")]
|
|
private byte[] atBlock;
|
|
|
|
// Token: 0x04006449 RID: 25673
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
|
|
[Token(Token = "0x4006449")]
|
|
private int atBlockPos;
|
|
|
|
// Token: 0x0400644A RID: 25674
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
|
|
[Token(Token = "0x400644A")]
|
|
private ulong atLength;
|
|
|
|
// Token: 0x0400644B RID: 25675
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
|
|
[Token(Token = "0x400644B")]
|
|
private ulong atLengthPre;
|
|
}
|
|
}
|