454 lines
23 KiB
C#
454 lines
23 KiB
C#
using System;
|
|
using System.Collections;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
|
{
|
|
// Token: 0x02001BFD RID: 7165
|
|
[Token(Token = "0x2001BFD")]
|
|
internal class DeferredHash : TlsHandshakeHash, IDigest
|
|
{
|
|
// Token: 0x0600B072 RID: 45170 RVA: 0x00261A48 File Offset: 0x0025FC48
|
|
[Token(Token = "0x600B072")]
|
|
[Address(RVA = "0x2337EB0", Offset = "0x2336EB0", VA = "0x182337EB0")]
|
|
internal DeferredHash()
|
|
{
|
|
DigestInputBuffer digestInputBuffer = new DigestInputBuffer();
|
|
this.mBuf = digestInputBuffer;
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
this.mHashes = dictionary;
|
|
this.mPrfHashAlgorithm = (int)((ulong)4294967295L);
|
|
}
|
|
|
|
// Token: 0x0600B073 RID: 45171 RVA: 0x00261A88 File Offset: 0x0025FC88
|
|
[Token(Token = "0x600B073")]
|
|
[Address(RVA = "0x2337DE0", Offset = "0x2336DE0", VA = "0x182337DE0")]
|
|
private DeferredHash(byte prfHashAlgorithm, IDigest prfHash)
|
|
{
|
|
this.mBuf = (ulong)0L;
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
this.mHashes = dictionary;
|
|
this.mPrfHashAlgorithm = (int)prfHashAlgorithm;
|
|
}
|
|
|
|
// Token: 0x0600B074 RID: 45172 RVA: 0x00261AC0 File Offset: 0x0025FCC0
|
|
[Token(Token = "0x600B074")]
|
|
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800", Slot = "18")]
|
|
public virtual void Init(TlsContext context)
|
|
{
|
|
this.mContext = context;
|
|
}
|
|
|
|
// Token: 0x0600B075 RID: 45173 RVA: 0x00261AD4 File Offset: 0x0025FCD4
|
|
[Token(Token = "0x600B075")]
|
|
[Address(RVA = "0x23374D0", Offset = "0x23364D0", VA = "0x1823374D0", Slot = "19")]
|
|
public virtual TlsHandshakeHash NotifyPrfDetermined()
|
|
{
|
|
TlsContext tlsContext = this.mContext;
|
|
byte b;
|
|
this.mPrfHashAlgorithm = (int)b;
|
|
this.CheckStopBuffering();
|
|
CombinedHash combinedHash;
|
|
combinedHash.SealHashAlgorithms();
|
|
IDigest digest;
|
|
combinedHash.mMd5 = digest;
|
|
IDigest digest2;
|
|
combinedHash.mSha1 = digest2;
|
|
combinedHash.Reset();
|
|
this.mBuf.UpdateDigest(combinedHash);
|
|
string algorithmName = ((IDigest)combinedHash).AlgorithmName;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B076 RID: 45174 RVA: 0x00261B2C File Offset: 0x0025FD2C
|
|
[Token(Token = "0x600B076")]
|
|
[Address(RVA = "0x2337AB0", Offset = "0x2336AB0", VA = "0x182337AB0", Slot = "20")]
|
|
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B076)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::TrackHashAlgorithm(System.Byte)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_13:
|
|
stloc:InvalidOperationException(var_1_1D, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Too late to track more hash algorithms")))
|
|
}
|
|
|
|
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: 0x0600B077 RID: 45175 RVA: 0x00261B58 File Offset: 0x0025FD58
|
|
[Token(Token = "0x600B077")]
|
|
[Address(RVA = "0x12FBB00", Offset = "0x12FAB00", VA = "0x1812FBB00", Slot = "21")]
|
|
public virtual void SealHashAlgorithms()
|
|
{
|
|
string algorithmName = ((IDigest)this).AlgorithmName;
|
|
}
|
|
|
|
// Token: 0x0600B078 RID: 45176 RVA: 0x00261B6C File Offset: 0x0025FD6C
|
|
[Token(Token = "0x600B078")]
|
|
[Address(RVA = "0x23378F0", Offset = "0x23368F0", VA = "0x1823378F0", Slot = "22")]
|
|
public virtual TlsHandshakeHash StopTracking()
|
|
{
|
|
int num = this.mPrfHashAlgorithm;
|
|
if (this.mHashes == 0)
|
|
{
|
|
}
|
|
DigestInputBuffer digestInputBuffer = this.mBuf;
|
|
if (digestInputBuffer != 0)
|
|
{
|
|
IDigest digest;
|
|
digestInputBuffer.UpdateDigest(digest);
|
|
}
|
|
DeferredHash deferredHash = new DeferredHash();
|
|
deferredHash.mBuf = (ulong)0L;
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
deferredHash.mHashes = dictionary;
|
|
deferredHash.mPrfHashAlgorithm = num;
|
|
deferredHash.Reset();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B079 RID: 45177 RVA: 0x00261BD0 File Offset: 0x0025FDD0
|
|
[Token(Token = "0x600B079")]
|
|
[Address(RVA = "0x2337130", Offset = "0x2336130", VA = "0x182337130", Slot = "23")]
|
|
public virtual IDigest ForkPrfHash()
|
|
{
|
|
this.Reset();
|
|
int num = this.mPrfHashAlgorithm;
|
|
if (this.mBuf == (ulong)0L)
|
|
{
|
|
IDictionary dictionary = this.mHashes;
|
|
IDigest digest;
|
|
return digest;
|
|
}
|
|
IDigest digest2 = TlsUtilities.CreateHash((byte)num);
|
|
this.mBuf.UpdateDigest(digest2);
|
|
return digest2;
|
|
}
|
|
|
|
// Token: 0x0600B07A RID: 45178 RVA: 0x00261C18 File Offset: 0x0025FE18
|
|
[Token(Token = "0x600B07A")]
|
|
[Address(RVA = "0x2337350", Offset = "0x2336350", VA = "0x182337350", Slot = "24")]
|
|
public virtual byte[] GetFinalHash(byte hashAlgorithm)
|
|
{
|
|
IDictionary dictionary = this.mHashes;
|
|
DigestInputBuffer digestInputBuffer = this.mBuf;
|
|
IDigest digest;
|
|
if (digestInputBuffer != 0)
|
|
{
|
|
digestInputBuffer.UpdateDigest(digest);
|
|
}
|
|
return DigestUtilities.DoFinal(digest);
|
|
}
|
|
|
|
// Token: 0x17001BFA RID: 7162
|
|
// (get) Token: 0x0600B07B RID: 45179 RVA: 0x00261C68 File Offset: 0x0025FE68
|
|
[Token(Token = "0x17001BFA")]
|
|
public virtual string AlgorithmName
|
|
{
|
|
[Token(Token = "0x600B07B")]
|
|
[Address(RVA = "0x2337F40", Offset = "0x2336F40", VA = "0x182337F40", Slot = "25")]
|
|
get
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B07B)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::get_AlgorithmName()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
|
}
|
|
|
|
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: 0x0600B07C RID: 45180 RVA: 0x00261C80 File Offset: 0x0025FE80
|
|
[Token(Token = "0x600B07C")]
|
|
[Address(RVA = "0x2337290", Offset = "0x2336290", VA = "0x182337290", Slot = "26")]
|
|
public virtual int GetByteLength()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B07C)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::GetByteLength()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
|
}
|
|
|
|
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: 0x0600B07D RID: 45181 RVA: 0x00261C98 File Offset: 0x0025FE98
|
|
[Token(Token = "0x600B07D")]
|
|
[Address(RVA = "0x23372F0", Offset = "0x23362F0", VA = "0x1823372F0", Slot = "27")]
|
|
public virtual int GetDigestSize()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B07D)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::GetDigestSize()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
|
}
|
|
|
|
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: 0x0600B07E RID: 45182 RVA: 0x00261CB0 File Offset: 0x0025FEB0
|
|
[Token(Token = "0x600B07E")]
|
|
[Address(RVA = "0x2337B40", Offset = "0x2336B40", VA = "0x182337B40", Slot = "28")]
|
|
public virtual void Update(byte input)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (this.mBuf != 0)
|
|
{
|
|
break;
|
|
}
|
|
IDictionary dictionary = this.mHashes;
|
|
num += num;
|
|
num++;
|
|
if (num == 0 || num == 0)
|
|
{
|
|
goto IL_49;
|
|
}
|
|
uint num2;
|
|
if (num < (int)num2)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
num++;
|
|
num += 19;
|
|
num += 3;
|
|
num += 19;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return;
|
|
IL_49:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B07F RID: 45183 RVA: 0x00261D14 File Offset: 0x0025FF14
|
|
[Token(Token = "0x600B07F")]
|
|
[Address(RVA = "0x2336A30", Offset = "0x2335A30", VA = "0x182336A30", Slot = "29")]
|
|
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
|
{
|
|
int num;
|
|
DigestInputBuffer digestInputBuffer;
|
|
do
|
|
{
|
|
num = 0;
|
|
digestInputBuffer = this.mBuf;
|
|
if (digestInputBuffer != 0)
|
|
{
|
|
break;
|
|
}
|
|
IDictionary dictionary = this.mHashes;
|
|
num += num;
|
|
num++;
|
|
uint num2;
|
|
if (num < (int)num2)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
num++;
|
|
num += 19;
|
|
num += 4;
|
|
num += 19;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
int num3 = digestInputBuffer.ReadByte();
|
|
}
|
|
|
|
// Token: 0x0600B080 RID: 45184 RVA: 0x00261D78 File Offset: 0x0025FF78
|
|
[Token(Token = "0x600B080")]
|
|
[Address(RVA = "0x23370D0", Offset = "0x23360D0", VA = "0x1823370D0", Slot = "30")]
|
|
public virtual int DoFinal(byte[] output, int outOff)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B080)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::DoFinal(System.Byte[],System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
|
}
|
|
|
|
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: 0x0600B081 RID: 45185 RVA: 0x00261D90 File Offset: 0x0025FF90
|
|
[Token(Token = "0x600B081")]
|
|
[Address(RVA = "0x2337650", Offset = "0x2336650", VA = "0x182337650", Slot = "31")]
|
|
public virtual void Reset()
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (this.mBuf != 0)
|
|
{
|
|
break;
|
|
}
|
|
IDictionary dictionary = this.mHashes;
|
|
num += num;
|
|
num++;
|
|
if (num == 0 || num == 0)
|
|
{
|
|
goto IL_49;
|
|
}
|
|
uint num2;
|
|
if (num < (int)num2)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
num++;
|
|
num += 19;
|
|
num += 6;
|
|
num += 19;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return;
|
|
IL_49:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B082 RID: 45186 RVA: 0x00261DF4 File Offset: 0x0025FFF4
|
|
[Token(Token = "0x600B082")]
|
|
[Address(RVA = "0x2336CF0", Offset = "0x2335CF0", VA = "0x182336CF0", Slot = "32")]
|
|
protected virtual void CheckStopBuffering()
|
|
{
|
|
int num;
|
|
int num2;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (this.mBuf == num)
|
|
{
|
|
return;
|
|
}
|
|
IDictionary dictionary = this.mHashes;
|
|
IDictionary dictionary2 = this.mHashes;
|
|
num += num;
|
|
num++;
|
|
DigestInputBuffer digestInputBuffer = this.mBuf;
|
|
DigestInputBuffer.DigStream digStream;
|
|
digStream.d = 0;
|
|
Streams.WriteBufTo(digestInputBuffer, digStream);
|
|
num2 = 0;
|
|
if (digStream != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
this.mBuf = num2;
|
|
}
|
|
|
|
// Token: 0x0600B083 RID: 45187 RVA: 0x00261E60 File Offset: 0x00260060
|
|
[Token(Token = "0x600B083")]
|
|
[Address(RVA = "0x2336F70", Offset = "0x2335F70", VA = "0x182336F70", Slot = "33")]
|
|
protected virtual void CheckTrackingHash(byte hashAlgorithm)
|
|
{
|
|
IDictionary dictionary = this.mHashes;
|
|
int num = 0;
|
|
num += num;
|
|
num++;
|
|
IDigest digest = TlsUtilities.CreateHash(hashAlgorithm);
|
|
IDictionary dictionary2 = this.mHashes;
|
|
}
|
|
|
|
// Token: 0x04007014 RID: 28692
|
|
[Token(Token = "0x4007014")]
|
|
protected const int BUFFERING_HASH_LIMIT = 4;
|
|
|
|
// Token: 0x04007015 RID: 28693
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4007015")]
|
|
protected TlsContext mContext;
|
|
|
|
// Token: 0x04007016 RID: 28694
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4007016")]
|
|
private DigestInputBuffer mBuf;
|
|
|
|
// Token: 0x04007017 RID: 28695
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4007017")]
|
|
private IDictionary mHashes;
|
|
|
|
// Token: 0x04007018 RID: 28696
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4007018")]
|
|
private int mPrfHashAlgorithm;
|
|
}
|
|
}
|