a
This commit is contained in:
@@ -0,0 +1,453 @@
|
||||
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: 0x02001B1D RID: 6941
|
||||
[Token(Token = "0x2001B1D")]
|
||||
internal class DeferredHash : TlsHandshakeHash, IDigest
|
||||
{
|
||||
// Token: 0x0600ACA4 RID: 44196 RVA: 0x00258954 File Offset: 0x00256B54
|
||||
[Token(Token = "0x600ACA4")]
|
||||
[Address(RVA = "0x18B1180", Offset = "0x18AFF80", VA = "0x1818B1180")]
|
||||
internal DeferredHash()
|
||||
{
|
||||
DigestInputBuffer digestInputBuffer = new DigestInputBuffer();
|
||||
this.mBuf = digestInputBuffer;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mHashes = dictionary;
|
||||
this.mPrfHashAlgorithm = (int)((ulong)4294967295L);
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA5 RID: 44197 RVA: 0x00258994 File Offset: 0x00256B94
|
||||
[Token(Token = "0x600ACA5")]
|
||||
[Address(RVA = "0x18B10B0", Offset = "0x18AFEB0", VA = "0x1818B10B0")]
|
||||
private DeferredHash(byte prfHashAlgorithm, IDigest prfHash)
|
||||
{
|
||||
this.mBuf = (ulong)0L;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mHashes = dictionary;
|
||||
this.mPrfHashAlgorithm = (int)prfHashAlgorithm;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA6 RID: 44198 RVA: 0x002589CC File Offset: 0x00256BCC
|
||||
[Token(Token = "0x600ACA6")]
|
||||
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200", Slot = "18")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA7 RID: 44199 RVA: 0x002589E0 File Offset: 0x00256BE0
|
||||
[Token(Token = "0x600ACA7")]
|
||||
[Address(RVA = "0x18B0780", Offset = "0x18AF580", VA = "0x1818B0780", 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: 0x0600ACA8 RID: 44200 RVA: 0x00258A38 File Offset: 0x00256C38
|
||||
[Token(Token = "0x600ACA8")]
|
||||
[Address(RVA = "0x18B0D80", Offset = "0x18AFB80", VA = "0x1818B0D80", Slot = "20")]
|
||||
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACA8)
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA9 RID: 44201 RVA: 0x00258A64 File Offset: 0x00256C64
|
||||
[Token(Token = "0x600ACA9")]
|
||||
[Address(RVA = "0x18B0BA0", Offset = "0x18AF9A0", VA = "0x1818B0BA0", Slot = "21")]
|
||||
public virtual void SealHashAlgorithms()
|
||||
{
|
||||
string algorithmName = ((IDigest)this).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACAA RID: 44202 RVA: 0x00258A78 File Offset: 0x00256C78
|
||||
[Token(Token = "0x600ACAA")]
|
||||
[Address(RVA = "0x18B0BC0", Offset = "0x18AF9C0", VA = "0x1818B0BC0", 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: 0x0600ACAB RID: 44203 RVA: 0x00258ADC File Offset: 0x00256CDC
|
||||
[Token(Token = "0x600ACAB")]
|
||||
[Address(RVA = "0x18B03E0", Offset = "0x18AF1E0", VA = "0x1818B03E0", 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: 0x0600ACAC RID: 44204 RVA: 0x00258B24 File Offset: 0x00256D24
|
||||
[Token(Token = "0x600ACAC")]
|
||||
[Address(RVA = "0x18B0600", Offset = "0x18AF400", VA = "0x1818B0600", 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: 0x17001B5D RID: 7005
|
||||
// (get) Token: 0x0600ACAD RID: 44205 RVA: 0x00258B74 File Offset: 0x00256D74
|
||||
[Token(Token = "0x17001B5D")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600ACAD")]
|
||||
[Address(RVA = "0x18B1210", Offset = "0x18B0010", VA = "0x1818B1210", Slot = "25")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACAD)
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACAE RID: 44206 RVA: 0x00258B8C File Offset: 0x00256D8C
|
||||
[Token(Token = "0x600ACAE")]
|
||||
[Address(RVA = "0x18B0540", Offset = "0x18AF340", VA = "0x1818B0540", Slot = "26")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACAE)
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACAF RID: 44207 RVA: 0x00258BA4 File Offset: 0x00256DA4
|
||||
[Token(Token = "0x600ACAF")]
|
||||
[Address(RVA = "0x18B05A0", Offset = "0x18AF3A0", VA = "0x1818B05A0", Slot = "27")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACAF)
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB0 RID: 44208 RVA: 0x00258BBC File Offset: 0x00256DBC
|
||||
[Token(Token = "0x600ACB0")]
|
||||
[Address(RVA = "0x18B0E10", Offset = "0x18AFC10", VA = "0x1818B0E10", 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: 0x0600ACB1 RID: 44209 RVA: 0x00258C20 File Offset: 0x00256E20
|
||||
[Token(Token = "0x600ACB1")]
|
||||
[Address(RVA = "0x18AFCE0", Offset = "0x18AEAE0", VA = "0x1818AFCE0", 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: 0x0600ACB2 RID: 44210 RVA: 0x00258C84 File Offset: 0x00256E84
|
||||
[Token(Token = "0x600ACB2")]
|
||||
[Address(RVA = "0x18B0380", Offset = "0x18AF180", VA = "0x1818B0380", Slot = "30")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACB2)
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB3 RID: 44211 RVA: 0x00258C9C File Offset: 0x00256E9C
|
||||
[Token(Token = "0x600ACB3")]
|
||||
[Address(RVA = "0x18B0900", Offset = "0x18AF700", VA = "0x1818B0900", 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: 0x0600ACB4 RID: 44212 RVA: 0x00258D00 File Offset: 0x00256F00
|
||||
[Token(Token = "0x600ACB4")]
|
||||
[Address(RVA = "0x18AFFA0", Offset = "0x18AEDA0", VA = "0x1818AFFA0", 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: 0x0600ACB5 RID: 44213 RVA: 0x00258D6C File Offset: 0x00256F6C
|
||||
[Token(Token = "0x600ACB5")]
|
||||
[Address(RVA = "0x18B0220", Offset = "0x18AF020", VA = "0x1818B0220", 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: 0x04006E5B RID: 28251
|
||||
[Token(Token = "0x4006E5B")]
|
||||
protected const int BUFFERING_HASH_LIMIT = 4;
|
||||
|
||||
// Token: 0x04006E5C RID: 28252
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E5C")]
|
||||
protected TlsContext mContext;
|
||||
|
||||
// Token: 0x04006E5D RID: 28253
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E5D")]
|
||||
private DigestInputBuffer mBuf;
|
||||
|
||||
// Token: 0x04006E5E RID: 28254
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E5E")]
|
||||
private IDictionary mHashes;
|
||||
|
||||
// Token: 0x04006E5F RID: 28255
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E5F")]
|
||||
private int mPrfHashAlgorithm;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user