scripts
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001513 RID: 5395
|
||||
[Token(Token = "0x2001513")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsAgreementCredentials : AbstractTlsCredentials, TlsAgreementCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x06008F83 RID: 36739
|
||||
[Token(Token = "0x6008F83")]
|
||||
[Address(Slot = "7")]
|
||||
public abstract byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey);
|
||||
|
||||
// Token: 0x06008F84 RID: 36740 RVA: 0x001FE38C File Offset: 0x001FC58C
|
||||
[Token(Token = "0x6008F84")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
protected AbstractTlsAgreementCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001514 RID: 5396
|
||||
[Token(Token = "0x2001514")]
|
||||
[StructLayout(3)]
|
||||
public class AbstractTlsCipherFactory : TlsCipherFactory
|
||||
{
|
||||
// Token: 0x06008F85 RID: 36741 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008F85")]
|
||||
[Address(RVA = "0x1E381C0", Offset = "0x1E36BC0", VA = "0x181E381C0", Slot = "5")]
|
||||
public virtual TlsCipher CreateCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008F86 RID: 36742 RVA: 0x001FE3A0 File Offset: 0x001FC5A0
|
||||
[Token(Token = "0x6008F86")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public AbstractTlsCipherFactory()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+353
@@ -0,0 +1,353 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001515 RID: 5397
|
||||
[Token(Token = "0x2001515")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsClient : AbstractTlsPeer, TlsClient, TlsPeer
|
||||
{
|
||||
// Token: 0x17001730 RID: 5936
|
||||
// (get) Token: 0x06008F87 RID: 36743 RVA: 0x001FE3B4 File Offset: 0x001FC5B4
|
||||
// (set) Token: 0x06008F88 RID: 36744 RVA: 0x001FE3C8 File Offset: 0x001FC5C8
|
||||
[Token(Token = "0x17001730")]
|
||||
public List<string> HostNames
|
||||
{
|
||||
[Token(Token = "0x6008F87")]
|
||||
[Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0", Slot = "20")]
|
||||
get;
|
||||
[Token(Token = "0x6008F88")]
|
||||
[Address(RVA = "0x3EDED0", Offset = "0x3EC8D0", VA = "0x1803EDED0", Slot = "21")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x06008F89 RID: 36745 RVA: 0x001FE3DC File Offset: 0x001FC5DC
|
||||
[Token(Token = "0x6008F89")]
|
||||
[Address(RVA = "0x1E38B50", Offset = "0x1E37550", VA = "0x181E38B50")]
|
||||
public AbstractTlsClient()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor();
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x06008F8A RID: 36746 RVA: 0x001FE3FC File Offset: 0x001FC5FC
|
||||
[Token(Token = "0x6008F8A")]
|
||||
[Address(RVA = "0x579A20", Offset = "0x578420", VA = "0x180579A20")]
|
||||
public AbstractTlsClient(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x06008F8B RID: 36747 RVA: 0x001FE418 File Offset: 0x001FC618
|
||||
[Token(Token = "0x6008F8B")]
|
||||
[Address(RVA = "0x1E38210", Offset = "0x1E36C10", VA = "0x181E38210", Slot = "40")]
|
||||
protected virtual bool AllowUnexpectedServerExtension(int extensionType, byte[] extensionData)
|
||||
{
|
||||
if (extensionType == 10)
|
||||
{
|
||||
int[] array = TlsEccUtilities.ReadSupportedEllipticCurvesExtension(extensionData);
|
||||
return true;
|
||||
}
|
||||
if (extensionType == 11)
|
||||
{
|
||||
byte[] array2 = TlsEccUtilities.ReadSupportedPointFormatsExtension(extensionData);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008F8C RID: 36748 RVA: 0x001FE444 File Offset: 0x001FC644
|
||||
[Token(Token = "0x6008F8C")]
|
||||
[Address(RVA = "0x1E382C0", Offset = "0x1E36CC0", VA = "0x181E382C0", Slot = "41")]
|
||||
protected virtual void CheckForUnexpectedServerExtension(IDictionary serverExtensions, int extensionType)
|
||||
{
|
||||
byte[] extensionData;
|
||||
do
|
||||
{
|
||||
extensionData = TlsUtilities.GetExtensionData(serverExtensions, extensionType);
|
||||
}
|
||||
while (extensionData != 0 && extensionData == 0);
|
||||
}
|
||||
|
||||
// Token: 0x06008F8D RID: 36749 RVA: 0x001FE464 File Offset: 0x001FC664
|
||||
[Token(Token = "0x6008F8D")]
|
||||
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280", Slot = "42")]
|
||||
public virtual void Init(TlsClientContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x06008F8E RID: 36750 RVA: 0x001FE478 File Offset: 0x001FC678
|
||||
[Token(Token = "0x6008F8E")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "43")]
|
||||
public virtual TlsSession GetSessionToResume()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001731 RID: 5937
|
||||
// (get) Token: 0x06008F8F RID: 36751 RVA: 0x001FE488 File Offset: 0x001FC688
|
||||
[Token(Token = "0x17001731")]
|
||||
public virtual ProtocolVersion ClientHelloRecordLayerVersion
|
||||
{
|
||||
[Token(Token = "0x6008F8F")]
|
||||
[Address(RVA = "0x17A3490", Offset = "0x17A1E90", VA = "0x1817A3490", Slot = "44")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008F8F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsClient::get_ClientHelloRecordLayerVersion()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32[](var_0_06, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:AbstractTlsClient(this)))
|
||||
}
|
||||
|
||||
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: 0x17001732 RID: 5938
|
||||
// (get) Token: 0x06008F90 RID: 36752 RVA: 0x001FE49C File Offset: 0x001FC69C
|
||||
[Token(Token = "0x17001732")]
|
||||
public virtual ProtocolVersion ClientVersion
|
||||
{
|
||||
[Token(Token = "0x6008F90")]
|
||||
[Address(RVA = "0x1E38BB0", Offset = "0x1E375B0", VA = "0x181E38BB0", Slot = "45")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv12;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001733 RID: 5939
|
||||
// (get) Token: 0x06008F91 RID: 36753 RVA: 0x001FE4B0 File Offset: 0x001FC6B0
|
||||
[Token(Token = "0x17001733")]
|
||||
public virtual bool IsFallback
|
||||
{
|
||||
[Token(Token = "0x6008F91")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "46")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008F92 RID: 36754 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008F92")]
|
||||
[Address(RVA = "0x1E38490", Offset = "0x1E36E90", VA = "0x181E38490", Slot = "47")]
|
||||
public virtual IDictionary GetClientExtensions()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001734 RID: 5940
|
||||
// (get) Token: 0x06008F93 RID: 36755 RVA: 0x001FE4C0 File Offset: 0x001FC6C0
|
||||
[Token(Token = "0x17001734")]
|
||||
public virtual ProtocolVersion MinimumVersion
|
||||
{
|
||||
[Token(Token = "0x6008F93")]
|
||||
[Address(RVA = "0x1E38C10", Offset = "0x1E37610", VA = "0x181E38C10", Slot = "48")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv10;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008F94 RID: 36756 RVA: 0x001FE4D4 File Offset: 0x001FC6D4
|
||||
[Token(Token = "0x6008F94")]
|
||||
[Address(RVA = "0x1E38930", Offset = "0x1E37330", VA = "0x181E38930", Slot = "49")]
|
||||
public virtual void NotifyServerVersion(ProtocolVersion serverVersion)
|
||||
{
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
IDictionary clientExtensions = this.GetClientExtensions();
|
||||
}
|
||||
while (!flag);
|
||||
}
|
||||
|
||||
// Token: 0x06008F95 RID: 36757
|
||||
[Token(Token = "0x6008F95")]
|
||||
[Address(Slot = "50")]
|
||||
public abstract int[] GetCipherSuites();
|
||||
|
||||
// Token: 0x06008F96 RID: 36758 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008F96")]
|
||||
[Address(RVA = "0x1E38830", Offset = "0x1E37230", VA = "0x181E38830", Slot = "51")]
|
||||
public virtual byte[] GetCompressionMethods()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008F97 RID: 36759 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008F97")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "52")]
|
||||
public virtual void NotifySessionID(byte[] sessionID)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008F98 RID: 36760 RVA: 0x001FE4EC File Offset: 0x001FC6EC
|
||||
[Token(Token = "0x6008F98")]
|
||||
[Address(RVA = "0x4564B0", Offset = "0x454EB0", VA = "0x1804564B0", Slot = "53")]
|
||||
public virtual void NotifySelectedCipherSuite(int selectedCipherSuite)
|
||||
{
|
||||
this.mSelectedCipherSuite = selectedCipherSuite;
|
||||
}
|
||||
|
||||
// Token: 0x06008F99 RID: 36761 RVA: 0x001FE500 File Offset: 0x001FC700
|
||||
[Token(Token = "0x6008F99")]
|
||||
[Address(RVA = "0x1E38920", Offset = "0x1E37320", VA = "0x181E38920", Slot = "54")]
|
||||
public virtual void NotifySelectedCompressionMethod(byte selectedCompressionMethod)
|
||||
{
|
||||
this.mSelectedCompressionMethod = (short)selectedCompressionMethod;
|
||||
}
|
||||
|
||||
// Token: 0x06008F9A RID: 36762 RVA: 0x001FE514 File Offset: 0x001FC714
|
||||
[Token(Token = "0x6008F9A")]
|
||||
[Address(RVA = "0x1E389D0", Offset = "0x1E373D0", VA = "0x181E389D0", Slot = "55")]
|
||||
public virtual void ProcessServerExtensions(IDictionary serverExtensions)
|
||||
{
|
||||
if (serverExtensions != 0)
|
||||
{
|
||||
if (!TlsEccUtilities.IsEccCipherSuite(this.mSelectedCipherSuite))
|
||||
{
|
||||
}
|
||||
byte[] supportedPointFormatsExtension = TlsEccUtilities.GetSupportedPointFormatsExtension(serverExtensions);
|
||||
this.mServerECPointFormats = supportedPointFormatsExtension;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008F9B RID: 36763 RVA: 0x001FE544 File Offset: 0x001FC744
|
||||
[Token(Token = "0x6008F9B")]
|
||||
[Address(RVA = "0x1E38AF0", Offset = "0x1E374F0", VA = "0x181E38AF0", Slot = "56")]
|
||||
public virtual void ProcessServerSupplementalData(IList serverSupplementalData)
|
||||
{
|
||||
while (serverSupplementalData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008F9C RID: 36764
|
||||
[Token(Token = "0x6008F9C")]
|
||||
[Address(Slot = "57")]
|
||||
public abstract TlsKeyExchange GetKeyExchange();
|
||||
|
||||
// Token: 0x06008F9D RID: 36765
|
||||
[Token(Token = "0x6008F9D")]
|
||||
[Address(Slot = "58")]
|
||||
public abstract TlsAuthentication GetAuthentication();
|
||||
|
||||
// Token: 0x06008F9E RID: 36766 RVA: 0x001FE558 File Offset: 0x001FC758
|
||||
[Token(Token = "0x6008F9E")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "59")]
|
||||
public virtual IList GetClientSupplementalData()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008F9F RID: 36767 RVA: 0x001FE568 File Offset: 0x001FC768
|
||||
[Token(Token = "0x6008F9F")]
|
||||
[Address(RVA = "0x1E38870", Offset = "0x1E37270", VA = "0x181E38870", Slot = "15")]
|
||||
public override TlsCompression GetCompression()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008F9F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCompression BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsClient::GetCompression()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int16(var_0_06, ldfld:int16(AbstractTlsClient::mSelectedCompressionMethod, ldloc:AbstractTlsClient(this)))
|
||||
stloc:TlsNullCompression(var_1_0C, newobj:TlsNullCompression(TlsNullCompression::.ctor))
|
||||
stloc:TlsDeflateCompression(var_2_12, newobj:TlsDeflateCompression(TlsDeflateCompression::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06008FA0 RID: 36768 RVA: 0x001FE588 File Offset: 0x001FC788
|
||||
[Token(Token = "0x6008FA0")]
|
||||
[Address(RVA = "0x1E38380", Offset = "0x1E36D80", VA = "0x181E38380", Slot = "16")]
|
||||
public override TlsCipher GetCipher()
|
||||
{
|
||||
int encryptionAlgorithm = TlsUtilities.GetEncryptionAlgorithm(this.mSelectedCipherSuite);
|
||||
int num = TlsUtilities.GetMacAlgorithm(this.mSelectedCipherSuite);
|
||||
TlsCipherFactory tlsCipherFactory = this.mCipherFactory;
|
||||
TlsClientContext tlsClientContext = this.mContext;
|
||||
int num2 = 0;
|
||||
num2 += num2;
|
||||
num2++;
|
||||
tlsClientContext += tlsClientContext;
|
||||
num += 19;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008FA1 RID: 36769 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FA1")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "60")]
|
||||
public virtual void NotifyNewSessionTicket(NewSessionTicket newSessionTicket)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x04005E6B RID: 24171
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E6B")]
|
||||
protected TlsCipherFactory mCipherFactory;
|
||||
|
||||
// Token: 0x04005E6C RID: 24172
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E6C")]
|
||||
protected TlsClientContext mContext;
|
||||
|
||||
// Token: 0x04005E6D RID: 24173
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E6D")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04005E6E RID: 24174
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4005E6E")]
|
||||
protected int[] mNamedCurves;
|
||||
|
||||
// Token: 0x04005E6F RID: 24175
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4005E6F")]
|
||||
protected byte[] mClientECPointFormats;
|
||||
|
||||
// Token: 0x04005E70 RID: 24176
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4005E70")]
|
||||
protected byte[] mServerECPointFormats;
|
||||
|
||||
// Token: 0x04005E71 RID: 24177
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4005E71")]
|
||||
protected int mSelectedCipherSuite;
|
||||
|
||||
// Token: 0x04005E72 RID: 24178
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x4005E72")]
|
||||
protected short mSelectedCompressionMethod;
|
||||
}
|
||||
}
|
||||
+238
@@ -0,0 +1,238 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Prng;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001516 RID: 5398
|
||||
[Token(Token = "0x2001516")]
|
||||
[StructLayout(3)]
|
||||
internal abstract class AbstractTlsContext : TlsContext
|
||||
{
|
||||
// Token: 0x06008FA2 RID: 36770 RVA: 0x001FE5DC File Offset: 0x001FC7DC
|
||||
[Token(Token = "0x6008FA2")]
|
||||
[Address(RVA = "0x1E71DE0", Offset = "0x1E707E0", VA = "0x181E71DE0")]
|
||||
private static long NextCounterValue()
|
||||
{
|
||||
long num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06008FA3 RID: 36771 RVA: 0x001FE5EC File Offset: 0x001FC7EC
|
||||
[Token(Token = "0x6008FA3")]
|
||||
[Address(RVA = "0x1E71EA0", Offset = "0x1E708A0", VA = "0x181E71EA0")]
|
||||
internal AbstractTlsContext(SecureRandom secureRandom, SecurityParameters securityParameters)
|
||||
{
|
||||
IDigest digest;
|
||||
byte[] array = new byte[digest];
|
||||
double num = secureRandom.NextDouble();
|
||||
DigestRandomGenerator digestRandomGenerator = new DigestRandomGenerator(digest);
|
||||
this.mNonceRandom = digestRandomGenerator;
|
||||
IRandomGenerator randomGenerator = this.mNonceRandom;
|
||||
long num2 = Times.NanoTime();
|
||||
IRandomGenerator randomGenerator2 = this.mNonceRandom;
|
||||
this.mSecureRandom = secureRandom;
|
||||
this.mSecurityParameters = securityParameters;
|
||||
}
|
||||
|
||||
// Token: 0x17001735 RID: 5941
|
||||
// (get) Token: 0x06008FA4 RID: 36772 RVA: 0x001FE64C File Offset: 0x001FC84C
|
||||
[Token(Token = "0x17001735")]
|
||||
public virtual IRandomGenerator NonceRandomGenerator
|
||||
{
|
||||
[Token(Token = "0x6008FA4")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return this.mNonceRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001736 RID: 5942
|
||||
// (get) Token: 0x06008FA5 RID: 36773 RVA: 0x001FE660 File Offset: 0x001FC860
|
||||
[Token(Token = "0x17001736")]
|
||||
public virtual SecureRandom SecureRandom
|
||||
{
|
||||
[Token(Token = "0x6008FA5")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return this.mSecureRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001737 RID: 5943
|
||||
// (get) Token: 0x06008FA6 RID: 36774 RVA: 0x001FE674 File Offset: 0x001FC874
|
||||
[Token(Token = "0x17001737")]
|
||||
public virtual SecurityParameters SecurityParameters
|
||||
{
|
||||
[Token(Token = "0x6008FA6")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "16")]
|
||||
get
|
||||
{
|
||||
return this.mSecurityParameters;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001738 RID: 5944
|
||||
// (get) Token: 0x06008FA7 RID: 36775
|
||||
[Token(Token = "0x17001738")]
|
||||
public abstract bool IsServer
|
||||
{
|
||||
[Token(Token = "0x6008FA7")]
|
||||
[Address(Slot = "17")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x17001739 RID: 5945
|
||||
// (get) Token: 0x06008FA8 RID: 36776 RVA: 0x001FE688 File Offset: 0x001FC888
|
||||
[Token(Token = "0x17001739")]
|
||||
public virtual ProtocolVersion ClientVersion
|
||||
{
|
||||
[Token(Token = "0x6008FA8")]
|
||||
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return this.mClientVersion;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FA9 RID: 36777 RVA: 0x001FE69C File Offset: 0x001FC89C
|
||||
[Token(Token = "0x6008FA9")]
|
||||
[Address(RVA = "0x3C1270", Offset = "0x3BFC70", VA = "0x1803C1270", Slot = "19")]
|
||||
internal virtual void SetClientVersion(ProtocolVersion clientVersion)
|
||||
{
|
||||
this.mClientVersion = clientVersion;
|
||||
}
|
||||
|
||||
// Token: 0x1700173A RID: 5946
|
||||
// (get) Token: 0x06008FAA RID: 36778 RVA: 0x001FE6B0 File Offset: 0x001FC8B0
|
||||
[Token(Token = "0x1700173A")]
|
||||
public virtual ProtocolVersion ServerVersion
|
||||
{
|
||||
[Token(Token = "0x6008FAA")]
|
||||
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250", Slot = "20")]
|
||||
get
|
||||
{
|
||||
return this.mServerVersion;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FAB RID: 36779 RVA: 0x001FE6C4 File Offset: 0x001FC8C4
|
||||
[Token(Token = "0x6008FAB")]
|
||||
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290", Slot = "21")]
|
||||
internal virtual void SetServerVersion(ProtocolVersion serverVersion)
|
||||
{
|
||||
this.mServerVersion = serverVersion;
|
||||
}
|
||||
|
||||
// Token: 0x1700173B RID: 5947
|
||||
// (get) Token: 0x06008FAC RID: 36780 RVA: 0x001FE6D8 File Offset: 0x001FC8D8
|
||||
[Token(Token = "0x1700173B")]
|
||||
public virtual TlsSession ResumableSession
|
||||
{
|
||||
[Token(Token = "0x6008FAC")]
|
||||
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
return this.mSession;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FAD RID: 36781 RVA: 0x001FE6EC File Offset: 0x001FC8EC
|
||||
[Token(Token = "0x6008FAD")]
|
||||
[Address(RVA = "0x421E00", Offset = "0x420800", VA = "0x180421E00", Slot = "23")]
|
||||
internal virtual void SetResumableSession(TlsSession session)
|
||||
{
|
||||
this.mSession = session;
|
||||
}
|
||||
|
||||
// Token: 0x1700173C RID: 5948
|
||||
// (get) Token: 0x06008FAE RID: 36782 RVA: 0x001FE700 File Offset: 0x001FC900
|
||||
// (set) Token: 0x06008FAF RID: 36783 RVA: 0x001FE714 File Offset: 0x001FC914
|
||||
[Token(Token = "0x1700173C")]
|
||||
public virtual object UserObject
|
||||
{
|
||||
[Token(Token = "0x6008FAE")]
|
||||
[Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0", Slot = "24")]
|
||||
get
|
||||
{
|
||||
return this.mUserObject;
|
||||
}
|
||||
[Token(Token = "0x6008FAF")]
|
||||
[Address(RVA = "0x3D3460", Offset = "0x3D1E60", VA = "0x1803D3460", Slot = "25")]
|
||||
set
|
||||
{
|
||||
this.mUserObject = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FB0 RID: 36784 RVA: 0x001FE728 File Offset: 0x001FC928
|
||||
[Token(Token = "0x6008FB0")]
|
||||
[Address(RVA = "0x1E71B00", Offset = "0x1E70500", VA = "0x181E71B00", Slot = "26")]
|
||||
public virtual byte[] ExportKeyingMaterial(string asciiLabel, byte[] context_value, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008FB0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsContext::ExportKeyingMaterial(System.String,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_D1:
|
||||
stloc:InvalidOperationException(var_19_DB, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("cannot export keying material without extended_master_secret")))
|
||||
}
|
||||
|
||||
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: 0x04005E74 RID: 24180
|
||||
[Token(Token = "0x4005E74")]
|
||||
private static long counter = Times.NanoTime();
|
||||
|
||||
// Token: 0x04005E75 RID: 24181
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E75")]
|
||||
private readonly IRandomGenerator mNonceRandom;
|
||||
|
||||
// Token: 0x04005E76 RID: 24182
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E76")]
|
||||
private readonly SecureRandom mSecureRandom;
|
||||
|
||||
// Token: 0x04005E77 RID: 24183
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E77")]
|
||||
private readonly SecurityParameters mSecurityParameters;
|
||||
|
||||
// Token: 0x04005E78 RID: 24184
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4005E78")]
|
||||
private ProtocolVersion mClientVersion;
|
||||
|
||||
// Token: 0x04005E79 RID: 24185
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4005E79")]
|
||||
private ProtocolVersion mServerVersion;
|
||||
|
||||
// Token: 0x04005E7A RID: 24186
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4005E7A")]
|
||||
private TlsSession mSession;
|
||||
|
||||
// Token: 0x04005E7B RID: 24187
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4005E7B")]
|
||||
private object mUserObject;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001517 RID: 5399
|
||||
[Token(Token = "0x2001517")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsCredentials : TlsCredentials
|
||||
{
|
||||
// Token: 0x1700173D RID: 5949
|
||||
// (get) Token: 0x06008FB2 RID: 36786
|
||||
[Token(Token = "0x1700173D")]
|
||||
public abstract Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x6008FB2")]
|
||||
[Address(Slot = "5")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x06008FB3 RID: 36787 RVA: 0x001FE830 File Offset: 0x001FCA30
|
||||
[Token(Token = "0x6008FB3")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected AbstractTlsCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001518 RID: 5400
|
||||
[Token(Token = "0x2001518")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsEncryptionCredentials : AbstractTlsCredentials, TlsEncryptionCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x06008FB4 RID: 36788
|
||||
[Token(Token = "0x6008FB4")]
|
||||
[Address(Slot = "7")]
|
||||
public abstract byte[] DecryptPreMasterSecret(byte[] encryptedPreMasterSecret);
|
||||
|
||||
// Token: 0x06008FB5 RID: 36789 RVA: 0x001FE844 File Offset: 0x001FCA44
|
||||
[Token(Token = "0x6008FB5")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected AbstractTlsEncryptionCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+177
@@ -0,0 +1,177 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001519 RID: 5401
|
||||
[Token(Token = "0x2001519")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsKeyExchange : TlsKeyExchange
|
||||
{
|
||||
// Token: 0x06008FB6 RID: 36790 RVA: 0x001FE858 File Offset: 0x001FCA58
|
||||
[Token(Token = "0x6008FB6")]
|
||||
[Address(RVA = "0x3C1040", Offset = "0x3BFA40", VA = "0x1803C1040")]
|
||||
protected AbstractTlsKeyExchange(int keyExchange, IList supportedSignatureAlgorithms)
|
||||
{
|
||||
int num = 0;
|
||||
this.ProcessServerCertificate(num);
|
||||
this.mKeyExchange = keyExchange;
|
||||
this.mSupportedSignatureAlgorithms = supportedSignatureAlgorithms;
|
||||
}
|
||||
|
||||
// Token: 0x06008FB7 RID: 36791 RVA: 0x001FE87C File Offset: 0x001FCA7C
|
||||
[Token(Token = "0x6008FB7")]
|
||||
[Address(RVA = "0x1E72310", Offset = "0x1E70D10", VA = "0x181E72310", Slot = "19")]
|
||||
protected virtual DigitallySigned ParseSignature(Stream input)
|
||||
{
|
||||
DigitallySigned digitallySigned = DigitallySigned.Parse(this.mContext, input);
|
||||
if (digitallySigned.ToString() != 0)
|
||||
{
|
||||
IList list = this.mSupportedSignatureAlgorithms;
|
||||
}
|
||||
return digitallySigned;
|
||||
}
|
||||
|
||||
// Token: 0x06008FB8 RID: 36792 RVA: 0x001FE8B0 File Offset: 0x001FCAB0
|
||||
[Token(Token = "0x6008FB8")]
|
||||
[Address(RVA = "0x1E72110", Offset = "0x1E70B10", VA = "0x181E72110", Slot = "20")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008FB8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsKeyExchange::Init(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_59:
|
||||
stloc:InvalidOperationException(var_10_63, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported key exchange algorithm")))
|
||||
}
|
||||
|
||||
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: 0x06008FB9 RID: 36793
|
||||
[Token(Token = "0x6008FB9")]
|
||||
[Address(Slot = "21")]
|
||||
public abstract void SkipServerCredentials();
|
||||
|
||||
// Token: 0x06008FBA RID: 36794 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FBA")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "22")]
|
||||
public virtual void ProcessServerCertificate(Certificate serverCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008FBB RID: 36795 RVA: 0x001FE924 File Offset: 0x001FCB24
|
||||
[Token(Token = "0x6008FBB")]
|
||||
[Address(RVA = "0x1E72410", Offset = "0x1E70E10", VA = "0x181E72410", Slot = "23")]
|
||||
public virtual void ProcessServerCredentials(TlsCredentials serverCredentials)
|
||||
{
|
||||
this.SkipServerCredentials();
|
||||
}
|
||||
|
||||
// Token: 0x1700173E RID: 5950
|
||||
// (get) Token: 0x06008FBC RID: 36796 RVA: 0x001FE940 File Offset: 0x001FCB40
|
||||
[Token(Token = "0x1700173E")]
|
||||
public virtual bool RequiresServerKeyExchange
|
||||
{
|
||||
[Token(Token = "0x6008FBC")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "24")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FBD RID: 36797 RVA: 0x001FE950 File Offset: 0x001FCB50
|
||||
[Token(Token = "0x6008FBD")]
|
||||
[Address(RVA = "0x1E720A0", Offset = "0x1E70AA0", VA = "0x181E720A0", Slot = "25")]
|
||||
public virtual byte[] GenerateServerKeyExchange()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008FBE RID: 36798 RVA: 0x001FE960 File Offset: 0x001FCB60
|
||||
[Token(Token = "0x6008FBE")]
|
||||
[Address(RVA = "0x1E724F0", Offset = "0x1E70EF0", VA = "0x181E724F0", Slot = "26")]
|
||||
public virtual void SkipServerKeyExchange()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008FBF RID: 36799 RVA: 0x001FE970 File Offset: 0x001FCB70
|
||||
[Token(Token = "0x6008FBF")]
|
||||
[Address(RVA = "0x1E72480", Offset = "0x1E70E80", VA = "0x181E72480", Slot = "27")]
|
||||
public virtual void ProcessServerKeyExchange(Stream input)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008FC0 RID: 36800
|
||||
[Token(Token = "0x6008FC0")]
|
||||
[Address(Slot = "28")]
|
||||
public abstract void ValidateCertificateRequest(CertificateRequest certificateRequest);
|
||||
|
||||
// Token: 0x06008FC1 RID: 36801 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FC1")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "29")]
|
||||
public virtual void SkipClientCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008FC2 RID: 36802
|
||||
[Token(Token = "0x6008FC2")]
|
||||
[Address(Slot = "30")]
|
||||
public abstract void ProcessClientCredentials(TlsCredentials clientCredentials);
|
||||
|
||||
// Token: 0x06008FC3 RID: 36803 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FC3")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "31")]
|
||||
public virtual void ProcessClientCertificate(Certificate clientCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008FC4 RID: 36804
|
||||
[Token(Token = "0x6008FC4")]
|
||||
[Address(Slot = "32")]
|
||||
public abstract void GenerateClientKeyExchange(Stream output);
|
||||
|
||||
// Token: 0x06008FC5 RID: 36805 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FC5")]
|
||||
[Address(RVA = "0x1E723C0", Offset = "0x1E70DC0", VA = "0x181E723C0", Slot = "33")]
|
||||
public virtual void ProcessClientKeyExchange(Stream input)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008FC6 RID: 36806
|
||||
[Token(Token = "0x6008FC6")]
|
||||
[Address(Slot = "34")]
|
||||
public abstract byte[] GeneratePremasterSecret();
|
||||
|
||||
// Token: 0x04005E7C RID: 24188
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E7C")]
|
||||
protected readonly int mKeyExchange;
|
||||
|
||||
// Token: 0x04005E7D RID: 24189
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E7D")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04005E7E RID: 24190
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E7E")]
|
||||
protected TlsContext mContext;
|
||||
}
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200151A RID: 5402
|
||||
[Token(Token = "0x200151A")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsPeer : TlsPeer
|
||||
{
|
||||
// Token: 0x06008FC7 RID: 36807 RVA: 0x001FE980 File Offset: 0x001FCB80
|
||||
[Token(Token = "0x6008FC7")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
||||
public virtual bool RequiresExtendedMasterSecret()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008FC8 RID: 36808 RVA: 0x001FE990 File Offset: 0x001FCB90
|
||||
[Token(Token = "0x6008FC8")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "13")]
|
||||
public virtual bool ShouldUseGmtUnixTime()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008FC9 RID: 36809 RVA: 0x001FE9A0 File Offset: 0x001FCBA0
|
||||
[Token(Token = "0x6008FC9")]
|
||||
[Address(RVA = "0x1E72560", Offset = "0x1E70F60", VA = "0x181E72560", Slot = "14")]
|
||||
public virtual void NotifySecureRenegotiation(bool secureRenegotiation)
|
||||
{
|
||||
while (!secureRenegotiation)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FCA RID: 36810
|
||||
[Token(Token = "0x6008FCA")]
|
||||
[Address(Slot = "15")]
|
||||
public abstract TlsCompression GetCompression();
|
||||
|
||||
// Token: 0x06008FCB RID: 36811
|
||||
[Token(Token = "0x6008FCB")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract TlsCipher GetCipher();
|
||||
|
||||
// Token: 0x06008FCC RID: 36812 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FCC")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "17")]
|
||||
public virtual void NotifyAlertRaised(byte alertLevel, byte alertDescription, string message, Exception cause)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008FCD RID: 36813 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FCD")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "18")]
|
||||
public virtual void NotifyAlertReceived(byte alertLevel, byte alertDescription)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008FCE RID: 36814 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FCE")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "19")]
|
||||
public virtual void NotifyHandshakeComplete()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008FCF RID: 36815 RVA: 0x001FE9B4 File Offset: 0x001FCBB4
|
||||
[Token(Token = "0x6008FCF")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected AbstractTlsPeer()
|
||||
{
|
||||
this.NotifyHandshakeComplete();
|
||||
}
|
||||
}
|
||||
}
|
||||
+520
@@ -0,0 +1,520 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200151B RID: 5403
|
||||
[Token(Token = "0x200151B")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsServer : AbstractTlsPeer, TlsServer, TlsPeer
|
||||
{
|
||||
// Token: 0x06008FD0 RID: 36816 RVA: 0x001FE9C8 File Offset: 0x001FCBC8
|
||||
[Token(Token = "0x6008FD0")]
|
||||
[Address(RVA = "0x1E73300", Offset = "0x1E71D00", VA = "0x181E73300")]
|
||||
public AbstractTlsServer()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor();
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x06008FD1 RID: 36817 RVA: 0x001FE9E8 File Offset: 0x001FCBE8
|
||||
[Token(Token = "0x6008FD1")]
|
||||
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
|
||||
public AbstractTlsServer(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x1700173F RID: 5951
|
||||
// (get) Token: 0x06008FD2 RID: 36818 RVA: 0x001FEA04 File Offset: 0x001FCC04
|
||||
[Token(Token = "0x1700173F")]
|
||||
protected virtual bool AllowEncryptThenMac
|
||||
{
|
||||
[Token(Token = "0x6008FD2")]
|
||||
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001740 RID: 5952
|
||||
// (get) Token: 0x06008FD3 RID: 36819 RVA: 0x001FEA14 File Offset: 0x001FCC14
|
||||
[Token(Token = "0x17001740")]
|
||||
protected virtual bool AllowTruncatedHMac
|
||||
{
|
||||
[Token(Token = "0x6008FD3")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FD4 RID: 36820 RVA: 0x001FEA24 File Offset: 0x001FCC24
|
||||
[Token(Token = "0x6008FD4")]
|
||||
[Address(RVA = "0x1E725C0", Offset = "0x1E70FC0", VA = "0x181E725C0", Slot = "40")]
|
||||
protected virtual IDictionary CheckServerExtensions()
|
||||
{
|
||||
IDictionary dictionary = TlsExtensionsUtilities.EnsureExtensionsInitialised(this.mServerExtensions);
|
||||
this.mServerExtensions = dictionary;
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06008FD5 RID: 36821
|
||||
[Token(Token = "0x6008FD5")]
|
||||
[Address(Slot = "41")]
|
||||
protected abstract int[] GetCipherSuites();
|
||||
|
||||
// Token: 0x06008FD6 RID: 36822 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FD6")]
|
||||
[Address(RVA = "0x1E72700", Offset = "0x1E71100", VA = "0x181E72700")]
|
||||
protected byte[] GetCompressionMethods()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001741 RID: 5953
|
||||
// (get) Token: 0x06008FD7 RID: 36823 RVA: 0x001FEA48 File Offset: 0x001FCC48
|
||||
[Token(Token = "0x17001741")]
|
||||
protected virtual ProtocolVersion MaximumVersion
|
||||
{
|
||||
[Token(Token = "0x6008FD7")]
|
||||
[Address(RVA = "0x1E73360", Offset = "0x1E71D60", VA = "0x181E73360", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv11;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001742 RID: 5954
|
||||
// (get) Token: 0x06008FD8 RID: 36824 RVA: 0x001FEA5C File Offset: 0x001FCC5C
|
||||
[Token(Token = "0x17001742")]
|
||||
protected virtual ProtocolVersion MinimumVersion
|
||||
{
|
||||
[Token(Token = "0x6008FD8")]
|
||||
[Address(RVA = "0x1E733C0", Offset = "0x1E71DC0", VA = "0x181E733C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv10;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FD9 RID: 36825 RVA: 0x001FEA70 File Offset: 0x001FCC70
|
||||
[Token(Token = "0x6008FD9")]
|
||||
[Address(RVA = "0x1E73200", Offset = "0x1E71C00", VA = "0x181E73200", Slot = "44")]
|
||||
protected virtual bool SupportsClientEccCapabilities(int[] namedCurves, byte[] ecPointFormats)
|
||||
{
|
||||
if (namedCurves != 0)
|
||||
{
|
||||
int num = 0;
|
||||
int length = namedCurves.Length;
|
||||
if (num < length)
|
||||
{
|
||||
int num2 = namedCurves[num];
|
||||
if (!NamedCurve.IsValid(num2) || (NamedCurve.RefersToASpecificNamedCurve(num2) && !TlsEccUtilities.IsSupportedNamedCurve(num2)))
|
||||
{
|
||||
num++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return TlsEccUtilities.HasAnySupportedNamedCurves();
|
||||
}
|
||||
|
||||
// Token: 0x06008FDA RID: 36826 RVA: 0x001FEAC8 File Offset: 0x001FCCC8
|
||||
[Token(Token = "0x6008FDA")]
|
||||
[Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280", Slot = "45")]
|
||||
public virtual void Init(TlsServerContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x06008FDB RID: 36827 RVA: 0x001FEADC File Offset: 0x001FCCDC
|
||||
[Token(Token = "0x6008FDB")]
|
||||
[Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260", Slot = "46")]
|
||||
public virtual void NotifyClientVersion(ProtocolVersion clientVersion)
|
||||
{
|
||||
this.mClientVersion = clientVersion;
|
||||
}
|
||||
|
||||
// Token: 0x06008FDC RID: 36828 RVA: 0x001FEAF0 File Offset: 0x001FCCF0
|
||||
[Token(Token = "0x6008FDC")]
|
||||
[Address(RVA = "0x1E72F10", Offset = "0x1E71910", VA = "0x181E72F10", Slot = "47")]
|
||||
public virtual void NotifyFallback(bool isFallback)
|
||||
{
|
||||
while (isFallback)
|
||||
{
|
||||
int[] cipherSuites = this.GetCipherSuites();
|
||||
ProtocolVersion protocolVersion = this.mClientVersion;
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FDD RID: 36829 RVA: 0x001FEB14 File Offset: 0x001FCD14
|
||||
[Token(Token = "0x6008FDD")]
|
||||
[Address(RVA = "0x1E72FB0", Offset = "0x1E719B0", VA = "0x181E72FB0", Slot = "48")]
|
||||
public virtual void NotifyOfferedCipherSuites(int[] offeredCipherSuites)
|
||||
{
|
||||
this.mOfferedCipherSuites = offeredCipherSuites;
|
||||
bool flag = TlsEccUtilities.ContainsEccCipherSuites(offeredCipherSuites);
|
||||
this.mEccCipherSuitesOffered = flag;
|
||||
}
|
||||
|
||||
// Token: 0x06008FDE RID: 36830 RVA: 0x001FEB38 File Offset: 0x001FCD38
|
||||
[Token(Token = "0x6008FDE")]
|
||||
[Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290", Slot = "49")]
|
||||
public virtual void NotifyOfferedCompressionMethods(byte[] offeredCompressionMethods)
|
||||
{
|
||||
this.mOfferedCompressionMethods = offeredCompressionMethods;
|
||||
}
|
||||
|
||||
// Token: 0x06008FDF RID: 36831 RVA: 0x001FEB4C File Offset: 0x001FCD4C
|
||||
[Token(Token = "0x6008FDF")]
|
||||
[Address(RVA = "0x1E73020", Offset = "0x1E71A20", VA = "0x181E73020", Slot = "50")]
|
||||
public virtual void ProcessClientExtensions(IDictionary clientExtensions)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
this.mClientExtensions = clientExtensions;
|
||||
if (clientExtensions == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
bool flag = TlsExtensionsUtilities.HasEncryptThenMacExtension(clientExtensions);
|
||||
this.mEncryptThenMacOffered = flag;
|
||||
short maxFragmentLengthExtension = TlsExtensionsUtilities.GetMaxFragmentLengthExtension(clientExtensions);
|
||||
this.mMaxFragmentLengthOffered = maxFragmentLengthExtension;
|
||||
if (MaxFragmentLength.IsValid((byte)maxFragmentLengthExtension))
|
||||
{
|
||||
bool flag2 = TlsExtensionsUtilities.HasTruncatedHMacExtension(clientExtensions);
|
||||
this.mTruncatedHMacOffered = flag2;
|
||||
IList signatureAlgorithmsExtension = TlsUtilities.GetSignatureAlgorithmsExtension(clientExtensions);
|
||||
this.mSupportedSignatureAlgorithms = signatureAlgorithmsExtension;
|
||||
if (signatureAlgorithmsExtension == 0 || TlsUtilities.IsSignatureAlgorithmsExtensionAllowed(this.mClientVersion))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int[] supportedEllipticCurvesExtension = TlsEccUtilities.GetSupportedEllipticCurvesExtension(clientExtensions);
|
||||
this.mNamedCurves = supportedEllipticCurvesExtension;
|
||||
byte[] supportedPointFormatsExtension = TlsEccUtilities.GetSupportedPointFormatsExtension(clientExtensions);
|
||||
this.mClientECPointFormats = supportedPointFormatsExtension;
|
||||
}
|
||||
|
||||
// Token: 0x06008FE0 RID: 36832 RVA: 0x001FEBD8 File Offset: 0x001FCDD8
|
||||
[Token(Token = "0x6008FE0")]
|
||||
[Address(RVA = "0x1E72DD0", Offset = "0x1E717D0", VA = "0x181E72DD0", Slot = "51")]
|
||||
public virtual ProtocolVersion GetServerVersion()
|
||||
{
|
||||
int[] cipherSuites;
|
||||
ProtocolVersion protocolVersion3;
|
||||
for (;;)
|
||||
{
|
||||
ProtocolVersion maximumVersion = this.MaximumVersion;
|
||||
ProtocolVersion protocolVersion = this.mClientVersion;
|
||||
if (maximumVersion.IsEqualOrEarlierVersionOf(protocolVersion))
|
||||
{
|
||||
cipherSuites = this.GetCipherSuites();
|
||||
ProtocolVersion protocolVersion2 = this.mClientVersion;
|
||||
protocolVersion3 = this.mClientVersion;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
goto IL_3F;
|
||||
}
|
||||
bool flag2;
|
||||
if (flag2)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mServerVersion = cipherSuites;
|
||||
IL_3F:
|
||||
this.mServerVersion = protocolVersion3;
|
||||
return protocolVersion3;
|
||||
}
|
||||
|
||||
// Token: 0x06008FE1 RID: 36833 RVA: 0x001FEC34 File Offset: 0x001FCE34
|
||||
[Token(Token = "0x6008FE1")]
|
||||
[Address(RVA = "0x1E72850", Offset = "0x1E71250", VA = "0x181E72850", Slot = "52")]
|
||||
public virtual int GetSelectedCipherSuite()
|
||||
{
|
||||
ProtocolVersion minimumVersion;
|
||||
int num;
|
||||
do
|
||||
{
|
||||
IList usableSignatureAlgorithms = TlsUtilities.GetUsableSignatureAlgorithms(this.mSupportedSignatureAlgorithms);
|
||||
minimumVersion = this.MinimumVersion;
|
||||
IDictionary dictionary = this.CheckServerExtensions();
|
||||
num = 0;
|
||||
}
|
||||
while (num >= this);
|
||||
bool flag;
|
||||
bool flag2;
|
||||
bool flag3;
|
||||
if (!Arrays.Contains(this.mOfferedCipherSuites, num) || (minimumVersion == 0 && flag) || !flag2 || !flag3)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008FE2 RID: 36834 RVA: 0x001FEC8C File Offset: 0x001FCE8C
|
||||
[Token(Token = "0x6008FE2")]
|
||||
[Address(RVA = "0x1E72A60", Offset = "0x1E71460", VA = "0x181E72A60", Slot = "53")]
|
||||
public virtual byte GetSelectedCompressionMethod()
|
||||
{
|
||||
int num;
|
||||
int length;
|
||||
do
|
||||
{
|
||||
byte[] array = new byte[1];
|
||||
num = 0;
|
||||
length = array.Length;
|
||||
}
|
||||
while (num >= length);
|
||||
byte b;
|
||||
if (!Arrays.Contains(this.mOfferedCompressionMethods, b))
|
||||
{
|
||||
num++;
|
||||
}
|
||||
byte b2;
|
||||
this.mSelectedCompressionMethod = b2;
|
||||
return b2;
|
||||
}
|
||||
|
||||
// Token: 0x06008FE3 RID: 36835 RVA: 0x001FECD0 File Offset: 0x001FCED0
|
||||
[Token(Token = "0x6008FE3")]
|
||||
[Address(RVA = "0x1E72BA0", Offset = "0x1E715A0", VA = "0x181E72BA0", Slot = "54")]
|
||||
public virtual IDictionary GetServerExtensions()
|
||||
{
|
||||
if (this.mEncryptThenMacOffered && this.GetNewSessionTicket() != 0 && TlsUtilities.IsBlockCipherSuite(this.mSelectedCipherSuite))
|
||||
{
|
||||
bool allowTruncatedHMac = this.AllowTruncatedHMac;
|
||||
}
|
||||
short num = this.mMaxFragmentLengthOffered;
|
||||
bool flag;
|
||||
if (flag && MaxFragmentLength.IsValid((byte)this.mMaxFragmentLengthOffered))
|
||||
{
|
||||
bool allowTruncatedHMac2 = this.AllowTruncatedHMac;
|
||||
}
|
||||
if (this.mTruncatedHMacOffered && this.AllowEncryptThenMac)
|
||||
{
|
||||
bool allowTruncatedHMac3 = this.AllowTruncatedHMac;
|
||||
}
|
||||
if (this.mClientECPointFormats != (ulong)0L && TlsEccUtilities.IsEccCipherSuite(this.mSelectedCipherSuite))
|
||||
{
|
||||
byte[] array = new byte[3];
|
||||
array[0] = (byte)((ulong)1L);
|
||||
array[0] = (byte)((ulong)2L);
|
||||
this.mServerECPointFormats = array;
|
||||
bool allowTruncatedHMac4 = this.AllowTruncatedHMac;
|
||||
}
|
||||
return this.mServerExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x06008FE4 RID: 36836 RVA: 0x001FED94 File Offset: 0x001FCF94
|
||||
[Token(Token = "0x6008FE4")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "55")]
|
||||
public virtual IList GetServerSupplementalData()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008FE5 RID: 36837
|
||||
[Token(Token = "0x6008FE5")]
|
||||
[Address(Slot = "56")]
|
||||
public abstract TlsCredentials GetCredentials();
|
||||
|
||||
// Token: 0x06008FE6 RID: 36838 RVA: 0x001FEDA4 File Offset: 0x001FCFA4
|
||||
[Token(Token = "0x6008FE6")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "57")]
|
||||
public virtual CertificateStatus GetCertificateStatus()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008FE7 RID: 36839
|
||||
[Token(Token = "0x6008FE7")]
|
||||
[Address(Slot = "58")]
|
||||
public abstract TlsKeyExchange GetKeyExchange();
|
||||
|
||||
// Token: 0x06008FE8 RID: 36840 RVA: 0x001FEDB4 File Offset: 0x001FCFB4
|
||||
[Token(Token = "0x6008FE8")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "59")]
|
||||
public virtual CertificateRequest GetCertificateRequest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008FE9 RID: 36841 RVA: 0x001FEDC4 File Offset: 0x001FCFC4
|
||||
[Token(Token = "0x6008FE9")]
|
||||
[Address(RVA = "0x1E731A0", Offset = "0x1E71BA0", VA = "0x181E731A0", Slot = "60")]
|
||||
public virtual void ProcessClientSupplementalData(IList clientSupplementalData)
|
||||
{
|
||||
while (clientSupplementalData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008FEA RID: 36842 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008FEA")]
|
||||
[Address(RVA = "0x1E72EC0", Offset = "0x1E718C0", VA = "0x181E72EC0", Slot = "61")]
|
||||
public virtual void NotifyClientCertificate(Certificate clientCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008FEB RID: 36843 RVA: 0x001FEDD8 File Offset: 0x001FCFD8
|
||||
[Token(Token = "0x6008FEB")]
|
||||
[Address(RVA = "0x1E72740", Offset = "0x1E71140", VA = "0x181E72740", Slot = "15")]
|
||||
public override TlsCompression GetCompression()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008FEB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCompression BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsServer::GetCompression()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsNullCompression(var_0_05, newobj:TlsNullCompression(TlsNullCompression::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06008FEC RID: 36844 RVA: 0x001FEDEC File Offset: 0x001FCFEC
|
||||
[Token(Token = "0x6008FEC")]
|
||||
[Address(RVA = "0x1E725F0", Offset = "0x1E70FF0", VA = "0x181E725F0", Slot = "16")]
|
||||
public override TlsCipher GetCipher()
|
||||
{
|
||||
int encryptionAlgorithm = TlsUtilities.GetEncryptionAlgorithm(this.mSelectedCipherSuite);
|
||||
int num = TlsUtilities.GetMacAlgorithm(this.mSelectedCipherSuite);
|
||||
TlsCipherFactory tlsCipherFactory = this.mCipherFactory;
|
||||
TlsServerContext tlsServerContext = this.mContext;
|
||||
int num2 = 0;
|
||||
num2 += num2;
|
||||
num2++;
|
||||
tlsServerContext += tlsServerContext;
|
||||
num += 19;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008FED RID: 36845 RVA: 0x001FEE40 File Offset: 0x001FD040
|
||||
[Token(Token = "0x6008FED")]
|
||||
[Address(RVA = "0x1E727C0", Offset = "0x1E711C0", VA = "0x181E727C0", Slot = "62")]
|
||||
public virtual NewSessionTicket GetNewSessionTicket()
|
||||
{
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
int num;
|
||||
NewSessionTicket newSessionTicket = new NewSessionTicket((long)num, emptyBytes);
|
||||
num = 0;
|
||||
return newSessionTicket;
|
||||
}
|
||||
|
||||
// Token: 0x04005E7F RID: 24191
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E7F")]
|
||||
protected TlsCipherFactory mCipherFactory;
|
||||
|
||||
// Token: 0x04005E80 RID: 24192
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E80")]
|
||||
protected TlsServerContext mContext;
|
||||
|
||||
// Token: 0x04005E81 RID: 24193
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E81")]
|
||||
protected ProtocolVersion mClientVersion;
|
||||
|
||||
// Token: 0x04005E82 RID: 24194
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4005E82")]
|
||||
protected int[] mOfferedCipherSuites;
|
||||
|
||||
// Token: 0x04005E83 RID: 24195
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4005E83")]
|
||||
protected byte[] mOfferedCompressionMethods;
|
||||
|
||||
// Token: 0x04005E84 RID: 24196
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4005E84")]
|
||||
protected IDictionary mClientExtensions;
|
||||
|
||||
// Token: 0x04005E85 RID: 24197
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4005E85")]
|
||||
protected bool mEncryptThenMacOffered;
|
||||
|
||||
// Token: 0x04005E86 RID: 24198
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x42")]
|
||||
[Token(Token = "0x4005E86")]
|
||||
protected short mMaxFragmentLengthOffered;
|
||||
|
||||
// Token: 0x04005E87 RID: 24199
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x4005E87")]
|
||||
protected bool mTruncatedHMacOffered;
|
||||
|
||||
// Token: 0x04005E88 RID: 24200
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4005E88")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04005E89 RID: 24201
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4005E89")]
|
||||
protected bool mEccCipherSuitesOffered;
|
||||
|
||||
// Token: 0x04005E8A RID: 24202
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4005E8A")]
|
||||
protected int[] mNamedCurves;
|
||||
|
||||
// Token: 0x04005E8B RID: 24203
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4005E8B")]
|
||||
protected byte[] mClientECPointFormats;
|
||||
|
||||
// Token: 0x04005E8C RID: 24204
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4005E8C")]
|
||||
protected byte[] mServerECPointFormats;
|
||||
|
||||
// Token: 0x04005E8D RID: 24205
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4005E8D")]
|
||||
protected ProtocolVersion mServerVersion;
|
||||
|
||||
// Token: 0x04005E8E RID: 24206
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4005E8E")]
|
||||
protected int mSelectedCipherSuite;
|
||||
|
||||
// Token: 0x04005E8F RID: 24207
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x7C")]
|
||||
[Token(Token = "0x4005E8F")]
|
||||
protected byte mSelectedCompressionMethod;
|
||||
|
||||
// Token: 0x04005E90 RID: 24208
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4005E90")]
|
||||
protected IDictionary mServerExtensions;
|
||||
}
|
||||
}
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200151C RID: 5404
|
||||
[Token(Token = "0x200151C")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsSigner : TlsSigner
|
||||
{
|
||||
// Token: 0x06008FEE RID: 36846 RVA: 0x001FEE60 File Offset: 0x001FD060
|
||||
[Token(Token = "0x6008FEE")]
|
||||
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0", Slot = "14")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x06008FEF RID: 36847 RVA: 0x001FEE74 File Offset: 0x001FD074
|
||||
[Token(Token = "0x6008FEF")]
|
||||
[Address(RVA = "0x1E734C0", Offset = "0x1E71EC0", VA = "0x181E734C0", Slot = "15")]
|
||||
public virtual byte[] GenerateRawSignature(AsymmetricKeyParameter privateKey, byte[] md5AndSha1)
|
||||
{
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06008FF0 RID: 36848
|
||||
[Token(Token = "0x6008FF0")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract byte[] GenerateRawSignature(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey, byte[] hash);
|
||||
|
||||
// Token: 0x06008FF1 RID: 36849 RVA: 0x001FEE84 File Offset: 0x001FD084
|
||||
[Token(Token = "0x6008FF1")]
|
||||
[Address(RVA = "0x1E734F0", Offset = "0x1E71EF0", VA = "0x181E734F0", Slot = "17")]
|
||||
public virtual bool VerifyRawSignature(byte[] sigBytes, AsymmetricKeyParameter publicKey, byte[] md5AndSha1)
|
||||
{
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x06008FF2 RID: 36850
|
||||
[Token(Token = "0x6008FF2")]
|
||||
[Address(Slot = "18")]
|
||||
public abstract bool VerifyRawSignature(SignatureAndHashAlgorithm algorithm, byte[] sigBytes, AsymmetricKeyParameter publicKey, byte[] hash);
|
||||
|
||||
// Token: 0x06008FF3 RID: 36851 RVA: 0x001FEE94 File Offset: 0x001FD094
|
||||
[Token(Token = "0x6008FF3")]
|
||||
[Address(RVA = "0x1E73480", Offset = "0x1E71E80", VA = "0x181E73480", Slot = "19")]
|
||||
public virtual ISigner CreateSigner(AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
int num = 0;
|
||||
return this.CreateSigner(num, privateKey);
|
||||
}
|
||||
|
||||
// Token: 0x06008FF4 RID: 36852
|
||||
[Token(Token = "0x6008FF4")]
|
||||
[Address(Slot = "20")]
|
||||
public abstract ISigner CreateSigner(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey);
|
||||
|
||||
// Token: 0x06008FF5 RID: 36853 RVA: 0x001FEEAC File Offset: 0x001FD0AC
|
||||
[Token(Token = "0x6008FF5")]
|
||||
[Address(RVA = "0x1E734A0", Offset = "0x1E71EA0", VA = "0x181E734A0", Slot = "21")]
|
||||
public virtual ISigner CreateVerifyer(AsymmetricKeyParameter publicKey)
|
||||
{
|
||||
int num = 0;
|
||||
return this.CreateSigner(num, publicKey);
|
||||
}
|
||||
|
||||
// Token: 0x06008FF6 RID: 36854
|
||||
[Token(Token = "0x6008FF6")]
|
||||
[Address(Slot = "22")]
|
||||
public abstract ISigner CreateVerifyer(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter publicKey);
|
||||
|
||||
// Token: 0x06008FF7 RID: 36855
|
||||
[Token(Token = "0x6008FF7")]
|
||||
[Address(Slot = "23")]
|
||||
public abstract bool IsValidPublicKey(AsymmetricKeyParameter publicKey);
|
||||
|
||||
// Token: 0x06008FF8 RID: 36856 RVA: 0x001FEEC4 File Offset: 0x001FD0C4
|
||||
[Token(Token = "0x6008FF8")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected AbstractTlsSigner()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005E91 RID: 24209
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E91")]
|
||||
protected TlsContext mContext;
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200151D RID: 5405
|
||||
[Token(Token = "0x200151D")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AbstractTlsSignerCredentials : AbstractTlsCredentials, TlsSignerCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x06008FF9 RID: 36857
|
||||
[Token(Token = "0x6008FF9")]
|
||||
[Address(Slot = "8")]
|
||||
public abstract byte[] GenerateCertificateSignature(byte[] hash);
|
||||
|
||||
// Token: 0x17001743 RID: 5955
|
||||
// (get) Token: 0x06008FFA RID: 36858 RVA: 0x001FEED8 File Offset: 0x001FD0D8
|
||||
[Token(Token = "0x17001743")]
|
||||
public virtual SignatureAndHashAlgorithm SignatureAndHashAlgorithm
|
||||
{
|
||||
[Token(Token = "0x6008FFA")]
|
||||
[Address(RVA = "0x1E73420", Offset = "0x1E71E20", VA = "0x181E73420", Slot = "9")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008FFA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsSignerCredentials::get_SignatureAndHashAlgorithm()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("TlsSignerCredentials implementation does not support (D)TLS 1.2+")))
|
||||
}
|
||||
|
||||
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: 0x06008FFB RID: 36859 RVA: 0x001FEEF0 File Offset: 0x001FD0F0
|
||||
[Token(Token = "0x6008FFB")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected AbstractTlsSignerCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200151E RID: 5406
|
||||
[Token(Token = "0x200151E")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AlertDescription
|
||||
{
|
||||
// Token: 0x06008FFC RID: 36860 RVA: 0x001FEF04 File Offset: 0x001FD104
|
||||
[Token(Token = "0x6008FFC")]
|
||||
[Address(RVA = "0x1E73520", Offset = "0x1E71F20", VA = "0x181E73520")]
|
||||
public static string GetName(byte alertDescription)
|
||||
{
|
||||
return "user_canceled";
|
||||
}
|
||||
|
||||
// Token: 0x06008FFD RID: 36861 RVA: 0x001FEFD0 File Offset: 0x001FD1D0
|
||||
[Token(Token = "0x6008FFD")]
|
||||
[Address(RVA = "0x1E73800", Offset = "0x1E72200", VA = "0x181E73800")]
|
||||
public static string GetText(byte alertDescription)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
if ("bad_record_mac" != 0)
|
||||
{
|
||||
}
|
||||
array[0] = "bad_record_mac";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x06008FFE RID: 36862 RVA: 0x001FF040 File Offset: 0x001FD240
|
||||
[Token(Token = "0x6008FFE")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected AlertDescription()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005E92 RID: 24210
|
||||
[Token(Token = "0x4005E92")]
|
||||
public const byte close_notify = 0;
|
||||
|
||||
// Token: 0x04005E93 RID: 24211
|
||||
[Token(Token = "0x4005E93")]
|
||||
public const byte unexpected_message = 10;
|
||||
|
||||
// Token: 0x04005E94 RID: 24212
|
||||
[Token(Token = "0x4005E94")]
|
||||
public const byte bad_record_mac = 20;
|
||||
|
||||
// Token: 0x04005E95 RID: 24213
|
||||
[Token(Token = "0x4005E95")]
|
||||
public const byte decryption_failed = 21;
|
||||
|
||||
// Token: 0x04005E96 RID: 24214
|
||||
[Token(Token = "0x4005E96")]
|
||||
public const byte record_overflow = 22;
|
||||
|
||||
// Token: 0x04005E97 RID: 24215
|
||||
[Token(Token = "0x4005E97")]
|
||||
public const byte decompression_failure = 30;
|
||||
|
||||
// Token: 0x04005E98 RID: 24216
|
||||
[Token(Token = "0x4005E98")]
|
||||
public const byte handshake_failure = 40;
|
||||
|
||||
// Token: 0x04005E99 RID: 24217
|
||||
[Token(Token = "0x4005E99")]
|
||||
public const byte no_certificate = 41;
|
||||
|
||||
// Token: 0x04005E9A RID: 24218
|
||||
[Token(Token = "0x4005E9A")]
|
||||
public const byte bad_certificate = 42;
|
||||
|
||||
// Token: 0x04005E9B RID: 24219
|
||||
[Token(Token = "0x4005E9B")]
|
||||
public const byte unsupported_certificate = 43;
|
||||
|
||||
// Token: 0x04005E9C RID: 24220
|
||||
[Token(Token = "0x4005E9C")]
|
||||
public const byte certificate_revoked = 44;
|
||||
|
||||
// Token: 0x04005E9D RID: 24221
|
||||
[Token(Token = "0x4005E9D")]
|
||||
public const byte certificate_expired = 45;
|
||||
|
||||
// Token: 0x04005E9E RID: 24222
|
||||
[Token(Token = "0x4005E9E")]
|
||||
public const byte certificate_unknown = 46;
|
||||
|
||||
// Token: 0x04005E9F RID: 24223
|
||||
[Token(Token = "0x4005E9F")]
|
||||
public const byte illegal_parameter = 47;
|
||||
|
||||
// Token: 0x04005EA0 RID: 24224
|
||||
[Token(Token = "0x4005EA0")]
|
||||
public const byte unknown_ca = 48;
|
||||
|
||||
// Token: 0x04005EA1 RID: 24225
|
||||
[Token(Token = "0x4005EA1")]
|
||||
public const byte access_denied = 49;
|
||||
|
||||
// Token: 0x04005EA2 RID: 24226
|
||||
[Token(Token = "0x4005EA2")]
|
||||
public const byte decode_error = 50;
|
||||
|
||||
// Token: 0x04005EA3 RID: 24227
|
||||
[Token(Token = "0x4005EA3")]
|
||||
public const byte decrypt_error = 51;
|
||||
|
||||
// Token: 0x04005EA4 RID: 24228
|
||||
[Token(Token = "0x4005EA4")]
|
||||
public const byte export_restriction = 60;
|
||||
|
||||
// Token: 0x04005EA5 RID: 24229
|
||||
[Token(Token = "0x4005EA5")]
|
||||
public const byte protocol_version = 70;
|
||||
|
||||
// Token: 0x04005EA6 RID: 24230
|
||||
[Token(Token = "0x4005EA6")]
|
||||
public const byte insufficient_security = 71;
|
||||
|
||||
// Token: 0x04005EA7 RID: 24231
|
||||
[Token(Token = "0x4005EA7")]
|
||||
public const byte internal_error = 80;
|
||||
|
||||
// Token: 0x04005EA8 RID: 24232
|
||||
[Token(Token = "0x4005EA8")]
|
||||
public const byte user_canceled = 90;
|
||||
|
||||
// Token: 0x04005EA9 RID: 24233
|
||||
[Token(Token = "0x4005EA9")]
|
||||
public const byte no_renegotiation = 100;
|
||||
|
||||
// Token: 0x04005EAA RID: 24234
|
||||
[Token(Token = "0x4005EAA")]
|
||||
public const byte unsupported_extension = 110;
|
||||
|
||||
// Token: 0x04005EAB RID: 24235
|
||||
[Token(Token = "0x4005EAB")]
|
||||
public const byte certificate_unobtainable = 111;
|
||||
|
||||
// Token: 0x04005EAC RID: 24236
|
||||
[Token(Token = "0x4005EAC")]
|
||||
public const byte unrecognized_name = 112;
|
||||
|
||||
// Token: 0x04005EAD RID: 24237
|
||||
[Token(Token = "0x4005EAD")]
|
||||
public const byte bad_certificate_status_response = 113;
|
||||
|
||||
// Token: 0x04005EAE RID: 24238
|
||||
[Token(Token = "0x4005EAE")]
|
||||
public const byte bad_certificate_hash_value = 114;
|
||||
|
||||
// Token: 0x04005EAF RID: 24239
|
||||
[Token(Token = "0x4005EAF")]
|
||||
public const byte unknown_psk_identity = 115;
|
||||
|
||||
// Token: 0x04005EB0 RID: 24240
|
||||
[Token(Token = "0x4005EB0")]
|
||||
public const byte inappropriate_fallback = 86;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200151F RID: 5407
|
||||
[Token(Token = "0x200151F")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AlertLevel
|
||||
{
|
||||
// Token: 0x06008FFF RID: 36863 RVA: 0x001FF054 File Offset: 0x001FD254
|
||||
[Token(Token = "0x6008FFF")]
|
||||
[Address(RVA = "0x1E73C70", Offset = "0x1E72670", VA = "0x181E73C70")]
|
||||
public static string GetName(byte alertDescription)
|
||||
{
|
||||
return "warning";
|
||||
}
|
||||
|
||||
// Token: 0x06009000 RID: 36864 RVA: 0x001FF068 File Offset: 0x001FD268
|
||||
[Token(Token = "0x6009000")]
|
||||
[Address(RVA = "0x1E73CC0", Offset = "0x1E726C0", VA = "0x181E73CC0")]
|
||||
public static string GetText(byte alertDescription)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
string text;
|
||||
if (text != 0)
|
||||
{
|
||||
}
|
||||
array[0] = text;
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x06009001 RID: 36865 RVA: 0x001FF0D0 File Offset: 0x001FD2D0
|
||||
[Token(Token = "0x6009001")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected AlertLevel()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005EB1 RID: 24241
|
||||
[Token(Token = "0x4005EB1")]
|
||||
public const byte warning = 1;
|
||||
|
||||
// Token: 0x04005EB2 RID: 24242
|
||||
[Token(Token = "0x4005EB2")]
|
||||
public const byte fatal = 2;
|
||||
}
|
||||
}
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001520 RID: 5408
|
||||
[Token(Token = "0x2001520")]
|
||||
[StructLayout(3)]
|
||||
public class BasicTlsPskIdentity : TlsPskIdentity
|
||||
{
|
||||
// Token: 0x06009002 RID: 36866 RVA: 0x001FF0E4 File Offset: 0x001FD2E4
|
||||
[Token(Token = "0x6009002")]
|
||||
[Address(RVA = "0x1E73ED0", Offset = "0x1E728D0", VA = "0x181E73ED0")]
|
||||
public BasicTlsPskIdentity(byte[] identity, byte[] psk)
|
||||
{
|
||||
this.SkipIdentityHint();
|
||||
byte[] array = Arrays.Clone(identity);
|
||||
this.mIdentity = array;
|
||||
byte[] array2 = Arrays.Clone(psk);
|
||||
this.mPsk = array2;
|
||||
}
|
||||
|
||||
// Token: 0x06009003 RID: 36867 RVA: 0x001FF114 File Offset: 0x001FD314
|
||||
[Token(Token = "0x6009003")]
|
||||
[Address(RVA = "0x1E73F60", Offset = "0x1E72960", VA = "0x181E73F60")]
|
||||
public BasicTlsPskIdentity(string identity, byte[] psk)
|
||||
{
|
||||
this.SkipIdentityHint();
|
||||
byte[] array = Arrays.Clone(psk);
|
||||
this.mPsk = array;
|
||||
}
|
||||
|
||||
// Token: 0x06009004 RID: 36868 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009004")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "8")]
|
||||
public virtual void SkipIdentityHint()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009005 RID: 36869 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009005")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "9")]
|
||||
public virtual void NotifyIdentityHint(byte[] psk_identity_hint)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009006 RID: 36870 RVA: 0x001FF138 File Offset: 0x001FD338
|
||||
[Token(Token = "0x6009006")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "10")]
|
||||
public virtual byte[] GetPskIdentity()
|
||||
{
|
||||
return this.mIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x06009007 RID: 36871 RVA: 0x001FF14C File Offset: 0x001FD34C
|
||||
[Token(Token = "0x6009007")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "11")]
|
||||
public virtual byte[] GetPsk()
|
||||
{
|
||||
return this.mPsk;
|
||||
}
|
||||
|
||||
// Token: 0x04005EB3 RID: 24243
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005EB3")]
|
||||
protected byte[] mIdentity;
|
||||
|
||||
// Token: 0x04005EB4 RID: 24244
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005EB4")]
|
||||
protected byte[] mPsk;
|
||||
}
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001521 RID: 5409
|
||||
[Token(Token = "0x2001521")]
|
||||
[StructLayout(3)]
|
||||
public abstract class BulkCipherAlgorithm
|
||||
{
|
||||
// Token: 0x06009008 RID: 36872 RVA: 0x001FF160 File Offset: 0x001FD360
|
||||
[Token(Token = "0x6009008")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected BulkCipherAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005EB5 RID: 24245
|
||||
[Token(Token = "0x4005EB5")]
|
||||
public const int cls_null = 0;
|
||||
|
||||
// Token: 0x04005EB6 RID: 24246
|
||||
[Token(Token = "0x4005EB6")]
|
||||
public const int rc4 = 1;
|
||||
|
||||
// Token: 0x04005EB7 RID: 24247
|
||||
[Token(Token = "0x4005EB7")]
|
||||
public const int rc2 = 2;
|
||||
|
||||
// Token: 0x04005EB8 RID: 24248
|
||||
[Token(Token = "0x4005EB8")]
|
||||
public const int des = 3;
|
||||
|
||||
// Token: 0x04005EB9 RID: 24249
|
||||
[Token(Token = "0x4005EB9")]
|
||||
public const int cls_3des = 4;
|
||||
|
||||
// Token: 0x04005EBA RID: 24250
|
||||
[Token(Token = "0x4005EBA")]
|
||||
public const int des40 = 5;
|
||||
|
||||
// Token: 0x04005EBB RID: 24251
|
||||
[Token(Token = "0x4005EBB")]
|
||||
public const int aes = 6;
|
||||
|
||||
// Token: 0x04005EBC RID: 24252
|
||||
[Token(Token = "0x4005EBC")]
|
||||
public const int idea = 7;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,212 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001522 RID: 5410
|
||||
[Token(Token = "0x2001522")]
|
||||
[StructLayout(3)]
|
||||
public class ByteQueue
|
||||
{
|
||||
// Token: 0x06009009 RID: 36873 RVA: 0x001FF174 File Offset: 0x001FD374
|
||||
[Token(Token = "0x6009009")]
|
||||
[Address(RVA = "0x1E749B0", Offset = "0x1E733B0", VA = "0x181E749B0")]
|
||||
public static int NextTwoPow(int i)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
|
||||
// Token: 0x0600900A RID: 36874 RVA: 0x001FF184 File Offset: 0x001FD384
|
||||
[Token(Token = "0x600900A")]
|
||||
[Address(RVA = "0x1E751B0", Offset = "0x1E73BB0", VA = "0x181E751B0")]
|
||||
public ByteQueue()
|
||||
{
|
||||
byte[] array = new byte[1024];
|
||||
this.databuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600900B RID: 36875 RVA: 0x001FF1B0 File Offset: 0x001FD3B0
|
||||
[Token(Token = "0x600900B")]
|
||||
[Address(RVA = "0x1E75110", Offset = "0x1E73B10", VA = "0x181E75110")]
|
||||
public ByteQueue(int capacity)
|
||||
{
|
||||
if (capacity == 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[capacity];
|
||||
this.databuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600900C RID: 36876 RVA: 0x001FF1DC File Offset: 0x001FD3DC
|
||||
[Token(Token = "0x600900C")]
|
||||
[Address(RVA = "0x1E75210", Offset = "0x1E73C10", VA = "0x181E75210")]
|
||||
public ByteQueue(byte[] buf, int off, int len)
|
||||
{
|
||||
this.databuf = buf;
|
||||
this.available = len;
|
||||
this.skipped = off;
|
||||
this.readOnlyBuf = true;
|
||||
}
|
||||
|
||||
// Token: 0x0600900D RID: 36877 RVA: 0x001FF20C File Offset: 0x001FD40C
|
||||
[Token(Token = "0x600900D")]
|
||||
[Address(RVA = "0x1E746A0", Offset = "0x1E730A0", VA = "0x181E746A0")]
|
||||
public void AddData(byte[] data, int offset, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600900D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueue::AddData(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_85:
|
||||
stloc:InvalidOperationException(var_11_8F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot add data to read-only buffer")))
|
||||
}
|
||||
|
||||
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: 0x17001744 RID: 5956
|
||||
// (get) Token: 0x0600900E RID: 36878 RVA: 0x001FF2AC File Offset: 0x001FD4AC
|
||||
[Token(Token = "0x17001744")]
|
||||
public int Available
|
||||
{
|
||||
[Token(Token = "0x600900E")]
|
||||
[Address(RVA = "0x4F8C10", Offset = "0x4F7610", VA = "0x1804F8C10")]
|
||||
get
|
||||
{
|
||||
return this.available;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600900F RID: 36879 RVA: 0x001FF2C0 File Offset: 0x001FD4C0
|
||||
[Token(Token = "0x600900F")]
|
||||
[Address(RVA = "0x1E74810", Offset = "0x1E73210", VA = "0x181E74810")]
|
||||
public void CopyTo(Stream output, int length)
|
||||
{
|
||||
int num = output.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x06009010 RID: 36880 RVA: 0x001FF338 File Offset: 0x001FD538
|
||||
[Token(Token = "0x6009010")]
|
||||
[Address(RVA = "0x1E74BA0", Offset = "0x1E735A0", VA = "0x181E74BA0")]
|
||||
public void Read(byte[] buf, int offset, int len, int skip)
|
||||
{
|
||||
int num = buf.Length;
|
||||
num -= offset;
|
||||
int num2 = this.available;
|
||||
int num3 = this.skipped;
|
||||
byte[] array = this.databuf;
|
||||
}
|
||||
|
||||
// Token: 0x06009011 RID: 36881 RVA: 0x001FF36C File Offset: 0x001FD56C
|
||||
[Token(Token = "0x6009011")]
|
||||
[Address(RVA = "0x1E749E0", Offset = "0x1E733E0", VA = "0x181E749E0")]
|
||||
public MemoryStream ReadFrom(int length)
|
||||
{
|
||||
int num = this.available;
|
||||
int num2 = this.skipped;
|
||||
num -= length;
|
||||
byte[] array = this.databuf;
|
||||
this.available = num;
|
||||
this.skipped = num;
|
||||
ulong num3;
|
||||
return new MemoryStream(array, num2, length, num3 != 0UL);
|
||||
}
|
||||
|
||||
// Token: 0x06009012 RID: 36882 RVA: 0x001FF408 File Offset: 0x001FD608
|
||||
[Token(Token = "0x6009012")]
|
||||
[Address(RVA = "0x1E74E00", Offset = "0x1E73800", VA = "0x181E74E00")]
|
||||
public void RemoveData(int i)
|
||||
{
|
||||
int num = this.available;
|
||||
num -= i;
|
||||
this.available = num;
|
||||
}
|
||||
|
||||
// Token: 0x06009013 RID: 36883 RVA: 0x001FF484 File Offset: 0x001FD684
|
||||
[Token(Token = "0x6009013")]
|
||||
[Address(RVA = "0x1E74DB0", Offset = "0x1E737B0", VA = "0x181E74DB0")]
|
||||
public void RemoveData(byte[] buf, int off, int len, int skip)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009014 RID: 36884 RVA: 0x001FF494 File Offset: 0x001FD694
|
||||
[Token(Token = "0x6009014")]
|
||||
[Address(RVA = "0x1E74F70", Offset = "0x1E73970", VA = "0x181E74F70")]
|
||||
public byte[] RemoveData(int len, int skip)
|
||||
{
|
||||
byte[] array = new byte[len];
|
||||
int num = 0;
|
||||
this.Read(array, num, len, skip);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009015 RID: 36885 RVA: 0x001FF4B8 File Offset: 0x001FD6B8
|
||||
[Token(Token = "0x6009015")]
|
||||
[Address(RVA = "0x1E75000", Offset = "0x1E73A00", VA = "0x181E75000")]
|
||||
public void Shrink()
|
||||
{
|
||||
int num = this.available;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.databuf;
|
||||
num++;
|
||||
if (num < array.Length)
|
||||
{
|
||||
byte[] array2 = new byte[num];
|
||||
int num2 = this.available;
|
||||
int num3 = 0;
|
||||
int num4 = this.skipped;
|
||||
Array.Copy(this.databuf, num4, array2, num3, num2);
|
||||
this.databuf = array2;
|
||||
this.skipped = (int)((ulong)0L);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
this.databuf = emptyBytes;
|
||||
this.skipped = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04005EBD RID: 24253
|
||||
[Token(Token = "0x4005EBD")]
|
||||
private const int DefaultCapacity = 1024;
|
||||
|
||||
// Token: 0x04005EBE RID: 24254
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005EBE")]
|
||||
private byte[] databuf;
|
||||
|
||||
// Token: 0x04005EBF RID: 24255
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005EBF")]
|
||||
private int skipped;
|
||||
|
||||
// Token: 0x04005EC0 RID: 24256
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4005EC0")]
|
||||
private int available;
|
||||
|
||||
// Token: 0x04005EC1 RID: 24257
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005EC1")]
|
||||
private bool readOnlyBuf;
|
||||
}
|
||||
}
|
||||
+327
@@ -0,0 +1,327 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001523 RID: 5411
|
||||
[Token(Token = "0x2001523")]
|
||||
[StructLayout(3)]
|
||||
public class ByteQueueStream : Stream
|
||||
{
|
||||
// Token: 0x06009016 RID: 36886 RVA: 0x001FF540 File Offset: 0x001FD740
|
||||
[Token(Token = "0x6009016")]
|
||||
[Address(RVA = "0x1E744D0", Offset = "0x1E72ED0", VA = "0x181E744D0")]
|
||||
public ByteQueueStream()
|
||||
{
|
||||
ByteQueue byteQueue = new ByteQueue();
|
||||
byte[] array = new byte[1024];
|
||||
byteQueue.databuf = array;
|
||||
this.buffer = byteQueue;
|
||||
}
|
||||
|
||||
// Token: 0x17001745 RID: 5957
|
||||
// (get) Token: 0x06009017 RID: 36887 RVA: 0x001FF578 File Offset: 0x001FD778
|
||||
[Token(Token = "0x17001745")]
|
||||
public virtual int Available
|
||||
{
|
||||
[Token(Token = "0x6009017")]
|
||||
[Address(RVA = "0x1E74590", Offset = "0x1E72F90", VA = "0x181E74590", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return this.buffer.available;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001746 RID: 5958
|
||||
// (get) Token: 0x06009018 RID: 36888 RVA: 0x001FF598 File Offset: 0x001FD798
|
||||
[Token(Token = "0x17001746")]
|
||||
public override bool CanRead
|
||||
{
|
||||
[Token(Token = "0x6009018")]
|
||||
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001747 RID: 5959
|
||||
// (get) Token: 0x06009019 RID: 36889 RVA: 0x001FF5A8 File Offset: 0x001FD7A8
|
||||
[Token(Token = "0x17001747")]
|
||||
public override bool CanSeek
|
||||
{
|
||||
[Token(Token = "0x6009019")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "8")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001748 RID: 5960
|
||||
// (get) Token: 0x0600901A RID: 36890 RVA: 0x001FF5B8 File Offset: 0x001FD7B8
|
||||
[Token(Token = "0x17001748")]
|
||||
public override bool CanWrite
|
||||
{
|
||||
[Token(Token = "0x600901A")]
|
||||
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600901B RID: 36891 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600901B")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "17")]
|
||||
public override void Flush()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001749 RID: 5961
|
||||
// (get) Token: 0x0600901C RID: 36892 RVA: 0x001FF5C8 File Offset: 0x001FD7C8
|
||||
[Token(Token = "0x17001749")]
|
||||
public override long Length
|
||||
{
|
||||
[Token(Token = "0x600901C")]
|
||||
[Address(RVA = "0x1E745B0", Offset = "0x1E72FB0", VA = "0x181E745B0", Slot = "10")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600901C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::get_Length()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x0600901D RID: 36893 RVA: 0x001FF5DC File Offset: 0x001FD7DC
|
||||
[Token(Token = "0x600901D")]
|
||||
[Address(RVA = "0x1E73FF0", Offset = "0x1E729F0", VA = "0x181E73FF0", Slot = "32")]
|
||||
public virtual int Peek(byte[] buf)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int length = buf.Length;
|
||||
int num2 = Math.Min(num, length);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
byteQueue.Read(buf, num4, num, num3);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x1700174A RID: 5962
|
||||
// (get) Token: 0x0600901E RID: 36894 RVA: 0x001FF628 File Offset: 0x001FD828
|
||||
// (set) Token: 0x0600901F RID: 36895 RVA: 0x001FF63C File Offset: 0x001FD83C
|
||||
[Token(Token = "0x1700174A")]
|
||||
public override long Position
|
||||
{
|
||||
[Token(Token = "0x600901E")]
|
||||
[Address(RVA = "0x1E74600", Offset = "0x1E73000", VA = "0x181E74600", Slot = "11")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600901E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::get_Position()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor))
|
||||
}
|
||||
|
||||
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(Token = "0x600901F")]
|
||||
[Address(RVA = "0x1E74650", Offset = "0x1E73050", VA = "0x181E74650", Slot = "12")]
|
||||
set
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600901F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::set_Position(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06009020 RID: 36896 RVA: 0x001FF650 File Offset: 0x001FD850
|
||||
[Token(Token = "0x6009020")]
|
||||
[Address(RVA = "0x1E74240", Offset = "0x1E72C40", VA = "0x181E74240", Slot = "33")]
|
||||
public virtual int Read(byte[] buf)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009021 RID: 36897 RVA: 0x001FF664 File Offset: 0x001FD864
|
||||
[Token(Token = "0x6009021")]
|
||||
[Address(RVA = "0x1E74170", Offset = "0x1E72B70", VA = "0x181E74170", Slot = "27")]
|
||||
public override int Read(byte[] buf, int off, int len)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int num2 = Math.Min(num, len);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
int num3 = 0;
|
||||
byteQueue.Read(buf, off, len, num3);
|
||||
byteQueue.RemoveData(num);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06009022 RID: 36898 RVA: 0x001FF6A8 File Offset: 0x001FD8A8
|
||||
[Token(Token = "0x6009022")]
|
||||
[Address(RVA = "0x1E740A0", Offset = "0x1E72AA0", VA = "0x181E740A0", Slot = "28")]
|
||||
public override int ReadByte()
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
if (byteQueue.available != 0)
|
||||
{
|
||||
byte[] array = new byte[1];
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
byteQueue.Read(array, num, 1, num2);
|
||||
byteQueue.RemoveData(1);
|
||||
byte b = array[0];
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Token: 0x06009023 RID: 36899 RVA: 0x001FF6F4 File Offset: 0x001FD8F4
|
||||
[Token(Token = "0x6009023")]
|
||||
[Address(RVA = "0x1E74280", Offset = "0x1E72C80", VA = "0x181E74280", Slot = "25")]
|
||||
public override long Seek(long offset, SeekOrigin origin)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009023)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::Seek(System.Int64,System.IO.SeekOrigin)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06009024 RID: 36900 RVA: 0x001FF708 File Offset: 0x001FD908
|
||||
[Token(Token = "0x6009024")]
|
||||
[Address(RVA = "0x1E742D0", Offset = "0x1E72CD0", VA = "0x181E742D0", Slot = "26")]
|
||||
public override void SetLength(long value)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009024)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::SetLength(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06009025 RID: 36901 RVA: 0x001FF71C File Offset: 0x001FD91C
|
||||
[Token(Token = "0x6009025")]
|
||||
[Address(RVA = "0x1E74320", Offset = "0x1E72D20", VA = "0x181E74320", Slot = "34")]
|
||||
public virtual int Skip(int n)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int num2 = Math.Min(num, n);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
byteQueue.RemoveData(n);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06009026 RID: 36902 RVA: 0x001FF758 File Offset: 0x001FD958
|
||||
[Token(Token = "0x6009026")]
|
||||
[Address(RVA = "0x1E74460", Offset = "0x1E72E60", VA = "0x181E74460", Slot = "35")]
|
||||
public virtual void Write(byte[] buf)
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
int length = buf.Length;
|
||||
int num = 0;
|
||||
byteQueue.AddData(buf, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009027 RID: 36903 RVA: 0x001FF784 File Offset: 0x001FD984
|
||||
[Token(Token = "0x6009027")]
|
||||
[Address(RVA = "0x1E744A0", Offset = "0x1E72EA0", VA = "0x181E744A0", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
this.buffer.AddData(buf, off, len);
|
||||
}
|
||||
|
||||
// Token: 0x06009028 RID: 36904 RVA: 0x001FF7A8 File Offset: 0x001FD9A8
|
||||
[Token(Token = "0x6009028")]
|
||||
[Address(RVA = "0x1E743C0", Offset = "0x1E72DC0", VA = "0x181E743C0", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
byte[] array = new byte[] { b };
|
||||
int num = 0;
|
||||
byteQueue.AddData(array, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x04005EC2 RID: 24258
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4005EC2")]
|
||||
private readonly ByteQueue buffer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001524 RID: 5412
|
||||
[Token(Token = "0x2001524")]
|
||||
[StructLayout(3)]
|
||||
public abstract class CertChainType
|
||||
{
|
||||
// Token: 0x06009029 RID: 36905 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009029")]
|
||||
[Address(RVA = "0x1E75260", Offset = "0x1E73C60", VA = "0x181E75260")]
|
||||
public static bool IsValid(byte certChainType)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600902A RID: 36906 RVA: 0x001FF7DC File Offset: 0x001FD9DC
|
||||
[Token(Token = "0x600902A")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected CertChainType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005EC3 RID: 24259
|
||||
[Token(Token = "0x4005EC3")]
|
||||
public const byte individual_certs = 0;
|
||||
|
||||
// Token: 0x04005EC4 RID: 24260
|
||||
[Token(Token = "0x4005EC4")]
|
||||
public const byte pkipath = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001525 RID: 5413
|
||||
[Token(Token = "0x2001525")]
|
||||
[StructLayout(3)]
|
||||
public class Certificate
|
||||
{
|
||||
// Token: 0x0600902B RID: 36907 RVA: 0x001FF7F0 File Offset: 0x001FD9F0
|
||||
[Token(Token = "0x600902B")]
|
||||
[Address(RVA = "0x1E776C0", Offset = "0x1E760C0", VA = "0x181E776C0")]
|
||||
public Certificate(X509CertificateStructure[] certificateList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600902B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("certificateList")))
|
||||
}
|
||||
|
||||
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: 0x0600902C RID: 36908 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600902C")]
|
||||
[Address(RVA = "0x9E3670", Offset = "0x9E2070", VA = "0x1809E3670", Slot = "4")]
|
||||
public virtual X509CertificateStructure[] GetCertificateList()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600902D RID: 36909 RVA: 0x001FF81C File Offset: 0x001FDA1C
|
||||
[Token(Token = "0x600902D")]
|
||||
[Address(RVA = "0x4F7610", Offset = "0x4F6010", VA = "0x1804F7610", Slot = "5")]
|
||||
public virtual X509CertificateStructure GetCertificateAt(int index)
|
||||
{
|
||||
return this.mCertificateList[index];
|
||||
}
|
||||
|
||||
// Token: 0x1700174B RID: 5963
|
||||
// (get) Token: 0x0600902E RID: 36910 RVA: 0x001FF83C File Offset: 0x001FDA3C
|
||||
[Token(Token = "0x1700174B")]
|
||||
public virtual int Length
|
||||
{
|
||||
[Token(Token = "0x600902E")]
|
||||
[Address(RVA = "0x5FE710", Offset = "0x5FD110", VA = "0x1805FE710", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateList.Length;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700174C RID: 5964
|
||||
// (get) Token: 0x0600902F RID: 36911 RVA: 0x001FF85C File Offset: 0x001FDA5C
|
||||
[Token(Token = "0x1700174C")]
|
||||
public virtual bool IsEmpty
|
||||
{
|
||||
[Token(Token = "0x600902F")]
|
||||
[Address(RVA = "0x5FE6F0", Offset = "0x5FD0F0", VA = "0x1805FE6F0", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateList.Length == 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009030 RID: 36912 RVA: 0x001FF880 File Offset: 0x001FDA80
|
||||
[Token(Token = "0x6009030")]
|
||||
[Address(RVA = "0x1E76E00", Offset = "0x1E75800", VA = "0x181E76E00", Slot = "8")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IList list = Platform.CreateArrayList(this.mCertificateList.Length);
|
||||
X509CertificateStructure[] array = this.mCertificateList;
|
||||
int length = array.Length;
|
||||
if (num < length)
|
||||
{
|
||||
X509CertificateStructure x509CertificateStructure = array[num];
|
||||
int num2 = 0;
|
||||
byte[] encoded = x509CertificateStructure.GetEncoded("DER");
|
||||
if (num < num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num += 3;
|
||||
num++;
|
||||
num += num;
|
||||
}
|
||||
TlsUtilities.CheckUint24(num);
|
||||
TlsUtilities.WriteUint24(num, output);
|
||||
if (num < list)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
int num3 = 0;
|
||||
if (list != 0)
|
||||
{
|
||||
if (num < num3)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num += 19;
|
||||
num++;
|
||||
num += 19;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009031 RID: 36913 RVA: 0x001FF938 File Offset: 0x001FDB38
|
||||
[Token(Token = "0x6009031")]
|
||||
[Address(RVA = "0x1E771D0", Offset = "0x1E75BD0", VA = "0x181E771D0")]
|
||||
public static Certificate Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009031)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_D1:
|
||||
stloc:ArgumentNullException(var_15_DB, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("certificateList")))
|
||||
}
|
||||
|
||||
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: 0x06009032 RID: 36914 RVA: 0x001FFA24 File Offset: 0x001FDC24
|
||||
[Token(Token = "0x6009032")]
|
||||
[Address(RVA = "0x1E76D80", Offset = "0x1E75780", VA = "0x181E76D80", Slot = "9")]
|
||||
protected virtual X509CertificateStructure[] CloneCertificateList()
|
||||
{
|
||||
X509CertificateStructure[] array = this.mCertificateList;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04005EC5 RID: 24261
|
||||
[Token(Token = "0x4005EC5")]
|
||||
public static readonly Certificate EmptyChain = new Certificate(new X509CertificateStructure[0]);
|
||||
|
||||
// Token: 0x04005EC6 RID: 24262
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005EC6")]
|
||||
protected readonly X509CertificateStructure[] mCertificateList;
|
||||
}
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001526 RID: 5414
|
||||
[Token(Token = "0x2001526")]
|
||||
[StructLayout(3)]
|
||||
public class CertificateRequest
|
||||
{
|
||||
// Token: 0x06009034 RID: 36916 RVA: 0x001FFA60 File Offset: 0x001FDC60
|
||||
[Token(Token = "0x6009034")]
|
||||
[Address(RVA = "0x74BD80", Offset = "0x74A780", VA = "0x18074BD80")]
|
||||
public CertificateRequest(byte[] certificateTypes, IList supportedSignatureAlgorithms, IList certificateAuthorities)
|
||||
{
|
||||
this.mCertificateTypes = certificateTypes;
|
||||
this.mSupportedSignatureAlgorithms = supportedSignatureAlgorithms;
|
||||
this.mCertificateAuthorities = certificateAuthorities;
|
||||
}
|
||||
|
||||
// Token: 0x1700174D RID: 5965
|
||||
// (get) Token: 0x06009035 RID: 36917 RVA: 0x001FFA88 File Offset: 0x001FDC88
|
||||
[Token(Token = "0x1700174D")]
|
||||
public virtual byte[] CertificateTypes
|
||||
{
|
||||
[Token(Token = "0x6009035")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateTypes;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700174E RID: 5966
|
||||
// (get) Token: 0x06009036 RID: 36918 RVA: 0x001FFA9C File Offset: 0x001FDC9C
|
||||
[Token(Token = "0x1700174E")]
|
||||
public virtual IList SupportedSignatureAlgorithms
|
||||
{
|
||||
[Token(Token = "0x6009036")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSupportedSignatureAlgorithms;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700174F RID: 5967
|
||||
// (get) Token: 0x06009037 RID: 36919 RVA: 0x001FFAB0 File Offset: 0x001FDCB0
|
||||
[Token(Token = "0x1700174F")]
|
||||
public virtual IList CertificateAuthorities
|
||||
{
|
||||
[Token(Token = "0x6009037")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateAuthorities;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009038 RID: 36920 RVA: 0x001FFAC4 File Offset: 0x001FDCC4
|
||||
[Token(Token = "0x6009038")]
|
||||
[Address(RVA = "0x1E75270", Offset = "0x1E73C70", VA = "0x181E75270", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] array = this.mCertificateTypes;
|
||||
if (array != 0 && array.Length != num)
|
||||
{
|
||||
TlsUtilities.WriteUint8ArrayWithUint8Length(array, output);
|
||||
}
|
||||
TlsUtilities.WriteUint8(0, output);
|
||||
IList list = this.mSupportedSignatureAlgorithms;
|
||||
if (list != 0)
|
||||
{
|
||||
int num2 = 0;
|
||||
TlsUtilities.EncodeSupportedSignatureAlgorithms(list, num2 != 0, output);
|
||||
}
|
||||
if (this.mCertificateAuthorities == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IList list2 = this.mCertificateAuthorities;
|
||||
IList list3 = this.mCertificateAuthorities;
|
||||
IList list4;
|
||||
if (list4 != 0)
|
||||
{
|
||||
if (num < list4)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
ulong num3;
|
||||
list4 += num3;
|
||||
if (list4 == 0 || list4 == 0)
|
||||
{
|
||||
goto IL_F0;
|
||||
}
|
||||
int num4 = 0;
|
||||
if (num < num4)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array2;
|
||||
int num5 = array2.Length;
|
||||
num5 += 2;
|
||||
num += num5;
|
||||
array2 += array2;
|
||||
}
|
||||
if (num == -1)
|
||||
{
|
||||
goto IL_C5;
|
||||
}
|
||||
TlsUtilities.CheckUint16(num);
|
||||
TlsUtilities.WriteUint16(num, output);
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_C5;
|
||||
}
|
||||
IL_C9:
|
||||
num++;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
IL_C5:
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_C9;
|
||||
}
|
||||
goto IL_FC;
|
||||
}
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
return;
|
||||
IL_F0:
|
||||
throw new NullReferenceException();
|
||||
IL_FC:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009039 RID: 36921 RVA: 0x001FFBD4 File Offset: 0x001FDDD4
|
||||
[Token(Token = "0x6009039")]
|
||||
[Address(RVA = "0x1E75850", Offset = "0x1E74250", VA = "0x181E75850")]
|
||||
public static CertificateRequest Parse(TlsContext context, Stream input)
|
||||
{
|
||||
byte[] array = new byte[(int)TlsUtilities.ReadUint8(input)];
|
||||
int num = 0;
|
||||
byte b = TlsUtilities.ReadUint8(input);
|
||||
num++;
|
||||
IList list;
|
||||
if (TlsUtilities.IsTlsV12(context))
|
||||
{
|
||||
list = TlsUtilities.ParseSupportedSignatureAlgorithms(false, input);
|
||||
}
|
||||
IList list2 = Platform.CreateArrayList();
|
||||
int num2;
|
||||
MemoryStream memoryStream = new MemoryStream(TlsUtilities.ReadOpaque16(input), num2 != 0);
|
||||
num2 = 0;
|
||||
long length = memoryStream.Length;
|
||||
bool canWrite = memoryStream.CanWrite;
|
||||
if (length < (canWrite ? 1L : 0L))
|
||||
{
|
||||
X509Name instance = X509Name.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadOpaque16(memoryStream)));
|
||||
}
|
||||
CertificateRequest certificateRequest;
|
||||
certificateRequest.mCertificateAuthorities = list2;
|
||||
certificateRequest.mCertificateTypes = array;
|
||||
certificateRequest.mSupportedSignatureAlgorithms = list;
|
||||
return certificateRequest;
|
||||
}
|
||||
|
||||
// Token: 0x04005EC7 RID: 24263
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005EC7")]
|
||||
protected readonly byte[] mCertificateTypes;
|
||||
|
||||
// Token: 0x04005EC8 RID: 24264
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005EC8")]
|
||||
protected readonly IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04005EC9 RID: 24265
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005EC9")]
|
||||
protected readonly IList mCertificateAuthorities;
|
||||
}
|
||||
}
|
||||
+163
@@ -0,0 +1,163 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001527 RID: 5415
|
||||
[Token(Token = "0x2001527")]
|
||||
[StructLayout(3)]
|
||||
public class CertificateStatus
|
||||
{
|
||||
// Token: 0x0600903A RID: 36922 RVA: 0x001FFC74 File Offset: 0x001FDE74
|
||||
[Token(Token = "0x600903A")]
|
||||
[Address(RVA = "0x1E764E0", Offset = "0x1E74EE0", VA = "0x181E764E0")]
|
||||
public CertificateStatus(byte statusType, object response)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600903A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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: 0x17001750 RID: 5968
|
||||
// (get) Token: 0x0600903B RID: 36923 RVA: 0x001FFCB0 File Offset: 0x001FDEB0
|
||||
[Token(Token = "0x17001750")]
|
||||
public virtual byte StatusType
|
||||
{
|
||||
[Token(Token = "0x600903B")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mStatusType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001751 RID: 5969
|
||||
// (get) Token: 0x0600903C RID: 36924 RVA: 0x001FFCC4 File Offset: 0x001FDEC4
|
||||
[Token(Token = "0x17001751")]
|
||||
public virtual object Response
|
||||
{
|
||||
[Token(Token = "0x600903C")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mResponse;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600903D RID: 36925 RVA: 0x001FFCD8 File Offset: 0x001FDED8
|
||||
[Token(Token = "0x600903D")]
|
||||
[Address(RVA = "0x1E76190", Offset = "0x1E74B90", VA = "0x181E76190", Slot = "6")]
|
||||
public virtual OcspResponse GetOcspResponse()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600903D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp.OcspResponse BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::GetOcspResponse()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_25:
|
||||
stloc:InvalidOperationException(var_5_2F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'response' is not an OcspResponse")))
|
||||
}
|
||||
|
||||
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: 0x0600903E RID: 36926 RVA: 0x001FFD18 File Offset: 0x001FDF18
|
||||
[Token(Token = "0x600903E")]
|
||||
[Address(RVA = "0x1E76010", Offset = "0x1E74A10", VA = "0x181E76010", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
do
|
||||
{
|
||||
byte b = this.mStatusType;
|
||||
TlsUtilities.WriteUint8(b, output);
|
||||
obj = this.mResponse;
|
||||
}
|
||||
while (obj == 0 || obj == 0);
|
||||
byte[] array;
|
||||
TlsUtilities.WriteOpaque24(array, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600903F RID: 36927 RVA: 0x001FFD58 File Offset: 0x001FDF58
|
||||
[Token(Token = "0x600903F")]
|
||||
[Address(RVA = "0x1E76380", Offset = "0x1E74D80", VA = "0x181E76380")]
|
||||
public static CertificateStatus Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600903F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2E:
|
||||
stloc:ArgumentException(var_4_3D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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: 0x06009040 RID: 36928 RVA: 0x001FFDA4 File Offset: 0x001FDFA4
|
||||
[Token(Token = "0x6009040")]
|
||||
[Address(RVA = "0x1E762B0", Offset = "0x1E74CB0", VA = "0x181E762B0")]
|
||||
protected static bool IsCorrectType(byte statusType, object response)
|
||||
{
|
||||
if (response == 0)
|
||||
{
|
||||
return 0 != 0;
|
||||
}
|
||||
return response != 0;
|
||||
}
|
||||
|
||||
// Token: 0x04005ECA RID: 24266
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005ECA")]
|
||||
protected readonly byte mStatusType;
|
||||
|
||||
// Token: 0x04005ECB RID: 24267
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005ECB")]
|
||||
protected readonly object mResponse;
|
||||
}
|
||||
}
|
||||
+160
@@ -0,0 +1,160 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001528 RID: 5416
|
||||
[Token(Token = "0x2001528")]
|
||||
[StructLayout(3)]
|
||||
public class CertificateStatusRequest
|
||||
{
|
||||
// Token: 0x06009041 RID: 36929 RVA: 0x001FFDD8 File Offset: 0x001FDFD8
|
||||
[Token(Token = "0x6009041")]
|
||||
[Address(RVA = "0x1E75F70", Offset = "0x1E74970", VA = "0x181E75F70")]
|
||||
public CertificateStatusRequest(byte statusType, object request)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009041)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("request")))
|
||||
}
|
||||
|
||||
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: 0x17001752 RID: 5970
|
||||
// (get) Token: 0x06009042 RID: 36930 RVA: 0x001FFE14 File Offset: 0x001FE014
|
||||
[Token(Token = "0x17001752")]
|
||||
public virtual byte StatusType
|
||||
{
|
||||
[Token(Token = "0x6009042")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mStatusType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001753 RID: 5971
|
||||
// (get) Token: 0x06009043 RID: 36931 RVA: 0x001FFE28 File Offset: 0x001FE028
|
||||
[Token(Token = "0x17001753")]
|
||||
public virtual object Request
|
||||
{
|
||||
[Token(Token = "0x6009043")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mRequest;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009044 RID: 36932 RVA: 0x001FFE3C File Offset: 0x001FE03C
|
||||
[Token(Token = "0x6009044")]
|
||||
[Address(RVA = "0x1E75C50", Offset = "0x1E74650", VA = "0x181E75C50", Slot = "6")]
|
||||
public virtual OcspStatusRequest GetOcspStatusRequest()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009044)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.OcspStatusRequest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::GetOcspStatusRequest()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_25:
|
||||
stloc:InvalidOperationException(var_5_2F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'request' is not an OCSPStatusRequest")))
|
||||
}
|
||||
|
||||
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: 0x06009045 RID: 36933 RVA: 0x001FFE7C File Offset: 0x001FE07C
|
||||
[Token(Token = "0x6009045")]
|
||||
[Address(RVA = "0x1E75B00", Offset = "0x1E74500", VA = "0x181E75B00", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
do
|
||||
{
|
||||
byte b = this.mStatusType;
|
||||
TlsUtilities.WriteUint8(b, output);
|
||||
obj = this.mRequest;
|
||||
}
|
||||
while (obj == 0 || obj == 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009046 RID: 36934 RVA: 0x001FFEB4 File Offset: 0x001FE0B4
|
||||
[Token(Token = "0x6009046")]
|
||||
[Address(RVA = "0x1E75E40", Offset = "0x1E74840", VA = "0x181E75E40")]
|
||||
public static CertificateStatusRequest Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009046)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:ArgumentException(var_4_33, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("request")))
|
||||
}
|
||||
|
||||
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: 0x06009047 RID: 36935 RVA: 0x001FFEF8 File Offset: 0x001FE0F8
|
||||
[Token(Token = "0x6009047")]
|
||||
[Address(RVA = "0x1E75D70", Offset = "0x1E74770", VA = "0x181E75D70")]
|
||||
protected static bool IsCorrectType(byte statusType, object request)
|
||||
{
|
||||
if (request == 0)
|
||||
{
|
||||
return 0 != 0;
|
||||
}
|
||||
return request != 0;
|
||||
}
|
||||
|
||||
// Token: 0x04005ECC RID: 24268
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005ECC")]
|
||||
protected readonly byte mStatusType;
|
||||
|
||||
// Token: 0x04005ECD RID: 24269
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005ECD")]
|
||||
protected readonly object mRequest;
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001529 RID: 5417
|
||||
[Token(Token = "0x2001529")]
|
||||
[StructLayout(3)]
|
||||
public abstract class CertificateStatusType
|
||||
{
|
||||
// Token: 0x06009048 RID: 36936 RVA: 0x001FFF2C File Offset: 0x001FE12C
|
||||
[Token(Token = "0x6009048")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected CertificateStatusType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005ECE RID: 24270
|
||||
[Token(Token = "0x4005ECE")]
|
||||
public const byte ocsp = 1;
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200152A RID: 5418
|
||||
[Token(Token = "0x200152A")]
|
||||
[StructLayout(3)]
|
||||
public class CertificateType
|
||||
{
|
||||
// Token: 0x06009049 RID: 36937 RVA: 0x001FFF40 File Offset: 0x001FE140
|
||||
[Token(Token = "0x6009049")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public CertificateType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005ECF RID: 24271
|
||||
[Token(Token = "0x4005ECF")]
|
||||
public const byte X509 = 0;
|
||||
|
||||
// Token: 0x04005ED0 RID: 24272
|
||||
[Token(Token = "0x4005ED0")]
|
||||
public const byte OpenPGP = 1;
|
||||
|
||||
// Token: 0x04005ED1 RID: 24273
|
||||
[Token(Token = "0x4005ED1")]
|
||||
public const byte RawPublicKey = 2;
|
||||
}
|
||||
}
|
||||
+180
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200152B RID: 5419
|
||||
[Token(Token = "0x200152B")]
|
||||
[StructLayout(3)]
|
||||
public class CertificateUrl
|
||||
{
|
||||
// Token: 0x0600904A RID: 36938 RVA: 0x001FFF54 File Offset: 0x001FE154
|
||||
[Token(Token = "0x600904A")]
|
||||
[Address(RVA = "0x1E76930", Offset = "0x1E75330", VA = "0x181E76930")]
|
||||
public CertificateUrl(byte type, IList urlAndHashList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600904A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl::.ctor(System.Byte,System.Collections.IList)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_29:
|
||||
stloc:ArgumentException(var_1_38, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length > 0"), ldstr:string("urlAndHashList")))
|
||||
}
|
||||
|
||||
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: 0x17001754 RID: 5972
|
||||
// (get) Token: 0x0600904B RID: 36939 RVA: 0x001FFF9C File Offset: 0x001FE19C
|
||||
[Token(Token = "0x17001754")]
|
||||
public virtual byte Type
|
||||
{
|
||||
[Token(Token = "0x600904B")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001755 RID: 5973
|
||||
// (get) Token: 0x0600904C RID: 36940 RVA: 0x001FFFB0 File Offset: 0x001FE1B0
|
||||
[Token(Token = "0x17001755")]
|
||||
public virtual IList UrlAndHashList
|
||||
{
|
||||
[Token(Token = "0x600904C")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mUrlAndHashList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600904D RID: 36941 RVA: 0x001FFFC4 File Offset: 0x001FE1C4
|
||||
[Token(Token = "0x600904D")]
|
||||
[Address(RVA = "0x1E76580", Offset = "0x1E74F80", VA = "0x181E76580", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
CertificateUrl.ListBuffer16 listBuffer;
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint8(this.mType, output);
|
||||
listBuffer = new CertificateUrl.ListBuffer16();
|
||||
TlsUtilities.WriteUint16(0, listBuffer);
|
||||
IList list = this.mUrlAndHashList;
|
||||
if (listBuffer != 0)
|
||||
{
|
||||
if (num < listBuffer)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
ulong num2;
|
||||
listBuffer += num2;
|
||||
if (listBuffer == 0 || listBuffer == 0)
|
||||
{
|
||||
goto IL_72;
|
||||
}
|
||||
if (listBuffer.InitializeLifetimeService() != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
bool canWrite = listBuffer.CanWrite;
|
||||
long position = listBuffer.Position;
|
||||
Platform.Dispose(listBuffer);
|
||||
return;
|
||||
IL_72:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600904E RID: 36942 RVA: 0x00200050 File Offset: 0x001FE250
|
||||
[Token(Token = "0x600904E")]
|
||||
[Address(RVA = "0x1E76A20", Offset = "0x1E75420", VA = "0x181E76A20")]
|
||||
public static CertificateUrl parse(TlsContext context, Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600904E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl::parse(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_86:
|
||||
stloc:ArgumentException(var_13_95, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length > 0"), ldstr:string("urlAndHashList")))
|
||||
}
|
||||
|
||||
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: 0x04005ED2 RID: 24274
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005ED2")]
|
||||
protected readonly byte mType;
|
||||
|
||||
// Token: 0x04005ED3 RID: 24275
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005ED3")]
|
||||
protected readonly IList mUrlAndHashList;
|
||||
|
||||
// Token: 0x0200152C RID: 5420
|
||||
[Token(Token = "0x200152C")]
|
||||
internal class ListBuffer16 : MemoryStream
|
||||
{
|
||||
// Token: 0x0600904F RID: 36943 RVA: 0x002000F4 File Offset: 0x001FE2F4
|
||||
[Token(Token = "0x600904F")]
|
||||
[Address(RVA = "0x1E87380", Offset = "0x1E85D80", VA = "0x181E87380")]
|
||||
internal ListBuffer16()
|
||||
{
|
||||
TlsUtilities.WriteUint16(0, this);
|
||||
}
|
||||
|
||||
// Token: 0x06009050 RID: 36944 RVA: 0x00200110 File Offset: 0x001FE310
|
||||
[Token(Token = "0x6009050")]
|
||||
[Address(RVA = "0x1E872A0", Offset = "0x1E85CA0", VA = "0x181E872A0")]
|
||||
internal void EncodeTo(Stream output)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
long position = this.Position;
|
||||
Streams.WriteBufTo(this, output);
|
||||
Platform.Dispose(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+208
@@ -0,0 +1,208 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200152D RID: 5421
|
||||
[Token(Token = "0x200152D")]
|
||||
[StructLayout(3)]
|
||||
public class Chacha20Poly1305 : TlsCipher
|
||||
{
|
||||
// Token: 0x06009051 RID: 36945 RVA: 0x00200138 File Offset: 0x001FE338
|
||||
[Token(Token = "0x6009051")]
|
||||
[Address(RVA = "0x1E78260", Offset = "0x1E76C60", VA = "0x181E78260")]
|
||||
public Chacha20Poly1305(TlsContext context)
|
||||
{
|
||||
do
|
||||
{
|
||||
base..ctor();
|
||||
}
|
||||
while (!TlsUtilities.IsTlsV12(context));
|
||||
this.context = context;
|
||||
byte[] array = TlsUtilities.CalculateKeyBlock(context, 88);
|
||||
int num;
|
||||
KeyParameter keyParameter = new KeyParameter(array, num, 32);
|
||||
num = 0;
|
||||
KeyParameter keyParameter2 = new KeyParameter(array, 32, 32);
|
||||
byte[] array2 = Arrays.CopyOfRange(array, 64, 76);
|
||||
byte[] array3 = Arrays.CopyOfRange(array, 76, 88);
|
||||
ChaCha7539Engine chaCha7539Engine = new ChaCha7539Engine();
|
||||
this.encryptCipher = chaCha7539Engine;
|
||||
ChaCha7539Engine chaCha7539Engine2 = new ChaCha7539Engine();
|
||||
this.decryptCipher = chaCha7539Engine2;
|
||||
if (chaCha7539Engine2 == 0)
|
||||
{
|
||||
}
|
||||
this.encryptIV = array3;
|
||||
this.decryptIV = array2;
|
||||
ChaCha7539Engine chaCha7539Engine3 = this.encryptCipher;
|
||||
byte[] array4 = this.encryptIV;
|
||||
ParametersWithIV parametersWithIV = new ParametersWithIV(keyParameter2, array4);
|
||||
chaCha7539Engine3.Reset();
|
||||
ChaCha7539Engine chaCha7539Engine4 = this.decryptCipher;
|
||||
byte[] array5 = this.decryptIV;
|
||||
ParametersWithIV parametersWithIV2 = new ParametersWithIV(keyParameter, array5);
|
||||
string algorithmName = ((IStreamCipher)chaCha7539Engine4).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x06009052 RID: 36946 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009052")]
|
||||
[Address(RVA = "0x1E77F50", Offset = "0x1E76950", VA = "0x181E77F50", Slot = "7")]
|
||||
public virtual int GetPlaintextLimit(int ciphertextLimit)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009053 RID: 36947 RVA: 0x00200210 File Offset: 0x001FE410
|
||||
[Token(Token = "0x6009053")]
|
||||
[Address(RVA = "0x1E77B80", Offset = "0x1E76580", VA = "0x181E77B80", Slot = "8")]
|
||||
public virtual byte[] EncodePlaintext(long seqNo, byte type, byte[] plaintext, int offset, int len)
|
||||
{
|
||||
byte[] array = this.encryptIV;
|
||||
byte[] array2 = new byte[this.encryptCipher];
|
||||
this.encryptCipher.AdvanceCounter();
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x06009054 RID: 36948 RVA: 0x00200244 File Offset: 0x001FE444
|
||||
[Token(Token = "0x6009054")]
|
||||
[Address(RVA = "0x1E77970", Offset = "0x1E76370", VA = "0x181E77970", Slot = "9")]
|
||||
public virtual byte[] DecodeCiphertext(long seqNo, byte type, byte[] ciphertext, int offset, int len)
|
||||
{
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
byte[] array = this.decryptIV;
|
||||
}
|
||||
while (!flag);
|
||||
byte[] array3;
|
||||
byte[] array2 = new byte[array3];
|
||||
this.decryptCipher.AdvanceCounter();
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x06009055 RID: 36949 RVA: 0x00200274 File Offset: 0x001FE474
|
||||
[Token(Token = "0x6009055")]
|
||||
[Address(RVA = "0x1E77F60", Offset = "0x1E76960", VA = "0x181E77F60", Slot = "10")]
|
||||
protected virtual KeyParameter InitRecord(IStreamCipher cipher, bool forEncryption, long seqNo, byte[] iv)
|
||||
{
|
||||
int num = 0;
|
||||
KeyParameter keyParameter;
|
||||
if (num < keyParameter)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009056 RID: 36950 RVA: 0x00200294 File Offset: 0x001FE494
|
||||
[Token(Token = "0x6009056")]
|
||||
[Address(RVA = "0x1E77740", Offset = "0x1E76140", VA = "0x181E77740", Slot = "11")]
|
||||
protected virtual byte[] CalculateNonce(long seqNo, byte[] iv)
|
||||
{
|
||||
byte[] array = new byte[12];
|
||||
TlsUtilities.WriteUint64(seqNo, array, 4);
|
||||
int num = 0;
|
||||
num++;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009057 RID: 36951 RVA: 0x002002C0 File Offset: 0x001FE4C0
|
||||
[Token(Token = "0x6009057")]
|
||||
[Address(RVA = "0x1E77CF0", Offset = "0x1E766F0", VA = "0x181E77CF0", Slot = "12")]
|
||||
protected virtual KeyParameter GenerateRecordMacKey(IStreamCipher cipher)
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
int num2;
|
||||
uint num3;
|
||||
KeyParameter keyParameter = new KeyParameter(array, num2, (int)num3);
|
||||
num2 = 0;
|
||||
int num4 = 0;
|
||||
Arrays.Fill(array, (byte)num4);
|
||||
return keyParameter;
|
||||
}
|
||||
|
||||
// Token: 0x06009058 RID: 36952 RVA: 0x00200308 File Offset: 0x001FE508
|
||||
[Token(Token = "0x6009058")]
|
||||
[Address(RVA = "0x1E77820", Offset = "0x1E76220", VA = "0x181E77820", Slot = "13")]
|
||||
protected virtual byte[] CalculateRecordMac(KeyParameter macKey, byte[] additionalData, byte[] buf, int off, int len)
|
||||
{
|
||||
Poly1305 poly = new Poly1305();
|
||||
int length = additionalData.Length;
|
||||
return MacUtilities.DoFinal(poly);
|
||||
}
|
||||
|
||||
// Token: 0x06009059 RID: 36953 RVA: 0x00200330 File Offset: 0x001FE530
|
||||
[Token(Token = "0x6009059")]
|
||||
[Address(RVA = "0x1E780A0", Offset = "0x1E76AA0", VA = "0x181E780A0", Slot = "14")]
|
||||
protected virtual void UpdateRecordMacLength(IMac mac, int len)
|
||||
{
|
||||
int length = Pack.UInt64_To_LE((ulong)len).Length;
|
||||
}
|
||||
|
||||
// Token: 0x0600905A RID: 36954 RVA: 0x00200350 File Offset: 0x001FE550
|
||||
[Token(Token = "0x600905A")]
|
||||
[Address(RVA = "0x1E78120", Offset = "0x1E76B20", VA = "0x181E78120", Slot = "15")]
|
||||
protected virtual void UpdateRecordMacText(IMac mac, byte[] buf, int off, int len)
|
||||
{
|
||||
if (mac < 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600905B RID: 36955 RVA: 0x00200368 File Offset: 0x001FE568
|
||||
[Token(Token = "0x600905B")]
|
||||
[Address(RVA = "0x1E77E50", Offset = "0x1E76850", VA = "0x181E77E50", Slot = "16")]
|
||||
protected virtual byte[] GetAdditionalData(long seqNo, byte type, int len)
|
||||
{
|
||||
byte[] array = new byte[13];
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint64(seqNo, array, num);
|
||||
TlsUtilities.WriteUint8(type, array, 8);
|
||||
TlsContext tlsContext = this.context;
|
||||
PngHelperInternal.WriteInt2tobytes(len, array, 11);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x04005ED4 RID: 24276
|
||||
[Token(Token = "0x4005ED4")]
|
||||
private static readonly byte[] Zeroes = new byte[15];
|
||||
|
||||
// Token: 0x04005ED5 RID: 24277
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005ED5")]
|
||||
protected readonly TlsContext context;
|
||||
|
||||
// Token: 0x04005ED6 RID: 24278
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005ED6")]
|
||||
protected readonly ChaCha7539Engine encryptCipher;
|
||||
|
||||
// Token: 0x04005ED7 RID: 24279
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005ED7")]
|
||||
protected readonly ChaCha7539Engine decryptCipher;
|
||||
|
||||
// Token: 0x04005ED8 RID: 24280
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4005ED8")]
|
||||
protected readonly byte[] encryptIV;
|
||||
|
||||
// Token: 0x04005ED9 RID: 24281
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4005ED9")]
|
||||
protected readonly byte[] decryptIV;
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200152E RID: 5422
|
||||
[Token(Token = "0x200152E")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ChangeCipherSpec
|
||||
{
|
||||
// Token: 0x0600905D RID: 36957 RVA: 0x002003C4 File Offset: 0x001FE5C4
|
||||
[Token(Token = "0x600905D")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ChangeCipherSpec()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005EDA RID: 24282
|
||||
[Token(Token = "0x4005EDA")]
|
||||
public const byte change_cipher_spec = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,1110 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200152F RID: 5423
|
||||
[Token(Token = "0x200152F")]
|
||||
[StructLayout(3)]
|
||||
public abstract class CipherSuite
|
||||
{
|
||||
// Token: 0x0600905E RID: 36958 RVA: 0x002003D8 File Offset: 0x001FE5D8
|
||||
[Token(Token = "0x600905E")]
|
||||
[Address(RVA = "0x1E78510", Offset = "0x1E76F10", VA = "0x181E78510")]
|
||||
public static bool IsScsv(int cipherSuite)
|
||||
{
|
||||
if (cipherSuite == 255 || cipherSuite != 22016)
|
||||
{
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600905F RID: 36959 RVA: 0x002003F8 File Offset: 0x001FE5F8
|
||||
[Token(Token = "0x600905F")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected CipherSuite()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005EDB RID: 24283
|
||||
[Token(Token = "0x4005EDB")]
|
||||
public const int TLS_NULL_WITH_NULL_NULL = 0;
|
||||
|
||||
// Token: 0x04005EDC RID: 24284
|
||||
[Token(Token = "0x4005EDC")]
|
||||
public const int TLS_RSA_WITH_NULL_MD5 = 1;
|
||||
|
||||
// Token: 0x04005EDD RID: 24285
|
||||
[Token(Token = "0x4005EDD")]
|
||||
public const int TLS_RSA_WITH_NULL_SHA = 2;
|
||||
|
||||
// Token: 0x04005EDE RID: 24286
|
||||
[Token(Token = "0x4005EDE")]
|
||||
public const int TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 3;
|
||||
|
||||
// Token: 0x04005EDF RID: 24287
|
||||
[Token(Token = "0x4005EDF")]
|
||||
public const int TLS_RSA_WITH_RC4_128_MD5 = 4;
|
||||
|
||||
// Token: 0x04005EE0 RID: 24288
|
||||
[Token(Token = "0x4005EE0")]
|
||||
public const int TLS_RSA_WITH_RC4_128_SHA = 5;
|
||||
|
||||
// Token: 0x04005EE1 RID: 24289
|
||||
[Token(Token = "0x4005EE1")]
|
||||
public const int TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 6;
|
||||
|
||||
// Token: 0x04005EE2 RID: 24290
|
||||
[Token(Token = "0x4005EE2")]
|
||||
public const int TLS_RSA_WITH_IDEA_CBC_SHA = 7;
|
||||
|
||||
// Token: 0x04005EE3 RID: 24291
|
||||
[Token(Token = "0x4005EE3")]
|
||||
public const int TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 8;
|
||||
|
||||
// Token: 0x04005EE4 RID: 24292
|
||||
[Token(Token = "0x4005EE4")]
|
||||
public const int TLS_RSA_WITH_DES_CBC_SHA = 9;
|
||||
|
||||
// Token: 0x04005EE5 RID: 24293
|
||||
[Token(Token = "0x4005EE5")]
|
||||
public const int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10;
|
||||
|
||||
// Token: 0x04005EE6 RID: 24294
|
||||
[Token(Token = "0x4005EE6")]
|
||||
public const int TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 11;
|
||||
|
||||
// Token: 0x04005EE7 RID: 24295
|
||||
[Token(Token = "0x4005EE7")]
|
||||
public const int TLS_DH_DSS_WITH_DES_CBC_SHA = 12;
|
||||
|
||||
// Token: 0x04005EE8 RID: 24296
|
||||
[Token(Token = "0x4005EE8")]
|
||||
public const int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13;
|
||||
|
||||
// Token: 0x04005EE9 RID: 24297
|
||||
[Token(Token = "0x4005EE9")]
|
||||
public const int TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 14;
|
||||
|
||||
// Token: 0x04005EEA RID: 24298
|
||||
[Token(Token = "0x4005EEA")]
|
||||
public const int TLS_DH_RSA_WITH_DES_CBC_SHA = 15;
|
||||
|
||||
// Token: 0x04005EEB RID: 24299
|
||||
[Token(Token = "0x4005EEB")]
|
||||
public const int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16;
|
||||
|
||||
// Token: 0x04005EEC RID: 24300
|
||||
[Token(Token = "0x4005EEC")]
|
||||
public const int TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 17;
|
||||
|
||||
// Token: 0x04005EED RID: 24301
|
||||
[Token(Token = "0x4005EED")]
|
||||
public const int TLS_DHE_DSS_WITH_DES_CBC_SHA = 18;
|
||||
|
||||
// Token: 0x04005EEE RID: 24302
|
||||
[Token(Token = "0x4005EEE")]
|
||||
public const int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19;
|
||||
|
||||
// Token: 0x04005EEF RID: 24303
|
||||
[Token(Token = "0x4005EEF")]
|
||||
public const int TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 20;
|
||||
|
||||
// Token: 0x04005EF0 RID: 24304
|
||||
[Token(Token = "0x4005EF0")]
|
||||
public const int TLS_DHE_RSA_WITH_DES_CBC_SHA = 21;
|
||||
|
||||
// Token: 0x04005EF1 RID: 24305
|
||||
[Token(Token = "0x4005EF1")]
|
||||
public const int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22;
|
||||
|
||||
// Token: 0x04005EF2 RID: 24306
|
||||
[Token(Token = "0x4005EF2")]
|
||||
public const int TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23;
|
||||
|
||||
// Token: 0x04005EF3 RID: 24307
|
||||
[Token(Token = "0x4005EF3")]
|
||||
public const int TLS_DH_anon_WITH_RC4_128_MD5 = 24;
|
||||
|
||||
// Token: 0x04005EF4 RID: 24308
|
||||
[Token(Token = "0x4005EF4")]
|
||||
public const int TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 25;
|
||||
|
||||
// Token: 0x04005EF5 RID: 24309
|
||||
[Token(Token = "0x4005EF5")]
|
||||
public const int TLS_DH_anon_WITH_DES_CBC_SHA = 26;
|
||||
|
||||
// Token: 0x04005EF6 RID: 24310
|
||||
[Token(Token = "0x4005EF6")]
|
||||
public const int TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 27;
|
||||
|
||||
// Token: 0x04005EF7 RID: 24311
|
||||
[Token(Token = "0x4005EF7")]
|
||||
public const int TLS_RSA_WITH_AES_128_CBC_SHA = 47;
|
||||
|
||||
// Token: 0x04005EF8 RID: 24312
|
||||
[Token(Token = "0x4005EF8")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48;
|
||||
|
||||
// Token: 0x04005EF9 RID: 24313
|
||||
[Token(Token = "0x4005EF9")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49;
|
||||
|
||||
// Token: 0x04005EFA RID: 24314
|
||||
[Token(Token = "0x4005EFA")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50;
|
||||
|
||||
// Token: 0x04005EFB RID: 24315
|
||||
[Token(Token = "0x4005EFB")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51;
|
||||
|
||||
// Token: 0x04005EFC RID: 24316
|
||||
[Token(Token = "0x4005EFC")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_CBC_SHA = 52;
|
||||
|
||||
// Token: 0x04005EFD RID: 24317
|
||||
[Token(Token = "0x4005EFD")]
|
||||
public const int TLS_RSA_WITH_AES_256_CBC_SHA = 53;
|
||||
|
||||
// Token: 0x04005EFE RID: 24318
|
||||
[Token(Token = "0x4005EFE")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54;
|
||||
|
||||
// Token: 0x04005EFF RID: 24319
|
||||
[Token(Token = "0x4005EFF")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55;
|
||||
|
||||
// Token: 0x04005F00 RID: 24320
|
||||
[Token(Token = "0x4005F00")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56;
|
||||
|
||||
// Token: 0x04005F01 RID: 24321
|
||||
[Token(Token = "0x4005F01")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57;
|
||||
|
||||
// Token: 0x04005F02 RID: 24322
|
||||
[Token(Token = "0x4005F02")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_CBC_SHA = 58;
|
||||
|
||||
// Token: 0x04005F03 RID: 24323
|
||||
[Token(Token = "0x4005F03")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = 65;
|
||||
|
||||
// Token: 0x04005F04 RID: 24324
|
||||
[Token(Token = "0x4005F04")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = 66;
|
||||
|
||||
// Token: 0x04005F05 RID: 24325
|
||||
[Token(Token = "0x4005F05")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = 67;
|
||||
|
||||
// Token: 0x04005F06 RID: 24326
|
||||
[Token(Token = "0x4005F06")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = 68;
|
||||
|
||||
// Token: 0x04005F07 RID: 24327
|
||||
[Token(Token = "0x4005F07")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = 69;
|
||||
|
||||
// Token: 0x04005F08 RID: 24328
|
||||
[Token(Token = "0x4005F08")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = 70;
|
||||
|
||||
// Token: 0x04005F09 RID: 24329
|
||||
[Token(Token = "0x4005F09")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = 132;
|
||||
|
||||
// Token: 0x04005F0A RID: 24330
|
||||
[Token(Token = "0x4005F0A")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = 133;
|
||||
|
||||
// Token: 0x04005F0B RID: 24331
|
||||
[Token(Token = "0x4005F0B")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = 134;
|
||||
|
||||
// Token: 0x04005F0C RID: 24332
|
||||
[Token(Token = "0x4005F0C")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = 135;
|
||||
|
||||
// Token: 0x04005F0D RID: 24333
|
||||
[Token(Token = "0x4005F0D")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = 136;
|
||||
|
||||
// Token: 0x04005F0E RID: 24334
|
||||
[Token(Token = "0x4005F0E")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = 137;
|
||||
|
||||
// Token: 0x04005F0F RID: 24335
|
||||
[Token(Token = "0x4005F0F")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 186;
|
||||
|
||||
// Token: 0x04005F10 RID: 24336
|
||||
[Token(Token = "0x4005F10")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 187;
|
||||
|
||||
// Token: 0x04005F11 RID: 24337
|
||||
[Token(Token = "0x4005F11")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 188;
|
||||
|
||||
// Token: 0x04005F12 RID: 24338
|
||||
[Token(Token = "0x4005F12")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 189;
|
||||
|
||||
// Token: 0x04005F13 RID: 24339
|
||||
[Token(Token = "0x4005F13")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 190;
|
||||
|
||||
// Token: 0x04005F14 RID: 24340
|
||||
[Token(Token = "0x4005F14")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = 191;
|
||||
|
||||
// Token: 0x04005F15 RID: 24341
|
||||
[Token(Token = "0x4005F15")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 192;
|
||||
|
||||
// Token: 0x04005F16 RID: 24342
|
||||
[Token(Token = "0x4005F16")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 193;
|
||||
|
||||
// Token: 0x04005F17 RID: 24343
|
||||
[Token(Token = "0x4005F17")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 194;
|
||||
|
||||
// Token: 0x04005F18 RID: 24344
|
||||
[Token(Token = "0x4005F18")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 195;
|
||||
|
||||
// Token: 0x04005F19 RID: 24345
|
||||
[Token(Token = "0x4005F19")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 196;
|
||||
|
||||
// Token: 0x04005F1A RID: 24346
|
||||
[Token(Token = "0x4005F1A")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = 197;
|
||||
|
||||
// Token: 0x04005F1B RID: 24347
|
||||
[Token(Token = "0x4005F1B")]
|
||||
public const int TLS_RSA_WITH_SEED_CBC_SHA = 150;
|
||||
|
||||
// Token: 0x04005F1C RID: 24348
|
||||
[Token(Token = "0x4005F1C")]
|
||||
public const int TLS_DH_DSS_WITH_SEED_CBC_SHA = 151;
|
||||
|
||||
// Token: 0x04005F1D RID: 24349
|
||||
[Token(Token = "0x4005F1D")]
|
||||
public const int TLS_DH_RSA_WITH_SEED_CBC_SHA = 152;
|
||||
|
||||
// Token: 0x04005F1E RID: 24350
|
||||
[Token(Token = "0x4005F1E")]
|
||||
public const int TLS_DHE_DSS_WITH_SEED_CBC_SHA = 153;
|
||||
|
||||
// Token: 0x04005F1F RID: 24351
|
||||
[Token(Token = "0x4005F1F")]
|
||||
public const int TLS_DHE_RSA_WITH_SEED_CBC_SHA = 154;
|
||||
|
||||
// Token: 0x04005F20 RID: 24352
|
||||
[Token(Token = "0x4005F20")]
|
||||
public const int TLS_DH_anon_WITH_SEED_CBC_SHA = 155;
|
||||
|
||||
// Token: 0x04005F21 RID: 24353
|
||||
[Token(Token = "0x4005F21")]
|
||||
public const int TLS_PSK_WITH_RC4_128_SHA = 138;
|
||||
|
||||
// Token: 0x04005F22 RID: 24354
|
||||
[Token(Token = "0x4005F22")]
|
||||
public const int TLS_PSK_WITH_3DES_EDE_CBC_SHA = 139;
|
||||
|
||||
// Token: 0x04005F23 RID: 24355
|
||||
[Token(Token = "0x4005F23")]
|
||||
public const int TLS_PSK_WITH_AES_128_CBC_SHA = 140;
|
||||
|
||||
// Token: 0x04005F24 RID: 24356
|
||||
[Token(Token = "0x4005F24")]
|
||||
public const int TLS_PSK_WITH_AES_256_CBC_SHA = 141;
|
||||
|
||||
// Token: 0x04005F25 RID: 24357
|
||||
[Token(Token = "0x4005F25")]
|
||||
public const int TLS_DHE_PSK_WITH_RC4_128_SHA = 142;
|
||||
|
||||
// Token: 0x04005F26 RID: 24358
|
||||
[Token(Token = "0x4005F26")]
|
||||
public const int TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 143;
|
||||
|
||||
// Token: 0x04005F27 RID: 24359
|
||||
[Token(Token = "0x4005F27")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 144;
|
||||
|
||||
// Token: 0x04005F28 RID: 24360
|
||||
[Token(Token = "0x4005F28")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 145;
|
||||
|
||||
// Token: 0x04005F29 RID: 24361
|
||||
[Token(Token = "0x4005F29")]
|
||||
public const int TLS_RSA_PSK_WITH_RC4_128_SHA = 146;
|
||||
|
||||
// Token: 0x04005F2A RID: 24362
|
||||
[Token(Token = "0x4005F2A")]
|
||||
public const int TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 147;
|
||||
|
||||
// Token: 0x04005F2B RID: 24363
|
||||
[Token(Token = "0x4005F2B")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 148;
|
||||
|
||||
// Token: 0x04005F2C RID: 24364
|
||||
[Token(Token = "0x4005F2C")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 149;
|
||||
|
||||
// Token: 0x04005F2D RID: 24365
|
||||
[Token(Token = "0x4005F2D")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_NULL_SHA = 49153;
|
||||
|
||||
// Token: 0x04005F2E RID: 24366
|
||||
[Token(Token = "0x4005F2E")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 49154;
|
||||
|
||||
// Token: 0x04005F2F RID: 24367
|
||||
[Token(Token = "0x4005F2F")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 49155;
|
||||
|
||||
// Token: 0x04005F30 RID: 24368
|
||||
[Token(Token = "0x4005F30")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 49156;
|
||||
|
||||
// Token: 0x04005F31 RID: 24369
|
||||
[Token(Token = "0x4005F31")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 49157;
|
||||
|
||||
// Token: 0x04005F32 RID: 24370
|
||||
[Token(Token = "0x4005F32")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_NULL_SHA = 49158;
|
||||
|
||||
// Token: 0x04005F33 RID: 24371
|
||||
[Token(Token = "0x4005F33")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 49159;
|
||||
|
||||
// Token: 0x04005F34 RID: 24372
|
||||
[Token(Token = "0x4005F34")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 49160;
|
||||
|
||||
// Token: 0x04005F35 RID: 24373
|
||||
[Token(Token = "0x4005F35")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 49161;
|
||||
|
||||
// Token: 0x04005F36 RID: 24374
|
||||
[Token(Token = "0x4005F36")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 49162;
|
||||
|
||||
// Token: 0x04005F37 RID: 24375
|
||||
[Token(Token = "0x4005F37")]
|
||||
public const int TLS_ECDH_RSA_WITH_NULL_SHA = 49163;
|
||||
|
||||
// Token: 0x04005F38 RID: 24376
|
||||
[Token(Token = "0x4005F38")]
|
||||
public const int TLS_ECDH_RSA_WITH_RC4_128_SHA = 49164;
|
||||
|
||||
// Token: 0x04005F39 RID: 24377
|
||||
[Token(Token = "0x4005F39")]
|
||||
public const int TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 49165;
|
||||
|
||||
// Token: 0x04005F3A RID: 24378
|
||||
[Token(Token = "0x4005F3A")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 49166;
|
||||
|
||||
// Token: 0x04005F3B RID: 24379
|
||||
[Token(Token = "0x4005F3B")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 49167;
|
||||
|
||||
// Token: 0x04005F3C RID: 24380
|
||||
[Token(Token = "0x4005F3C")]
|
||||
public const int TLS_ECDHE_RSA_WITH_NULL_SHA = 49168;
|
||||
|
||||
// Token: 0x04005F3D RID: 24381
|
||||
[Token(Token = "0x4005F3D")]
|
||||
public const int TLS_ECDHE_RSA_WITH_RC4_128_SHA = 49169;
|
||||
|
||||
// Token: 0x04005F3E RID: 24382
|
||||
[Token(Token = "0x4005F3E")]
|
||||
public const int TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 49170;
|
||||
|
||||
// Token: 0x04005F3F RID: 24383
|
||||
[Token(Token = "0x4005F3F")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 49171;
|
||||
|
||||
// Token: 0x04005F40 RID: 24384
|
||||
[Token(Token = "0x4005F40")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 49172;
|
||||
|
||||
// Token: 0x04005F41 RID: 24385
|
||||
[Token(Token = "0x4005F41")]
|
||||
public const int TLS_ECDH_anon_WITH_NULL_SHA = 49173;
|
||||
|
||||
// Token: 0x04005F42 RID: 24386
|
||||
[Token(Token = "0x4005F42")]
|
||||
public const int TLS_ECDH_anon_WITH_RC4_128_SHA = 49174;
|
||||
|
||||
// Token: 0x04005F43 RID: 24387
|
||||
[Token(Token = "0x4005F43")]
|
||||
public const int TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = 49175;
|
||||
|
||||
// Token: 0x04005F44 RID: 24388
|
||||
[Token(Token = "0x4005F44")]
|
||||
public const int TLS_ECDH_anon_WITH_AES_128_CBC_SHA = 49176;
|
||||
|
||||
// Token: 0x04005F45 RID: 24389
|
||||
[Token(Token = "0x4005F45")]
|
||||
public const int TLS_ECDH_anon_WITH_AES_256_CBC_SHA = 49177;
|
||||
|
||||
// Token: 0x04005F46 RID: 24390
|
||||
[Token(Token = "0x4005F46")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA = 44;
|
||||
|
||||
// Token: 0x04005F47 RID: 24391
|
||||
[Token(Token = "0x4005F47")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA = 45;
|
||||
|
||||
// Token: 0x04005F48 RID: 24392
|
||||
[Token(Token = "0x4005F48")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA = 46;
|
||||
|
||||
// Token: 0x04005F49 RID: 24393
|
||||
[Token(Token = "0x4005F49")]
|
||||
public const int TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 49178;
|
||||
|
||||
// Token: 0x04005F4A RID: 24394
|
||||
[Token(Token = "0x4005F4A")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 49179;
|
||||
|
||||
// Token: 0x04005F4B RID: 24395
|
||||
[Token(Token = "0x4005F4B")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 49180;
|
||||
|
||||
// Token: 0x04005F4C RID: 24396
|
||||
[Token(Token = "0x4005F4C")]
|
||||
public const int TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 49181;
|
||||
|
||||
// Token: 0x04005F4D RID: 24397
|
||||
[Token(Token = "0x4005F4D")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 49182;
|
||||
|
||||
// Token: 0x04005F4E RID: 24398
|
||||
[Token(Token = "0x4005F4E")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 49183;
|
||||
|
||||
// Token: 0x04005F4F RID: 24399
|
||||
[Token(Token = "0x4005F4F")]
|
||||
public const int TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 49184;
|
||||
|
||||
// Token: 0x04005F50 RID: 24400
|
||||
[Token(Token = "0x4005F50")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 49185;
|
||||
|
||||
// Token: 0x04005F51 RID: 24401
|
||||
[Token(Token = "0x4005F51")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 49186;
|
||||
|
||||
// Token: 0x04005F52 RID: 24402
|
||||
[Token(Token = "0x4005F52")]
|
||||
public const int TLS_RSA_WITH_NULL_SHA256 = 59;
|
||||
|
||||
// Token: 0x04005F53 RID: 24403
|
||||
[Token(Token = "0x4005F53")]
|
||||
public const int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60;
|
||||
|
||||
// Token: 0x04005F54 RID: 24404
|
||||
[Token(Token = "0x4005F54")]
|
||||
public const int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61;
|
||||
|
||||
// Token: 0x04005F55 RID: 24405
|
||||
[Token(Token = "0x4005F55")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62;
|
||||
|
||||
// Token: 0x04005F56 RID: 24406
|
||||
[Token(Token = "0x4005F56")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63;
|
||||
|
||||
// Token: 0x04005F57 RID: 24407
|
||||
[Token(Token = "0x4005F57")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64;
|
||||
|
||||
// Token: 0x04005F58 RID: 24408
|
||||
[Token(Token = "0x4005F58")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103;
|
||||
|
||||
// Token: 0x04005F59 RID: 24409
|
||||
[Token(Token = "0x4005F59")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104;
|
||||
|
||||
// Token: 0x04005F5A RID: 24410
|
||||
[Token(Token = "0x4005F5A")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105;
|
||||
|
||||
// Token: 0x04005F5B RID: 24411
|
||||
[Token(Token = "0x4005F5B")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106;
|
||||
|
||||
// Token: 0x04005F5C RID: 24412
|
||||
[Token(Token = "0x4005F5C")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107;
|
||||
|
||||
// Token: 0x04005F5D RID: 24413
|
||||
[Token(Token = "0x4005F5D")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 108;
|
||||
|
||||
// Token: 0x04005F5E RID: 24414
|
||||
[Token(Token = "0x4005F5E")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 109;
|
||||
|
||||
// Token: 0x04005F5F RID: 24415
|
||||
[Token(Token = "0x4005F5F")]
|
||||
public const int TLS_RSA_WITH_AES_128_GCM_SHA256 = 156;
|
||||
|
||||
// Token: 0x04005F60 RID: 24416
|
||||
[Token(Token = "0x4005F60")]
|
||||
public const int TLS_RSA_WITH_AES_256_GCM_SHA384 = 157;
|
||||
|
||||
// Token: 0x04005F61 RID: 24417
|
||||
[Token(Token = "0x4005F61")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158;
|
||||
|
||||
// Token: 0x04005F62 RID: 24418
|
||||
[Token(Token = "0x4005F62")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159;
|
||||
|
||||
// Token: 0x04005F63 RID: 24419
|
||||
[Token(Token = "0x4005F63")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 160;
|
||||
|
||||
// Token: 0x04005F64 RID: 24420
|
||||
[Token(Token = "0x4005F64")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 161;
|
||||
|
||||
// Token: 0x04005F65 RID: 24421
|
||||
[Token(Token = "0x4005F65")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 162;
|
||||
|
||||
// Token: 0x04005F66 RID: 24422
|
||||
[Token(Token = "0x4005F66")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 163;
|
||||
|
||||
// Token: 0x04005F67 RID: 24423
|
||||
[Token(Token = "0x4005F67")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 164;
|
||||
|
||||
// Token: 0x04005F68 RID: 24424
|
||||
[Token(Token = "0x4005F68")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165;
|
||||
|
||||
// Token: 0x04005F69 RID: 24425
|
||||
[Token(Token = "0x4005F69")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 166;
|
||||
|
||||
// Token: 0x04005F6A RID: 24426
|
||||
[Token(Token = "0x4005F6A")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 167;
|
||||
|
||||
// Token: 0x04005F6B RID: 24427
|
||||
[Token(Token = "0x4005F6B")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 49187;
|
||||
|
||||
// Token: 0x04005F6C RID: 24428
|
||||
[Token(Token = "0x4005F6C")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 49188;
|
||||
|
||||
// Token: 0x04005F6D RID: 24429
|
||||
[Token(Token = "0x4005F6D")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 49189;
|
||||
|
||||
// Token: 0x04005F6E RID: 24430
|
||||
[Token(Token = "0x4005F6E")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 49190;
|
||||
|
||||
// Token: 0x04005F6F RID: 24431
|
||||
[Token(Token = "0x4005F6F")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 49191;
|
||||
|
||||
// Token: 0x04005F70 RID: 24432
|
||||
[Token(Token = "0x4005F70")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 49192;
|
||||
|
||||
// Token: 0x04005F71 RID: 24433
|
||||
[Token(Token = "0x4005F71")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 49193;
|
||||
|
||||
// Token: 0x04005F72 RID: 24434
|
||||
[Token(Token = "0x4005F72")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 49194;
|
||||
|
||||
// Token: 0x04005F73 RID: 24435
|
||||
[Token(Token = "0x4005F73")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195;
|
||||
|
||||
// Token: 0x04005F74 RID: 24436
|
||||
[Token(Token = "0x4005F74")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196;
|
||||
|
||||
// Token: 0x04005F75 RID: 24437
|
||||
[Token(Token = "0x4005F75")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 49197;
|
||||
|
||||
// Token: 0x04005F76 RID: 24438
|
||||
[Token(Token = "0x4005F76")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 49198;
|
||||
|
||||
// Token: 0x04005F77 RID: 24439
|
||||
[Token(Token = "0x4005F77")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199;
|
||||
|
||||
// Token: 0x04005F78 RID: 24440
|
||||
[Token(Token = "0x4005F78")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200;
|
||||
|
||||
// Token: 0x04005F79 RID: 24441
|
||||
[Token(Token = "0x4005F79")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 49201;
|
||||
|
||||
// Token: 0x04005F7A RID: 24442
|
||||
[Token(Token = "0x4005F7A")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 49202;
|
||||
|
||||
// Token: 0x04005F7B RID: 24443
|
||||
[Token(Token = "0x4005F7B")]
|
||||
public const int TLS_PSK_WITH_AES_128_GCM_SHA256 = 168;
|
||||
|
||||
// Token: 0x04005F7C RID: 24444
|
||||
[Token(Token = "0x4005F7C")]
|
||||
public const int TLS_PSK_WITH_AES_256_GCM_SHA384 = 169;
|
||||
|
||||
// Token: 0x04005F7D RID: 24445
|
||||
[Token(Token = "0x4005F7D")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170;
|
||||
|
||||
// Token: 0x04005F7E RID: 24446
|
||||
[Token(Token = "0x4005F7E")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171;
|
||||
|
||||
// Token: 0x04005F7F RID: 24447
|
||||
[Token(Token = "0x4005F7F")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172;
|
||||
|
||||
// Token: 0x04005F80 RID: 24448
|
||||
[Token(Token = "0x4005F80")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173;
|
||||
|
||||
// Token: 0x04005F81 RID: 24449
|
||||
[Token(Token = "0x4005F81")]
|
||||
public const int TLS_PSK_WITH_AES_128_CBC_SHA256 = 174;
|
||||
|
||||
// Token: 0x04005F82 RID: 24450
|
||||
[Token(Token = "0x4005F82")]
|
||||
public const int TLS_PSK_WITH_AES_256_CBC_SHA384 = 175;
|
||||
|
||||
// Token: 0x04005F83 RID: 24451
|
||||
[Token(Token = "0x4005F83")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA256 = 176;
|
||||
|
||||
// Token: 0x04005F84 RID: 24452
|
||||
[Token(Token = "0x4005F84")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA384 = 177;
|
||||
|
||||
// Token: 0x04005F85 RID: 24453
|
||||
[Token(Token = "0x4005F85")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178;
|
||||
|
||||
// Token: 0x04005F86 RID: 24454
|
||||
[Token(Token = "0x4005F86")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179;
|
||||
|
||||
// Token: 0x04005F87 RID: 24455
|
||||
[Token(Token = "0x4005F87")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA256 = 180;
|
||||
|
||||
// Token: 0x04005F88 RID: 24456
|
||||
[Token(Token = "0x4005F88")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA384 = 181;
|
||||
|
||||
// Token: 0x04005F89 RID: 24457
|
||||
[Token(Token = "0x4005F89")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182;
|
||||
|
||||
// Token: 0x04005F8A RID: 24458
|
||||
[Token(Token = "0x4005F8A")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183;
|
||||
|
||||
// Token: 0x04005F8B RID: 24459
|
||||
[Token(Token = "0x4005F8B")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA256 = 184;
|
||||
|
||||
// Token: 0x04005F8C RID: 24460
|
||||
[Token(Token = "0x4005F8C")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA384 = 185;
|
||||
|
||||
// Token: 0x04005F8D RID: 24461
|
||||
[Token(Token = "0x4005F8D")]
|
||||
public const int TLS_ECDHE_PSK_WITH_RC4_128_SHA = 49203;
|
||||
|
||||
// Token: 0x04005F8E RID: 24462
|
||||
[Token(Token = "0x4005F8E")]
|
||||
public const int TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 49204;
|
||||
|
||||
// Token: 0x04005F8F RID: 24463
|
||||
[Token(Token = "0x4005F8F")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 49205;
|
||||
|
||||
// Token: 0x04005F90 RID: 24464
|
||||
[Token(Token = "0x4005F90")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 49206;
|
||||
|
||||
// Token: 0x04005F91 RID: 24465
|
||||
[Token(Token = "0x4005F91")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 49207;
|
||||
|
||||
// Token: 0x04005F92 RID: 24466
|
||||
[Token(Token = "0x4005F92")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 49208;
|
||||
|
||||
// Token: 0x04005F93 RID: 24467
|
||||
[Token(Token = "0x4005F93")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA = 49209;
|
||||
|
||||
// Token: 0x04005F94 RID: 24468
|
||||
[Token(Token = "0x4005F94")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA256 = 49210;
|
||||
|
||||
// Token: 0x04005F95 RID: 24469
|
||||
[Token(Token = "0x4005F95")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA384 = 49211;
|
||||
|
||||
// Token: 0x04005F96 RID: 24470
|
||||
[Token(Token = "0x4005F96")]
|
||||
public const int TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 255;
|
||||
|
||||
// Token: 0x04005F97 RID: 24471
|
||||
[Token(Token = "0x4005F97")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49266;
|
||||
|
||||
// Token: 0x04005F98 RID: 24472
|
||||
[Token(Token = "0x4005F98")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49267;
|
||||
|
||||
// Token: 0x04005F99 RID: 24473
|
||||
[Token(Token = "0x4005F99")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49268;
|
||||
|
||||
// Token: 0x04005F9A RID: 24474
|
||||
[Token(Token = "0x4005F9A")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49269;
|
||||
|
||||
// Token: 0x04005F9B RID: 24475
|
||||
[Token(Token = "0x4005F9B")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49270;
|
||||
|
||||
// Token: 0x04005F9C RID: 24476
|
||||
[Token(Token = "0x4005F9C")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49271;
|
||||
|
||||
// Token: 0x04005F9D RID: 24477
|
||||
[Token(Token = "0x4005F9D")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49272;
|
||||
|
||||
// Token: 0x04005F9E RID: 24478
|
||||
[Token(Token = "0x4005F9E")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49273;
|
||||
|
||||
// Token: 0x04005F9F RID: 24479
|
||||
[Token(Token = "0x4005F9F")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49274;
|
||||
|
||||
// Token: 0x04005FA0 RID: 24480
|
||||
[Token(Token = "0x4005FA0")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49275;
|
||||
|
||||
// Token: 0x04005FA1 RID: 24481
|
||||
[Token(Token = "0x4005FA1")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49276;
|
||||
|
||||
// Token: 0x04005FA2 RID: 24482
|
||||
[Token(Token = "0x4005FA2")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49277;
|
||||
|
||||
// Token: 0x04005FA3 RID: 24483
|
||||
[Token(Token = "0x4005FA3")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49278;
|
||||
|
||||
// Token: 0x04005FA4 RID: 24484
|
||||
[Token(Token = "0x4005FA4")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49279;
|
||||
|
||||
// Token: 0x04005FA5 RID: 24485
|
||||
[Token(Token = "0x4005FA5")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49280;
|
||||
|
||||
// Token: 0x04005FA6 RID: 24486
|
||||
[Token(Token = "0x4005FA6")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49281;
|
||||
|
||||
// Token: 0x04005FA7 RID: 24487
|
||||
[Token(Token = "0x4005FA7")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49282;
|
||||
|
||||
// Token: 0x04005FA8 RID: 24488
|
||||
[Token(Token = "0x4005FA8")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49283;
|
||||
|
||||
// Token: 0x04005FA9 RID: 24489
|
||||
[Token(Token = "0x4005FA9")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 = 49284;
|
||||
|
||||
// Token: 0x04005FAA RID: 24490
|
||||
[Token(Token = "0x4005FAA")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 = 49285;
|
||||
|
||||
// Token: 0x04005FAB RID: 24491
|
||||
[Token(Token = "0x4005FAB")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49286;
|
||||
|
||||
// Token: 0x04005FAC RID: 24492
|
||||
[Token(Token = "0x4005FAC")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49287;
|
||||
|
||||
// Token: 0x04005FAD RID: 24493
|
||||
[Token(Token = "0x4005FAD")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49288;
|
||||
|
||||
// Token: 0x04005FAE RID: 24494
|
||||
[Token(Token = "0x4005FAE")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49289;
|
||||
|
||||
// Token: 0x04005FAF RID: 24495
|
||||
[Token(Token = "0x4005FAF")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49290;
|
||||
|
||||
// Token: 0x04005FB0 RID: 24496
|
||||
[Token(Token = "0x4005FB0")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49291;
|
||||
|
||||
// Token: 0x04005FB1 RID: 24497
|
||||
[Token(Token = "0x4005FB1")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49292;
|
||||
|
||||
// Token: 0x04005FB2 RID: 24498
|
||||
[Token(Token = "0x4005FB2")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49293;
|
||||
|
||||
// Token: 0x04005FB3 RID: 24499
|
||||
[Token(Token = "0x4005FB3")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49294;
|
||||
|
||||
// Token: 0x04005FB4 RID: 24500
|
||||
[Token(Token = "0x4005FB4")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49295;
|
||||
|
||||
// Token: 0x04005FB5 RID: 24501
|
||||
[Token(Token = "0x4005FB5")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49296;
|
||||
|
||||
// Token: 0x04005FB6 RID: 24502
|
||||
[Token(Token = "0x4005FB6")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49297;
|
||||
|
||||
// Token: 0x04005FB7 RID: 24503
|
||||
[Token(Token = "0x4005FB7")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49298;
|
||||
|
||||
// Token: 0x04005FB8 RID: 24504
|
||||
[Token(Token = "0x4005FB8")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49299;
|
||||
|
||||
// Token: 0x04005FB9 RID: 24505
|
||||
[Token(Token = "0x4005FB9")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49300;
|
||||
|
||||
// Token: 0x04005FBA RID: 24506
|
||||
[Token(Token = "0x4005FBA")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49301;
|
||||
|
||||
// Token: 0x04005FBB RID: 24507
|
||||
[Token(Token = "0x4005FBB")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49302;
|
||||
|
||||
// Token: 0x04005FBC RID: 24508
|
||||
[Token(Token = "0x4005FBC")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49303;
|
||||
|
||||
// Token: 0x04005FBD RID: 24509
|
||||
[Token(Token = "0x4005FBD")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49304;
|
||||
|
||||
// Token: 0x04005FBE RID: 24510
|
||||
[Token(Token = "0x4005FBE")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49305;
|
||||
|
||||
// Token: 0x04005FBF RID: 24511
|
||||
[Token(Token = "0x4005FBF")]
|
||||
public const int TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49306;
|
||||
|
||||
// Token: 0x04005FC0 RID: 24512
|
||||
[Token(Token = "0x4005FC0")]
|
||||
public const int TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49307;
|
||||
|
||||
// Token: 0x04005FC1 RID: 24513
|
||||
[Token(Token = "0x4005FC1")]
|
||||
public const int TLS_RSA_WITH_AES_128_CCM = 49308;
|
||||
|
||||
// Token: 0x04005FC2 RID: 24514
|
||||
[Token(Token = "0x4005FC2")]
|
||||
public const int TLS_RSA_WITH_AES_256_CCM = 49309;
|
||||
|
||||
// Token: 0x04005FC3 RID: 24515
|
||||
[Token(Token = "0x4005FC3")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CCM = 49310;
|
||||
|
||||
// Token: 0x04005FC4 RID: 24516
|
||||
[Token(Token = "0x4005FC4")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CCM = 49311;
|
||||
|
||||
// Token: 0x04005FC5 RID: 24517
|
||||
[Token(Token = "0x4005FC5")]
|
||||
public const int TLS_RSA_WITH_AES_128_CCM_8 = 49312;
|
||||
|
||||
// Token: 0x04005FC6 RID: 24518
|
||||
[Token(Token = "0x4005FC6")]
|
||||
public const int TLS_RSA_WITH_AES_256_CCM_8 = 49313;
|
||||
|
||||
// Token: 0x04005FC7 RID: 24519
|
||||
[Token(Token = "0x4005FC7")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CCM_8 = 49314;
|
||||
|
||||
// Token: 0x04005FC8 RID: 24520
|
||||
[Token(Token = "0x4005FC8")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CCM_8 = 49315;
|
||||
|
||||
// Token: 0x04005FC9 RID: 24521
|
||||
[Token(Token = "0x4005FC9")]
|
||||
public const int TLS_PSK_WITH_AES_128_CCM = 49316;
|
||||
|
||||
// Token: 0x04005FCA RID: 24522
|
||||
[Token(Token = "0x4005FCA")]
|
||||
public const int TLS_PSK_WITH_AES_256_CCM = 49317;
|
||||
|
||||
// Token: 0x04005FCB RID: 24523
|
||||
[Token(Token = "0x4005FCB")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CCM = 49318;
|
||||
|
||||
// Token: 0x04005FCC RID: 24524
|
||||
[Token(Token = "0x4005FCC")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CCM = 49319;
|
||||
|
||||
// Token: 0x04005FCD RID: 24525
|
||||
[Token(Token = "0x4005FCD")]
|
||||
public const int TLS_PSK_WITH_AES_128_CCM_8 = 49320;
|
||||
|
||||
// Token: 0x04005FCE RID: 24526
|
||||
[Token(Token = "0x4005FCE")]
|
||||
public const int TLS_PSK_WITH_AES_256_CCM_8 = 49321;
|
||||
|
||||
// Token: 0x04005FCF RID: 24527
|
||||
[Token(Token = "0x4005FCF")]
|
||||
public const int TLS_PSK_DHE_WITH_AES_128_CCM_8 = 49322;
|
||||
|
||||
// Token: 0x04005FD0 RID: 24528
|
||||
[Token(Token = "0x4005FD0")]
|
||||
public const int TLS_PSK_DHE_WITH_AES_256_CCM_8 = 49323;
|
||||
|
||||
// Token: 0x04005FD1 RID: 24529
|
||||
[Token(Token = "0x4005FD1")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CCM = 49324;
|
||||
|
||||
// Token: 0x04005FD2 RID: 24530
|
||||
[Token(Token = "0x4005FD2")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CCM = 49325;
|
||||
|
||||
// Token: 0x04005FD3 RID: 24531
|
||||
[Token(Token = "0x4005FD3")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = 49326;
|
||||
|
||||
// Token: 0x04005FD4 RID: 24532
|
||||
[Token(Token = "0x4005FD4")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = 49327;
|
||||
|
||||
// Token: 0x04005FD5 RID: 24533
|
||||
[Token(Token = "0x4005FD5")]
|
||||
public const int TLS_FALLBACK_SCSV = 22016;
|
||||
|
||||
// Token: 0x04005FD6 RID: 24534
|
||||
[Token(Token = "0x4005FD6")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392;
|
||||
|
||||
// Token: 0x04005FD7 RID: 24535
|
||||
[Token(Token = "0x4005FD7")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393;
|
||||
|
||||
// Token: 0x04005FD8 RID: 24536
|
||||
[Token(Token = "0x4005FD8")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394;
|
||||
|
||||
// Token: 0x04005FD9 RID: 24537
|
||||
[Token(Token = "0x4005FD9")]
|
||||
public const int DRAFT_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52395;
|
||||
|
||||
// Token: 0x04005FDA RID: 24538
|
||||
[Token(Token = "0x4005FDA")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396;
|
||||
|
||||
// Token: 0x04005FDB RID: 24539
|
||||
[Token(Token = "0x4005FDB")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397;
|
||||
|
||||
// Token: 0x04005FDC RID: 24540
|
||||
[Token(Token = "0x4005FDC")]
|
||||
public const int DRAFT_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52398;
|
||||
|
||||
// Token: 0x04005FDD RID: 24541
|
||||
[Token(Token = "0x4005FDD")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_AES_128_OCB = 65280;
|
||||
|
||||
// Token: 0x04005FDE RID: 24542
|
||||
[Token(Token = "0x4005FDE")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_AES_256_OCB = 65281;
|
||||
|
||||
// Token: 0x04005FDF RID: 24543
|
||||
[Token(Token = "0x4005FDF")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_AES_128_OCB = 65282;
|
||||
|
||||
// Token: 0x04005FE0 RID: 24544
|
||||
[Token(Token = "0x4005FE0")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_AES_256_OCB = 65283;
|
||||
|
||||
// Token: 0x04005FE1 RID: 24545
|
||||
[Token(Token = "0x4005FE1")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_AES_128_OCB = 65284;
|
||||
|
||||
// Token: 0x04005FE2 RID: 24546
|
||||
[Token(Token = "0x4005FE2")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_AES_256_OCB = 65285;
|
||||
|
||||
// Token: 0x04005FE3 RID: 24547
|
||||
[Token(Token = "0x4005FE3")]
|
||||
public const int DRAFT_TLS_PSK_WITH_AES_128_OCB = 65296;
|
||||
|
||||
// Token: 0x04005FE4 RID: 24548
|
||||
[Token(Token = "0x4005FE4")]
|
||||
public const int DRAFT_TLS_PSK_WITH_AES_256_OCB = 65297;
|
||||
|
||||
// Token: 0x04005FE5 RID: 24549
|
||||
[Token(Token = "0x4005FE5")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_AES_128_OCB = 65298;
|
||||
|
||||
// Token: 0x04005FE6 RID: 24550
|
||||
[Token(Token = "0x4005FE6")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_AES_256_OCB = 65299;
|
||||
|
||||
// Token: 0x04005FE7 RID: 24551
|
||||
[Token(Token = "0x4005FE7")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_AES_128_OCB = 65300;
|
||||
|
||||
// Token: 0x04005FE8 RID: 24552
|
||||
[Token(Token = "0x4005FE8")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_AES_256_OCB = 65301;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001530 RID: 5424
|
||||
[Token(Token = "0x2001530")]
|
||||
[StructLayout(3)]
|
||||
public abstract class CipherType
|
||||
{
|
||||
// Token: 0x06009060 RID: 36960 RVA: 0x0020040C File Offset: 0x001FE60C
|
||||
[Token(Token = "0x6009060")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected CipherType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005FE9 RID: 24553
|
||||
[Token(Token = "0x4005FE9")]
|
||||
public const int stream = 0;
|
||||
|
||||
// Token: 0x04005FEA RID: 24554
|
||||
[Token(Token = "0x4005FEA")]
|
||||
public const int block = 1;
|
||||
|
||||
// Token: 0x04005FEB RID: 24555
|
||||
[Token(Token = "0x4005FEB")]
|
||||
public const int aead = 2;
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001531 RID: 5425
|
||||
[Token(Token = "0x2001531")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ClientAuthenticationType
|
||||
{
|
||||
// Token: 0x06009061 RID: 36961 RVA: 0x00200420 File Offset: 0x001FE620
|
||||
[Token(Token = "0x6009061")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ClientAuthenticationType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005FEC RID: 24556
|
||||
[Token(Token = "0x4005FEC")]
|
||||
public const byte anonymous = 0;
|
||||
|
||||
// Token: 0x04005FED RID: 24557
|
||||
[Token(Token = "0x4005FED")]
|
||||
public const byte certificate_based = 1;
|
||||
|
||||
// Token: 0x04005FEE RID: 24558
|
||||
[Token(Token = "0x4005FEE")]
|
||||
public const byte psk = 2;
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001532 RID: 5426
|
||||
[Token(Token = "0x2001532")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ClientCertificateType
|
||||
{
|
||||
// Token: 0x06009062 RID: 36962 RVA: 0x00200434 File Offset: 0x001FE634
|
||||
[Token(Token = "0x6009062")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ClientCertificateType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005FEF RID: 24559
|
||||
[Token(Token = "0x4005FEF")]
|
||||
public const byte rsa_sign = 1;
|
||||
|
||||
// Token: 0x04005FF0 RID: 24560
|
||||
[Token(Token = "0x4005FF0")]
|
||||
public const byte dss_sign = 2;
|
||||
|
||||
// Token: 0x04005FF1 RID: 24561
|
||||
[Token(Token = "0x4005FF1")]
|
||||
public const byte rsa_fixed_dh = 3;
|
||||
|
||||
// Token: 0x04005FF2 RID: 24562
|
||||
[Token(Token = "0x4005FF2")]
|
||||
public const byte dss_fixed_dh = 4;
|
||||
|
||||
// Token: 0x04005FF3 RID: 24563
|
||||
[Token(Token = "0x4005FF3")]
|
||||
public const byte rsa_ephemeral_dh_RESERVED = 5;
|
||||
|
||||
// Token: 0x04005FF4 RID: 24564
|
||||
[Token(Token = "0x4005FF4")]
|
||||
public const byte dss_ephemeral_dh_RESERVED = 6;
|
||||
|
||||
// Token: 0x04005FF5 RID: 24565
|
||||
[Token(Token = "0x4005FF5")]
|
||||
public const byte fortezza_dms_RESERVED = 20;
|
||||
|
||||
// Token: 0x04005FF6 RID: 24566
|
||||
[Token(Token = "0x4005FF6")]
|
||||
public const byte ecdsa_sign = 64;
|
||||
|
||||
// Token: 0x04005FF7 RID: 24567
|
||||
[Token(Token = "0x4005FF7")]
|
||||
public const byte rsa_fixed_ecdh = 65;
|
||||
|
||||
// Token: 0x04005FF8 RID: 24568
|
||||
[Token(Token = "0x4005FF8")]
|
||||
public const byte ecdsa_fixed_ecdh = 66;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,279 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001533 RID: 5427
|
||||
[Token(Token = "0x2001533")]
|
||||
[StructLayout(3)]
|
||||
internal class CombinedHash : TlsHandshakeHash, IDigest
|
||||
{
|
||||
// Token: 0x06009063 RID: 36963 RVA: 0x00200448 File Offset: 0x001FE648
|
||||
[Token(Token = "0x6009063")]
|
||||
[Address(RVA = "0x1E78D10", Offset = "0x1E77710", VA = "0x181E78D10")]
|
||||
internal CombinedHash()
|
||||
{
|
||||
this.SealHashAlgorithms();
|
||||
IDigest digest;
|
||||
this.mMd5 = digest;
|
||||
IDigest digest2;
|
||||
this.mSha1 = digest2;
|
||||
}
|
||||
|
||||
// Token: 0x06009064 RID: 36964 RVA: 0x0020046C File Offset: 0x001FE66C
|
||||
[Token(Token = "0x6009064")]
|
||||
[Address(RVA = "0x1E78C60", Offset = "0x1E77660", VA = "0x181E78C60")]
|
||||
internal CombinedHash(CombinedHash t)
|
||||
{
|
||||
this.SealHashAlgorithms();
|
||||
TlsContext tlsContext = t.mContext;
|
||||
this.mContext = tlsContext;
|
||||
IDigest digest = t.mMd5;
|
||||
IDigest digest2;
|
||||
this.mMd5 = digest2;
|
||||
IDigest digest3 = t.mSha1;
|
||||
IDigest digest4;
|
||||
this.mSha1 = digest4;
|
||||
}
|
||||
|
||||
// Token: 0x06009065 RID: 36965 RVA: 0x002004B0 File Offset: 0x001FE6B0
|
||||
[Token(Token = "0x6009065")]
|
||||
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0", Slot = "18")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x06009066 RID: 36966 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009066")]
|
||||
[Address(RVA = "0x518E70", Offset = "0x517870", VA = "0x180518E70", Slot = "19")]
|
||||
public virtual TlsHandshakeHash NotifyPrfDetermined()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009067 RID: 36967 RVA: 0x002004C4 File Offset: 0x001FE6C4
|
||||
[Token(Token = "0x6009067")]
|
||||
[Address(RVA = "0x1E78B80", Offset = "0x1E77580", VA = "0x181E78B80", Slot = "20")]
|
||||
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009067)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::TrackHashAlgorithm(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("CombinedHash only supports calculating the legacy PRF for handshake hash")))
|
||||
}
|
||||
|
||||
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: 0x06009068 RID: 36968 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009068")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "21")]
|
||||
public virtual void SealHashAlgorithms()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009069 RID: 36969 RVA: 0x002004DC File Offset: 0x001FE6DC
|
||||
[Token(Token = "0x6009069")]
|
||||
[Address(RVA = "0x1E78B20", Offset = "0x1E77520", VA = "0x181E78B20", Slot = "22")]
|
||||
public virtual TlsHandshakeHash StopTracking()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009069)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::StopTracking()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CombinedHash(var_0_06, newobj:CombinedHash(CombinedHash::.ctor, ldloc:CombinedHash(this)))
|
||||
}
|
||||
|
||||
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: 0x0600906A RID: 36970 RVA: 0x002004F0 File Offset: 0x001FE6F0
|
||||
[Token(Token = "0x600906A")]
|
||||
[Address(RVA = "0x1E78750", Offset = "0x1E77150", VA = "0x181E78750", Slot = "23")]
|
||||
public virtual IDigest ForkPrfHash()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600906A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::ForkPrfHash()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CombinedHash(var_0_06, newobj:CombinedHash(CombinedHash::.ctor, ldloc:CombinedHash(this)))
|
||||
}
|
||||
|
||||
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: 0x0600906B RID: 36971 RVA: 0x00200504 File Offset: 0x001FE704
|
||||
[Token(Token = "0x600906B")]
|
||||
[Address(RVA = "0x1E788D0", Offset = "0x1E772D0", VA = "0x181E788D0", Slot = "24")]
|
||||
public virtual byte[] GetFinalHash(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600906B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::GetFinalHash(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("CombinedHash doesn't support multiple hashes")))
|
||||
}
|
||||
|
||||
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: 0x17001756 RID: 5974
|
||||
// (get) Token: 0x0600906C RID: 36972 RVA: 0x0020051C File Offset: 0x001FE71C
|
||||
[Token(Token = "0x17001756")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600906C")]
|
||||
[Address(RVA = "0x1E78D80", Offset = "0x1E77780", VA = "0x181E78D80", Slot = "25")]
|
||||
get
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
string text;
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600906D RID: 36973 RVA: 0x00200540 File Offset: 0x001FE740
|
||||
[Token(Token = "0x600906D")]
|
||||
[Address(RVA = "0x1E787B0", Offset = "0x1E771B0", VA = "0x181E787B0", Slot = "26")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600906E RID: 36974 RVA: 0x00200564 File Offset: 0x001FE764
|
||||
[Token(Token = "0x600906E")]
|
||||
[Address(RVA = "0x1E78850", Offset = "0x1E77250", VA = "0x181E78850", Slot = "27")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600906F RID: 36975 RVA: 0x00200584 File Offset: 0x001FE784
|
||||
[Token(Token = "0x600906F")]
|
||||
[Address(RVA = "0x1E78BE0", Offset = "0x1E775E0", VA = "0x181E78BE0", Slot = "28")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009070 RID: 36976 RVA: 0x002005A4 File Offset: 0x001FE7A4
|
||||
[Token(Token = "0x6009070")]
|
||||
[Address(RVA = "0x1E78530", Offset = "0x1E76F30", VA = "0x181E78530", Slot = "29")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
}
|
||||
|
||||
// Token: 0x06009071 RID: 36977 RVA: 0x002005C8 File Offset: 0x001FE7C8
|
||||
[Token(Token = "0x6009071")]
|
||||
[Address(RVA = "0x1E785D0", Offset = "0x1E76FD0", VA = "0x181E785D0", Slot = "30")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
TlsContext tlsContext = this.mContext;
|
||||
if (tlsContext != 0 && TlsUtilities.IsSsl(tlsContext))
|
||||
{
|
||||
this.Reset();
|
||||
this.Reset();
|
||||
}
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009072 RID: 36978 RVA: 0x0020060C File Offset: 0x001FE80C
|
||||
[Token(Token = "0x6009072")]
|
||||
[Address(RVA = "0x1E78930", Offset = "0x1E77330", VA = "0x181E78930", Slot = "31")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009073 RID: 36979 RVA: 0x0020062C File Offset: 0x001FE82C
|
||||
[Token(Token = "0x6009073")]
|
||||
[Address(RVA = "0x1E789A0", Offset = "0x1E773A0", VA = "0x181E789A0", Slot = "32")]
|
||||
protected virtual void Ssl3Complete(IDigest d, byte[] ipad, byte[] opad, int padLength)
|
||||
{
|
||||
TlsContext tlsContext = this.mContext;
|
||||
IDigest digest = this.mMd5;
|
||||
byte[] array = DigestUtilities.DoFinal(d);
|
||||
IDigest digest2 = this.mMd5;
|
||||
int length = array.Length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04005FF9 RID: 24569
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005FF9")]
|
||||
protected TlsContext mContext;
|
||||
|
||||
// Token: 0x04005FFA RID: 24570
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005FFA")]
|
||||
protected IDigest mMd5;
|
||||
|
||||
// Token: 0x04005FFB RID: 24571
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005FFB")]
|
||||
protected IDigest mSha1;
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001534 RID: 5428
|
||||
[Token(Token = "0x2001534")]
|
||||
[StructLayout(3)]
|
||||
public abstract class CompressionMethod
|
||||
{
|
||||
// Token: 0x06009074 RID: 36980 RVA: 0x00200668 File Offset: 0x001FE868
|
||||
[Token(Token = "0x6009074")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected CompressionMethod()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005FFC RID: 24572
|
||||
[Token(Token = "0x4005FFC")]
|
||||
public const byte cls_null = 0;
|
||||
|
||||
// Token: 0x04005FFD RID: 24573
|
||||
[Token(Token = "0x4005FFD")]
|
||||
public const byte DEFLATE = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001535 RID: 5429
|
||||
[Token(Token = "0x2001535")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ConnectionEnd
|
||||
{
|
||||
// Token: 0x06009075 RID: 36981 RVA: 0x0020067C File Offset: 0x001FE87C
|
||||
[Token(Token = "0x6009075")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ConnectionEnd()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04005FFE RID: 24574
|
||||
[Token(Token = "0x4005FFE")]
|
||||
public const int server = 0;
|
||||
|
||||
// Token: 0x04005FFF RID: 24575
|
||||
[Token(Token = "0x4005FFF")]
|
||||
public const int client = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001536 RID: 5430
|
||||
[Token(Token = "0x2001536")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ContentType
|
||||
{
|
||||
// Token: 0x06009076 RID: 36982 RVA: 0x00200690 File Offset: 0x001FE890
|
||||
[Token(Token = "0x6009076")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ContentType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006000 RID: 24576
|
||||
[Token(Token = "0x4006000")]
|
||||
public const byte change_cipher_spec = 20;
|
||||
|
||||
// Token: 0x04006001 RID: 24577
|
||||
[Token(Token = "0x4006001")]
|
||||
public const byte alert = 21;
|
||||
|
||||
// Token: 0x04006002 RID: 24578
|
||||
[Token(Token = "0x4006002")]
|
||||
public const byte handshake = 22;
|
||||
|
||||
// Token: 0x04006003 RID: 24579
|
||||
[Token(Token = "0x4006003")]
|
||||
public const byte application_data = 23;
|
||||
|
||||
// Token: 0x04006004 RID: 24580
|
||||
[Token(Token = "0x4006004")]
|
||||
public const byte heartbeat = 24;
|
||||
}
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001537 RID: 5431
|
||||
[Token(Token = "0x2001537")]
|
||||
[StructLayout(3)]
|
||||
public interface DatagramTransport
|
||||
{
|
||||
// Token: 0x06009077 RID: 36983
|
||||
[Token(Token = "0x6009077")]
|
||||
[Address(Slot = "0")]
|
||||
int GetReceiveLimit();
|
||||
|
||||
// Token: 0x06009078 RID: 36984
|
||||
[Token(Token = "0x6009078")]
|
||||
[Address(Slot = "1")]
|
||||
int GetSendLimit();
|
||||
|
||||
// Token: 0x06009079 RID: 36985
|
||||
[Token(Token = "0x6009079")]
|
||||
[Address(Slot = "2")]
|
||||
int Receive(byte[] buf, int off, int len, int waitMillis);
|
||||
|
||||
// Token: 0x0600907A RID: 36986
|
||||
[Token(Token = "0x600907A")]
|
||||
[Address(Slot = "3")]
|
||||
void Send(byte[] buf, int off, int len);
|
||||
|
||||
// Token: 0x0600907B RID: 36987
|
||||
[Token(Token = "0x600907B")]
|
||||
[Address(Slot = "4")]
|
||||
void Close();
|
||||
}
|
||||
}
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001538 RID: 5432
|
||||
[Token(Token = "0x2001538")]
|
||||
[StructLayout(3)]
|
||||
public class DefaultTlsAgreementCredentials : AbstractTlsAgreementCredentials
|
||||
{
|
||||
// Token: 0x0600907C RID: 36988 RVA: 0x002006A4 File Offset: 0x001FE8A4
|
||||
[Token(Token = "0x600907C")]
|
||||
[Address(RVA = "0x1E78F30", Offset = "0x1E77930", VA = "0x181E78F30")]
|
||||
public DefaultTlsAgreementCredentials(Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600907C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsAgreementCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_55:
|
||||
stloc:string(var_3_64, call:string(Platform::GetTypeName, newobj:ArgumentNullException[exp:object](ArgumentNullException::.ctor, ldstr:string("certificate"))))
|
||||
stloc:ArgumentException(var_4_7A, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_3_64)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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: 0x17001757 RID: 5975
|
||||
// (get) Token: 0x0600907D RID: 36989 RVA: 0x0020072C File Offset: 0x001FE92C
|
||||
[Token(Token = "0x17001757")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600907D")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600907E RID: 36990 RVA: 0x00200740 File Offset: 0x001FE940
|
||||
[Token(Token = "0x600907E")]
|
||||
[Address(RVA = "0x1E78E00", Offset = "0x1E77800", VA = "0x181E78E00", Slot = "7")]
|
||||
public override byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey)
|
||||
{
|
||||
IBasicAgreement basicAgreement = this.mBasicAgreement;
|
||||
IBasicAgreement basicAgreement2 = this.mBasicAgreement;
|
||||
int num = 0;
|
||||
if (num < basicAgreement)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (!this.mTruncateAgreement)
|
||||
{
|
||||
IBasicAgreement basicAgreement3 = this.mBasicAgreement;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
byte[] array2;
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x04006005 RID: 24581
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006005")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x04006006 RID: 24582
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006006")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
|
||||
// Token: 0x04006007 RID: 24583
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006007")]
|
||||
protected readonly IBasicAgreement mBasicAgreement;
|
||||
|
||||
// Token: 0x04006008 RID: 24584
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006008")]
|
||||
protected readonly bool mTruncateAgreement;
|
||||
}
|
||||
}
|
||||
+436
@@ -0,0 +1,436 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001539 RID: 5433
|
||||
[Token(Token = "0x2001539")]
|
||||
[StructLayout(3)]
|
||||
public class DefaultTlsCipherFactory : AbstractTlsCipherFactory
|
||||
{
|
||||
// Token: 0x0600907F RID: 36991 RVA: 0x00200788 File Offset: 0x001FE988
|
||||
[Token(Token = "0x600907F")]
|
||||
[Address(RVA = "0x1E79A50", Offset = "0x1E78450", VA = "0x181E79A50", Slot = "5")]
|
||||
public override TlsCipher CreateCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600907F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCipher(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_42:
|
||||
stloc:TlsFatalAlert(var_20_49, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_21)))
|
||||
}
|
||||
|
||||
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: 0x06009080 RID: 36992 RVA: 0x002007E0 File Offset: 0x001FE9E0
|
||||
[Token(Token = "0x6009080")]
|
||||
[Address(RVA = "0x1E79180", Offset = "0x1E77B80", VA = "0x181E79180", Slot = "6")]
|
||||
protected virtual TlsBlockCipher CreateAESCipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateCamelliaEngine();
|
||||
IBlockCipher blockCipher2 = this.CreateCamelliaEngine();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x06009081 RID: 36993 RVA: 0x0020080C File Offset: 0x001FEA0C
|
||||
[Token(Token = "0x6009081")]
|
||||
[Address(RVA = "0x1E79590", Offset = "0x1E77F90", VA = "0x181E79590", Slot = "7")]
|
||||
protected virtual TlsBlockCipher CreateCamelliaCipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Camellia_Gcm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Camellia_Gcm();
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x06009082 RID: 36994 RVA: 0x00200838 File Offset: 0x001FEA38
|
||||
[Token(Token = "0x6009082")]
|
||||
[Address(RVA = "0x1E796E0", Offset = "0x1E780E0", VA = "0x181E796E0", Slot = "8")]
|
||||
protected virtual TlsCipher CreateChaCha20Poly1305(TlsContext context)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009082)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateChaCha20Poly1305(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Chacha20Poly1305(var_0_06, newobj:Chacha20Poly1305(Chacha20Poly1305::.ctor, ldloc:TlsContext(context)))
|
||||
}
|
||||
|
||||
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: 0x06009083 RID: 36995 RVA: 0x0020084C File Offset: 0x001FEA4C
|
||||
[Token(Token = "0x6009083")]
|
||||
[Address(RVA = "0x1E79740", Offset = "0x1E78140", VA = "0x181E79740", Slot = "9")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Ccm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateAesBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateAesBlockCipher();
|
||||
TlsAeadCipher tlsAeadCipher;
|
||||
return tlsAeadCipher;
|
||||
}
|
||||
|
||||
// Token: 0x06009084 RID: 36996 RVA: 0x00200868 File Offset: 0x001FEA68
|
||||
[Token(Token = "0x6009084")]
|
||||
[Address(RVA = "0x1E79800", Offset = "0x1E78200", VA = "0x181E79800", Slot = "10")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Gcm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Ccm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Ccm();
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize);
|
||||
}
|
||||
|
||||
// Token: 0x06009085 RID: 36997 RVA: 0x00200890 File Offset: 0x001FEA90
|
||||
[Token(Token = "0x6009085")]
|
||||
[Address(RVA = "0x1E798C0", Offset = "0x1E782C0", VA = "0x181E798C0", Slot = "11")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Ocb(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Gcm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Gcm();
|
||||
ulong num;
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize, (int)num);
|
||||
}
|
||||
|
||||
// Token: 0x06009086 RID: 36998 RVA: 0x002008B8 File Offset: 0x001FEAB8
|
||||
[Token(Token = "0x6009086")]
|
||||
[Address(RVA = "0x1E79990", Offset = "0x1E78390", VA = "0x181E79990", Slot = "12")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Camellia_Gcm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Ocb();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Ocb();
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize);
|
||||
}
|
||||
|
||||
// Token: 0x06009087 RID: 36999 RVA: 0x002008E0 File Offset: 0x001FEAE0
|
||||
[Token(Token = "0x6009087")]
|
||||
[Address(RVA = "0x1E79E70", Offset = "0x1E78870", VA = "0x181E79E70", Slot = "13")]
|
||||
protected virtual TlsBlockCipher CreateDesEdeCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateCamelliaBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateCamelliaBlockCipher();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x06009088 RID: 37000 RVA: 0x0020090C File Offset: 0x001FEB0C
|
||||
[Token(Token = "0x6009088")]
|
||||
[Address(RVA = "0x1E7A0E0", Offset = "0x1E78AE0", VA = "0x181E7A0E0", Slot = "14")]
|
||||
protected virtual TlsNullCipher CreateNullCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsNullCipher tlsNullCipher;
|
||||
return tlsNullCipher;
|
||||
}
|
||||
|
||||
// Token: 0x06009089 RID: 37001 RVA: 0x00200928 File Offset: 0x001FEB28
|
||||
[Token(Token = "0x6009089")]
|
||||
[Address(RVA = "0x1E7A190", Offset = "0x1E78B90", VA = "0x181E7A190", Slot = "15")]
|
||||
protected virtual TlsStreamCipher CreateRC4Cipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateDesEdeBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateDesEdeBlockCipher();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsStreamCipher tlsStreamCipher;
|
||||
return tlsStreamCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600908A RID: 37002 RVA: 0x00200954 File Offset: 0x001FEB54
|
||||
[Token(Token = "0x600908A")]
|
||||
[Address(RVA = "0x1E7A360", Offset = "0x1E78D60", VA = "0x181E7A360", Slot = "16")]
|
||||
protected virtual TlsBlockCipher CreateSeedCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IStreamCipher streamCipher = this.CreateRC4StreamCipher();
|
||||
IStreamCipher streamCipher2 = this.CreateRC4StreamCipher();
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600908B RID: 37003 RVA: 0x00200980 File Offset: 0x001FEB80
|
||||
[Token(Token = "0x600908B")]
|
||||
[Address(RVA = "0x1E794D0", Offset = "0x1E77ED0", VA = "0x181E794D0", Slot = "17")]
|
||||
protected virtual IBlockCipher CreateAesEngine()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600908B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateAesEngine()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:AesEngine(var_0_05, newobj:AesEngine(AesEngine::.ctor))
|
||||
}
|
||||
|
||||
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: 0x0600908C RID: 37004 RVA: 0x00200994 File Offset: 0x001FEB94
|
||||
[Token(Token = "0x600908C")]
|
||||
[Address(RVA = "0x1E79690", Offset = "0x1E78090", VA = "0x181E79690", Slot = "18")]
|
||||
protected virtual IBlockCipher CreateCamelliaEngine()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600908C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCamelliaEngine()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CamelliaEngine(var_0_05, newobj:CamelliaEngine(CamelliaEngine::.ctor))
|
||||
}
|
||||
|
||||
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: 0x0600908D RID: 37005 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600908D")]
|
||||
[Address(RVA = "0x1E79460", Offset = "0x1E77E60", VA = "0x181E79460", Slot = "19")]
|
||||
protected virtual IBlockCipher CreateAesBlockCipher()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600908E RID: 37006 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600908E")]
|
||||
[Address(RVA = "0x1E79280", Offset = "0x1E77C80", VA = "0x181E79280", Slot = "20")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Ccm()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600908F RID: 37007 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600908F")]
|
||||
[Address(RVA = "0x1E792F0", Offset = "0x1E77CF0", VA = "0x181E792F0", Slot = "21")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Gcm()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009090 RID: 37008 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009090")]
|
||||
[Address(RVA = "0x1E79360", Offset = "0x1E77D60", VA = "0x181E79360", Slot = "22")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Ocb()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009091 RID: 37009 RVA: 0x002009A8 File Offset: 0x001FEBA8
|
||||
[Token(Token = "0x6009091")]
|
||||
[Address(RVA = "0x1E793F0", Offset = "0x1E77DF0", VA = "0x181E793F0", Slot = "23")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Camellia_Gcm()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009091)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateAeadBlockCipher_Camellia_Gcm()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:GcmBlockCipher(var_0_0B, newobj:GcmBlockCipher(GcmBlockCipher::.ctor, callvirt:IBlockCipher(DefaultTlsCipherFactory::CreateAesEngine, ldloc:DefaultTlsCipherFactory(this))))
|
||||
}
|
||||
|
||||
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: 0x06009092 RID: 37010 RVA: 0x002009C0 File Offset: 0x001FEBC0
|
||||
[Token(Token = "0x6009092")]
|
||||
[Address(RVA = "0x1E79520", Offset = "0x1E77F20", VA = "0x181E79520", Slot = "24")]
|
||||
protected virtual IBlockCipher CreateCamelliaBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009092)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCamelliaBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0B, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, callvirt:IBlockCipher(DefaultTlsCipherFactory::CreateAesEngine, ldloc:DefaultTlsCipherFactory(this))))
|
||||
}
|
||||
|
||||
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: 0x06009093 RID: 37011 RVA: 0x002009D8 File Offset: 0x001FEBD8
|
||||
[Token(Token = "0x6009093")]
|
||||
[Address(RVA = "0x1E79E00", Offset = "0x1E78800", VA = "0x181E79E00", Slot = "25")]
|
||||
protected virtual IBlockCipher CreateDesEdeBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009093)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateDesEdeBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0A, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, newobj:DesEdeEngine[exp:IBlockCipher](DesEdeEngine::.ctor)))
|
||||
}
|
||||
|
||||
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: 0x06009094 RID: 37012 RVA: 0x002009F0 File Offset: 0x001FEBF0
|
||||
[Token(Token = "0x6009094")]
|
||||
[Address(RVA = "0x1E7A2A0", Offset = "0x1E78CA0", VA = "0x181E7A2A0", Slot = "26")]
|
||||
protected virtual IStreamCipher CreateRC4StreamCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009094)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IStreamCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateRC4StreamCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RC4Engine(var_0_05, newobj:RC4Engine(RC4Engine::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06009095 RID: 37013 RVA: 0x00200A04 File Offset: 0x001FEC04
|
||||
[Token(Token = "0x6009095")]
|
||||
[Address(RVA = "0x1E7A2F0", Offset = "0x1E78CF0", VA = "0x181E7A2F0", Slot = "27")]
|
||||
protected virtual IBlockCipher CreateSeedBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009095)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateSeedBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0A, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, newobj:SeedEngine[exp:IBlockCipher](SeedEngine::.ctor)))
|
||||
}
|
||||
|
||||
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: 0x06009096 RID: 37014 RVA: 0x00200A1C File Offset: 0x001FEC1C
|
||||
[Token(Token = "0x6009096")]
|
||||
[Address(RVA = "0x1E79F70", Offset = "0x1E78970", VA = "0x181E79F70", Slot = "28")]
|
||||
protected virtual IDigest CreateHMacDigest(int macAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009096)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateHMacDigest(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2B:
|
||||
stloc:TlsFatalAlert(var_6_32, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_7)))
|
||||
}
|
||||
|
||||
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: 0x06009097 RID: 37015 RVA: 0x00200A5C File Offset: 0x001FEC5C
|
||||
[Token(Token = "0x6009097")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
public DefaultTlsCipherFactory()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+237
@@ -0,0 +1,237 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200153A RID: 5434
|
||||
[Token(Token = "0x200153A")]
|
||||
[StructLayout(3)]
|
||||
public abstract class DefaultTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x06009098 RID: 37016 RVA: 0x00200A70 File Offset: 0x001FEC70
|
||||
[Token(Token = "0x6009098")]
|
||||
[Address(RVA = "0x1E7AA10", Offset = "0x1E79410", VA = "0x181E7AA10")]
|
||||
public DefaultTlsClient()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
int defaultMinimumPrimeBits = DefaultTlsDHVerifier.DefaultMinimumPrimeBits;
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
defaultTlsDHVerifier.mGroups = defaultGroups;
|
||||
defaultTlsDHVerifier.mMinimumPrimeBits = defaultMinimumPrimeBits;
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x06009099 RID: 37017 RVA: 0x00200AB4 File Offset: 0x001FECB4
|
||||
[Token(Token = "0x6009099")]
|
||||
[Address(RVA = "0x1E7A8F0", Offset = "0x1E792F0", VA = "0x181E7A8F0")]
|
||||
public DefaultTlsClient(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
int defaultMinimumPrimeBits = DefaultTlsDHVerifier.DefaultMinimumPrimeBits;
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
defaultTlsDHVerifier.mGroups = defaultGroups;
|
||||
defaultTlsDHVerifier.mMinimumPrimeBits = defaultMinimumPrimeBits;
|
||||
base..ctor(cipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600909A RID: 37018 RVA: 0x00200AF0 File Offset: 0x001FECF0
|
||||
[Token(Token = "0x600909A")]
|
||||
[Address(RVA = "0x1E7AB60", Offset = "0x1E79560", VA = "0x181E7AB60")]
|
||||
public DefaultTlsClient(TlsCipherFactory cipherFactory, TlsDHVerifier dhVerifier)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mDHVerifier = dhVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600909B RID: 37019 RVA: 0x00200B0C File Offset: 0x001FED0C
|
||||
[Token(Token = "0x600909B")]
|
||||
[Address(RVA = "0x1E7A700", Offset = "0x1E79100", VA = "0x181E7A700", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[9];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.D1C2E1F681ED98C3A518F7C96A5D5C6FC0E3F608).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600909C RID: 37020 RVA: 0x00200B30 File Offset: 0x001FED30
|
||||
[Token(Token = "0x600909C")]
|
||||
[Address(RVA = "0x1E7A750", Offset = "0x1E79150", VA = "0x181E7A750", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600909C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E:
|
||||
stloc:TlsFatalAlert(var_4_25, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_5)))
|
||||
}
|
||||
|
||||
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: 0x0600909D RID: 37021 RVA: 0x00200B64 File Offset: 0x001FED64
|
||||
[Token(Token = "0x600909D")]
|
||||
[Address(RVA = "0x1E7A460", Offset = "0x1E78E60", VA = "0x181E7A460", Slot = "61")]
|
||||
protected virtual TlsKeyExchange CreateDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600909D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsDHVerifier(var_1_0D, ldfld:TlsDHVerifier(DefaultTlsClient::mDHVerifier, ldloc:DefaultTlsClient(this)))
|
||||
stloc:TlsDHKeyExchange(var_2_17, newobj:TlsDHKeyExchange(TlsDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsDHVerifier(var_1_0D), ldloc:int32[exp:DHParameters](var_3)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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: 0x0600909E RID: 37022 RVA: 0x00200B8C File Offset: 0x001FED8C
|
||||
[Token(Token = "0x600909E")]
|
||||
[Address(RVA = "0x1E7A4E0", Offset = "0x1E78EE0", VA = "0x181E7A4E0", Slot = "62")]
|
||||
protected virtual TlsKeyExchange CreateDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600909E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsDHVerifier(var_1_0D, ldfld:TlsDHVerifier(DefaultTlsClient::mDHVerifier, ldloc:DefaultTlsClient(this)))
|
||||
stloc:TlsDheKeyExchange(var_2_17, newobj:TlsDheKeyExchange(TlsDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsDHVerifier(var_1_0D), ldloc:int32[exp:DHParameters](var_3)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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: 0x0600909F RID: 37023 RVA: 0x00200BB4 File Offset: 0x001FEDB4
|
||||
[Token(Token = "0x600909F")]
|
||||
[Address(RVA = "0x1E7A560", Offset = "0x1E78F60", VA = "0x181E7A560", Slot = "63")]
|
||||
protected virtual TlsKeyExchange CreateECDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600909F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateECDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsECDHKeyExchange(var_4_26, newobj:TlsECDHKeyExchange(TlsECDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x060090A0 RID: 37024 RVA: 0x00200BE8 File Offset: 0x001FEDE8
|
||||
[Token(Token = "0x60090A0")]
|
||||
[Address(RVA = "0x1E7A600", Offset = "0x1E79000", VA = "0x181E7A600", Slot = "64")]
|
||||
protected virtual TlsKeyExchange CreateECDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090A0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateECDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsECDheKeyExchange(var_4_26, newobj:TlsECDheKeyExchange(TlsECDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x060090A1 RID: 37025 RVA: 0x00200C1C File Offset: 0x001FEE1C
|
||||
[Token(Token = "0x60090A1")]
|
||||
[Address(RVA = "0x1E7A6A0", Offset = "0x1E790A0", VA = "0x181E7A6A0", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreateRsaKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090A1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateRsaKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsRsaKeyExchange(var_0_0B, newobj:TlsRsaKeyExchange(TlsRsaKeyExchange::.ctor, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this))))
|
||||
}
|
||||
|
||||
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: 0x04006009 RID: 24585
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006009")]
|
||||
protected TlsDHVerifier mDHVerifier;
|
||||
}
|
||||
}
|
||||
+195
@@ -0,0 +1,195 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200153B RID: 5435
|
||||
[Token(Token = "0x200153B")]
|
||||
[StructLayout(3)]
|
||||
public class DefaultTlsDHVerifier : TlsDHVerifier
|
||||
{
|
||||
// Token: 0x060090A2 RID: 37026 RVA: 0x00200C34 File Offset: 0x001FEE34
|
||||
[Token(Token = "0x60090A2")]
|
||||
[Address(RVA = "0x1E7ABE0", Offset = "0x1E795E0", VA = "0x181E7ABE0")]
|
||||
private static void AddDefaultGroup(DHParameters dhParameters)
|
||||
{
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090A3 RID: 37027 RVA: 0x00200C4C File Offset: 0x001FEE4C
|
||||
[Token(Token = "0x60090A3")]
|
||||
[Address(RVA = "0x1E7AF80", Offset = "0x1E79980", VA = "0x181E7AF80")]
|
||||
static DefaultTlsDHVerifier()
|
||||
{
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe2048);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe3072);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe4096);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe6144);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe8192);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_1536);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_2048);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_3072);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_4096);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_6144);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_8192);
|
||||
}
|
||||
|
||||
// Token: 0x060090A4 RID: 37028 RVA: 0x00200CD4 File Offset: 0x001FEED4
|
||||
[Token(Token = "0x60090A4")]
|
||||
[Address(RVA = "0x1E7B1D0", Offset = "0x1E79BD0", VA = "0x181E7B1D0")]
|
||||
public DefaultTlsDHVerifier()
|
||||
{
|
||||
int defaultMinimumPrimeBits = DefaultTlsDHVerifier.DefaultMinimumPrimeBits;
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
base..ctor();
|
||||
this.mGroups = defaultGroups;
|
||||
this.mMinimumPrimeBits = defaultMinimumPrimeBits;
|
||||
}
|
||||
|
||||
// Token: 0x060090A5 RID: 37029 RVA: 0x00200D04 File Offset: 0x001FEF04
|
||||
[Token(Token = "0x60090A5")]
|
||||
[Address(RVA = "0x1E7B140", Offset = "0x1E79B40", VA = "0x181E7B140")]
|
||||
public DefaultTlsDHVerifier(int minimumPrimeBits)
|
||||
{
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
base..ctor();
|
||||
this.mGroups = defaultGroups;
|
||||
this.mMinimumPrimeBits = minimumPrimeBits;
|
||||
}
|
||||
|
||||
// Token: 0x060090A6 RID: 37030 RVA: 0x00200D2C File Offset: 0x001FEF2C
|
||||
[Token(Token = "0x60090A6")]
|
||||
[Address(RVA = "0x67E170", Offset = "0x67CB70", VA = "0x18067E170")]
|
||||
public DefaultTlsDHVerifier(IList groups, int minimumPrimeBits)
|
||||
{
|
||||
this.mGroups = groups;
|
||||
this.mMinimumPrimeBits = minimumPrimeBits;
|
||||
}
|
||||
|
||||
// Token: 0x060090A7 RID: 37031 RVA: 0x00200D50 File Offset: 0x001FEF50
|
||||
[Token(Token = "0x60090A7")]
|
||||
[Address(RVA = "0x1E7AB90", Offset = "0x1E79590", VA = "0x181E7AB90", Slot = "5")]
|
||||
public virtual bool Accept(DHParameters dhParameters)
|
||||
{
|
||||
bool flag = this.CheckGroup(dhParameters);
|
||||
if (!flag)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
return ((TlsDHVerifier)this).Accept(dhParameters);
|
||||
}
|
||||
|
||||
// Token: 0x17001758 RID: 5976
|
||||
// (get) Token: 0x060090A8 RID: 37032 RVA: 0x00200D74 File Offset: 0x001FEF74
|
||||
[Token(Token = "0x17001758")]
|
||||
public virtual int MinimumPrimeBits
|
||||
{
|
||||
[Token(Token = "0x60090A8")]
|
||||
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mMinimumPrimeBits;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060090A9 RID: 37033 RVA: 0x00200D88 File Offset: 0x001FEF88
|
||||
[Token(Token = "0x60090A9")]
|
||||
[Address(RVA = "0x1E7AC60", Offset = "0x1E79660", VA = "0x181E7AC60", Slot = "7")]
|
||||
protected virtual bool AreGroupsEqual(DHParameters a, DHParameters b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x060090AA RID: 37034 RVA: 0x00200DA8 File Offset: 0x001FEFA8
|
||||
[Token(Token = "0x60090AA")]
|
||||
[Address(RVA = "0x1E7AD00", Offset = "0x1E79700", VA = "0x181E7AD00", Slot = "8")]
|
||||
protected virtual bool AreParametersEqual(BigInteger a, BigInteger b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090AB RID: 37035 RVA: 0x00200DC0 File Offset: 0x001FEFC0
|
||||
[Token(Token = "0x60090AB")]
|
||||
[Address(RVA = "0x1E7AD40", Offset = "0x1E79740", VA = "0x181E7AD40", Slot = "9")]
|
||||
protected virtual bool CheckGroup(DHParameters dhParameters)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
IList list = this.mGroups;
|
||||
int minimumPrimeBits = this.MinimumPrimeBits;
|
||||
while (minimumPrimeBits == 0)
|
||||
{
|
||||
}
|
||||
if (minimumPrimeBits != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
if (typeof(IDisposable).TypeHandle == (ulong)69L)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (typeof(IDisposable).TypeHandle == (ulong)67L)
|
||||
{
|
||||
goto IL_3A;
|
||||
}
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_3A;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
IL_3A:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090AC RID: 37036 RVA: 0x00200E14 File Offset: 0x001FF014
|
||||
[Token(Token = "0x60090AC")]
|
||||
[Address(RVA = "0x1E7AF30", Offset = "0x1E79930", VA = "0x181E7AF30", Slot = "10")]
|
||||
protected virtual bool CheckMinimumPrimeBits(DHParameters dhParameters)
|
||||
{
|
||||
bool flag;
|
||||
return dhParameters.p.BitLength >= (flag ? 1 : 0);
|
||||
}
|
||||
|
||||
// Token: 0x0400600A RID: 24586
|
||||
[Token(Token = "0x400600A")]
|
||||
public static readonly int DefaultMinimumPrimeBits;
|
||||
|
||||
// Token: 0x0400600B RID: 24587
|
||||
[Token(Token = "0x400600B")]
|
||||
protected static readonly IList DefaultGroups = Platform.CreateArrayList();
|
||||
|
||||
// Token: 0x0400600C RID: 24588
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400600C")]
|
||||
protected readonly IList mGroups;
|
||||
|
||||
// Token: 0x0400600D RID: 24589
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400600D")]
|
||||
protected readonly int mMinimumPrimeBits;
|
||||
}
|
||||
}
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200153C RID: 5436
|
||||
[Token(Token = "0x200153C")]
|
||||
[StructLayout(3)]
|
||||
public class DefaultTlsEncryptionCredentials : AbstractTlsEncryptionCredentials
|
||||
{
|
||||
// Token: 0x060090AD RID: 37037 RVA: 0x00200E38 File Offset: 0x001FF038
|
||||
[Token(Token = "0x60090AD")]
|
||||
[Address(RVA = "0x1E7B340", Offset = "0x1E79D40", VA = "0x181E7B340")]
|
||||
public DefaultTlsEncryptionCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090AD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsEncryptionCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3C:
|
||||
stloc:string(var_1_4B, call:string(Platform::GetTypeName, newobj:ArgumentNullException[exp:object](ArgumentNullException::.ctor, ldstr:string("certificate"))))
|
||||
stloc:ArgumentException(var_2_61, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_1_4B)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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: 0x17001759 RID: 5977
|
||||
// (get) Token: 0x060090AE RID: 37038 RVA: 0x00200EA8 File Offset: 0x001FF0A8
|
||||
[Token(Token = "0x17001759")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x60090AE")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060090AF RID: 37039 RVA: 0x00200EBC File Offset: 0x001FF0BC
|
||||
[Token(Token = "0x60090AF")]
|
||||
[Address(RVA = "0x1E7B2A0", Offset = "0x1E79CA0", VA = "0x181E7B2A0", Slot = "7")]
|
||||
public override byte[] DecryptPreMasterSecret(byte[] encryptedPreMasterSecret)
|
||||
{
|
||||
AsymmetricKeyParameter asymmetricKeyParameter;
|
||||
do
|
||||
{
|
||||
asymmetricKeyParameter = this.mPrivateKey;
|
||||
if (asymmetricKeyParameter == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (asymmetricKeyParameter == 0);
|
||||
TlsContext tlsContext = this.mContext;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0400600E RID: 24590
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400600E")]
|
||||
protected readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x0400600F RID: 24591
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400600F")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x04006010 RID: 24592
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006010")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
}
|
||||
}
|
||||
+273
@@ -0,0 +1,273 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200153D RID: 5437
|
||||
[Token(Token = "0x200153D")]
|
||||
[StructLayout(3)]
|
||||
public abstract class DefaultTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x060090B0 RID: 37040 RVA: 0x00200EE4 File Offset: 0x001FF0E4
|
||||
[Token(Token = "0x60090B0")]
|
||||
[Address(RVA = "0x1E73300", Offset = "0x1E71D00", VA = "0x181E73300")]
|
||||
public DefaultTlsServer()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor();
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x060090B1 RID: 37041 RVA: 0x00200F04 File Offset: 0x001FF104
|
||||
[Token(Token = "0x60090B1")]
|
||||
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
|
||||
public DefaultTlsServer(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x060090B2 RID: 37042 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x60090B2")]
|
||||
[Address(RVA = "0x1E7BA10", Offset = "0x1E7A410", VA = "0x181E7BA10", Slot = "63")]
|
||||
protected virtual TlsSignerCredentials GetDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x060090B3 RID: 37043 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x60090B3")]
|
||||
[Address(RVA = "0x1E7BA60", Offset = "0x1E7A460", VA = "0x181E7BA60", Slot = "64")]
|
||||
protected virtual TlsSignerCredentials GetECDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x060090B4 RID: 37044 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x60090B4")]
|
||||
[Address(RVA = "0x1E7BC50", Offset = "0x1E7A650", VA = "0x181E7BC50", Slot = "65")]
|
||||
protected virtual TlsEncryptionCredentials GetRsaEncryptionCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x060090B5 RID: 37045 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x60090B5")]
|
||||
[Address(RVA = "0x1E7BCA0", Offset = "0x1E7A6A0", VA = "0x181E7BCA0", Slot = "66")]
|
||||
protected virtual TlsSignerCredentials GetRsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x060090B6 RID: 37046 RVA: 0x00200F20 File Offset: 0x001FF120
|
||||
[Token(Token = "0x60090B6")]
|
||||
[Address(RVA = "0x1E7B9B0", Offset = "0x1E7A3B0", VA = "0x181E7B9B0", Slot = "67")]
|
||||
protected virtual DHParameters GetDHParameters()
|
||||
{
|
||||
return DHStandardGroups.rfc7919_ffdhe2048;
|
||||
}
|
||||
|
||||
// Token: 0x060090B7 RID: 37047 RVA: 0x00200F34 File Offset: 0x001FF134
|
||||
[Token(Token = "0x60090B7")]
|
||||
[Address(RVA = "0x1E7B810", Offset = "0x1E7A210", VA = "0x181E7B810", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[18];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6C59E372F66FEFCF8A0CEFB4163EF666FC7A8DF7).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x060090B8 RID: 37048 RVA: 0x00200F58 File Offset: 0x001FF158
|
||||
[Token(Token = "0x60090B8")]
|
||||
[Address(RVA = "0x1E7B860", Offset = "0x1E7A260", VA = "0x181E7B860", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090B8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCredentials BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::GetCredentials()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5D:
|
||||
stloc:TlsFatalAlert(var_8_64, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_9)))
|
||||
}
|
||||
|
||||
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: 0x060090B9 RID: 37049 RVA: 0x00200FCC File Offset: 0x001FF1CC
|
||||
[Token(Token = "0x60090B9")]
|
||||
[Address(RVA = "0x1E7BAB0", Offset = "0x1E7A4B0", VA = "0x181E7BAB0", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090B9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E:
|
||||
stloc:TlsFatalAlert(var_4_25, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_5)))
|
||||
}
|
||||
|
||||
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: 0x060090BA RID: 37050 RVA: 0x00201000 File Offset: 0x001FF200
|
||||
[Token(Token = "0x60090BA")]
|
||||
[Address(RVA = "0x1E7B530", Offset = "0x1E79F30", VA = "0x181E7B530", Slot = "68")]
|
||||
protected virtual TlsKeyExchange CreateDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090BA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsSignerCredentials(var_0_06, callvirt:TlsSignerCredentials(DefaultTlsServer::GetRsaSignerCredentials, ldloc:DefaultTlsServer(this)))
|
||||
}
|
||||
|
||||
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: 0x060090BB RID: 37051 RVA: 0x00201014 File Offset: 0x001FF214
|
||||
[Token(Token = "0x60090BB")]
|
||||
[Address(RVA = "0x1E7B5D0", Offset = "0x1E79FD0", VA = "0x181E7B5D0", Slot = "69")]
|
||||
protected virtual TlsKeyExchange CreateDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090BB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsSignerCredentials(var_0_06, callvirt:TlsSignerCredentials(DefaultTlsServer::GetRsaSignerCredentials, ldloc:DefaultTlsServer(this)))
|
||||
}
|
||||
|
||||
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: 0x060090BC RID: 37052 RVA: 0x00201028 File Offset: 0x001FF228
|
||||
[Token(Token = "0x60090BC")]
|
||||
[Address(RVA = "0x1E7B670", Offset = "0x1E7A070", VA = "0x181E7B670", Slot = "70")]
|
||||
protected virtual TlsKeyExchange CreateECDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090BC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateECDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:TlsECDHKeyExchange(var_4_26, newobj:TlsECDHKeyExchange(TlsECDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x060090BD RID: 37053 RVA: 0x0020105C File Offset: 0x001FF25C
|
||||
[Token(Token = "0x60090BD")]
|
||||
[Address(RVA = "0x1E7B710", Offset = "0x1E7A110", VA = "0x181E7B710", Slot = "71")]
|
||||
protected virtual TlsKeyExchange CreateECDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090BD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateECDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:TlsECDheKeyExchange(var_4_26, newobj:TlsECDheKeyExchange(TlsECDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x060090BE RID: 37054 RVA: 0x00201090 File Offset: 0x001FF290
|
||||
[Token(Token = "0x60090BE")]
|
||||
[Address(RVA = "0x1E7B7B0", Offset = "0x1E7A1B0", VA = "0x181E7B7B0", Slot = "72")]
|
||||
protected virtual TlsKeyExchange CreateRsaKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090BE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateRsaKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsRsaKeyExchange(var_0_0B, newobj:TlsRsaKeyExchange(TlsRsaKeyExchange::.ctor, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this))))
|
||||
}
|
||||
|
||||
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
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200153E RID: 5438
|
||||
[Token(Token = "0x200153E")]
|
||||
[StructLayout(3)]
|
||||
public class DefaultTlsSignerCredentials : AbstractTlsSignerCredentials
|
||||
{
|
||||
// Token: 0x060090BF RID: 37055 RVA: 0x002010A8 File Offset: 0x001FF2A8
|
||||
[Token(Token = "0x60090BF")]
|
||||
[Address(RVA = "0x1E7BEE0", Offset = "0x1E7A8E0", VA = "0x181E7BEE0")]
|
||||
public DefaultTlsSignerCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x060090C0 RID: 37056 RVA: 0x002010B8 File Offset: 0x001FF2B8
|
||||
[Token(Token = "0x60090C0")]
|
||||
[Address(RVA = "0x1E7BF00", Offset = "0x1E7A900", VA = "0x181E7BF00")]
|
||||
public DefaultTlsSignerCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey, SignatureAndHashAlgorithm signatureAndHashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090C0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsSignerCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_8E:
|
||||
stloc:string(var_7_94, call:string(Platform::GetTypeName, ldloc:AsymmetricKeyParameter[exp:object](privateKey)))
|
||||
stloc:ArgumentException(var_8_AC, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_7_94)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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: 0x1700175A RID: 5978
|
||||
// (get) Token: 0x060090C1 RID: 37057 RVA: 0x00201174 File Offset: 0x001FF374
|
||||
[Token(Token = "0x1700175A")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x60090C1")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060090C2 RID: 37058 RVA: 0x00201188 File Offset: 0x001FF388
|
||||
[Token(Token = "0x60090C2")]
|
||||
[Address(RVA = "0x1E7BCF0", Offset = "0x1E7A6F0", VA = "0x181E7BCF0", Slot = "8")]
|
||||
public override byte[] GenerateCertificateSignature(byte[] hash)
|
||||
{
|
||||
bool flag = TlsUtilities.IsTlsV12(this.mContext);
|
||||
TlsSigner tlsSigner = this.mSigner;
|
||||
if (!flag)
|
||||
{
|
||||
AsymmetricKeyParameter asymmetricKeyParameter = this.mPrivateKey;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
asymmetricKeyParameter += asymmetricKeyParameter;
|
||||
}
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = this.mSignatureAndHashAlgorithm;
|
||||
int num2 = 0;
|
||||
num2 += num2;
|
||||
num2++;
|
||||
signatureAndHashAlgorithm += signatureAndHashAlgorithm;
|
||||
num2 += 2;
|
||||
num2 += 19;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x1700175B RID: 5979
|
||||
// (get) Token: 0x060090C3 RID: 37059 RVA: 0x002011F8 File Offset: 0x001FF3F8
|
||||
[Token(Token = "0x1700175B")]
|
||||
public override SignatureAndHashAlgorithm SignatureAndHashAlgorithm
|
||||
{
|
||||
[Token(Token = "0x60090C3")]
|
||||
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return this.mSignatureAndHashAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006011 RID: 24593
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006011")]
|
||||
protected readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x04006012 RID: 24594
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006012")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x04006013 RID: 24595
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006013")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
|
||||
// Token: 0x04006014 RID: 24596
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006014")]
|
||||
protected readonly SignatureAndHashAlgorithm mSignatureAndHashAlgorithm;
|
||||
|
||||
// Token: 0x04006015 RID: 24597
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006015")]
|
||||
protected readonly TlsSigner mSigner;
|
||||
}
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200153F RID: 5439
|
||||
[Token(Token = "0x200153F")]
|
||||
[StructLayout(3)]
|
||||
public class DefaultTlsSrpGroupVerifier : TlsSrpGroupVerifier
|
||||
{
|
||||
// Token: 0x060090C4 RID: 37060 RVA: 0x0020120C File Offset: 0x001FF40C
|
||||
[Token(Token = "0x60090C4")]
|
||||
[Address(RVA = "0x1E7C470", Offset = "0x1E7AE70", VA = "0x181E7C470")]
|
||||
static DefaultTlsSrpGroupVerifier()
|
||||
{
|
||||
IList defaultGroups = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups2 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups3 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups4 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups5 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups6 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups7 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090C5 RID: 37061 RVA: 0x00201258 File Offset: 0x001FF458
|
||||
[Token(Token = "0x60090C5")]
|
||||
[Address(RVA = "0x1E7C6A0", Offset = "0x1E7B0A0", VA = "0x181E7C6A0")]
|
||||
public DefaultTlsSrpGroupVerifier()
|
||||
{
|
||||
IList defaultGroups = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
base..ctor();
|
||||
this.mGroups = defaultGroups;
|
||||
}
|
||||
|
||||
// Token: 0x060090C6 RID: 37062 RVA: 0x00201278 File Offset: 0x001FF478
|
||||
[Token(Token = "0x60090C6")]
|
||||
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
|
||||
public DefaultTlsSrpGroupVerifier(IList groups)
|
||||
{
|
||||
this.mGroups = groups;
|
||||
}
|
||||
|
||||
// Token: 0x060090C7 RID: 37063 RVA: 0x00201294 File Offset: 0x001FF494
|
||||
[Token(Token = "0x60090C7")]
|
||||
[Address(RVA = "0x1E7C220", Offset = "0x1E7AC20", VA = "0x181E7C220", Slot = "5")]
|
||||
public virtual bool Accept(Srp6GroupParameters group)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
IList list = this.mGroups;
|
||||
bool flag = this.Accept(group);
|
||||
while (!flag)
|
||||
{
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
if (typeof(IDisposable).TypeHandle == (ulong)69L)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (typeof(IDisposable).TypeHandle == (ulong)67L)
|
||||
{
|
||||
goto IL_39;
|
||||
}
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_39;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
IL_39:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090C8 RID: 37064 RVA: 0x002012E8 File Offset: 0x001FF4E8
|
||||
[Token(Token = "0x60090C8")]
|
||||
[Address(RVA = "0x1E7C3D0", Offset = "0x1E7ADD0", VA = "0x181E7C3D0", Slot = "6")]
|
||||
protected virtual bool AreGroupsEqual(Srp6GroupParameters a, Srp6GroupParameters b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x060090C9 RID: 37065 RVA: 0x00201308 File Offset: 0x001FF508
|
||||
[Token(Token = "0x60090C9")]
|
||||
[Address(RVA = "0x1E7AD00", Offset = "0x1E79700", VA = "0x181E7AD00", Slot = "7")]
|
||||
protected virtual bool AreParametersEqual(BigInteger a, BigInteger b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006016 RID: 24598
|
||||
[Token(Token = "0x4006016")]
|
||||
protected static readonly IList DefaultGroups = Platform.CreateArrayList();
|
||||
|
||||
// Token: 0x04006017 RID: 24599
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006017")]
|
||||
protected readonly IList mGroups;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,451 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001540 RID: 5440
|
||||
[Token(Token = "0x2001540")]
|
||||
[StructLayout(3)]
|
||||
internal class DeferredHash : TlsHandshakeHash, IDigest
|
||||
{
|
||||
// Token: 0x060090CA RID: 37066 RVA: 0x00201320 File Offset: 0x001FF520
|
||||
[Token(Token = "0x60090CA")]
|
||||
[Address(RVA = "0x1E7DC50", Offset = "0x1E7C650", VA = "0x181E7DC50")]
|
||||
internal DeferredHash()
|
||||
{
|
||||
DigestInputBuffer digestInputBuffer = new DigestInputBuffer();
|
||||
this.mBuf = digestInputBuffer;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mHashes = dictionary;
|
||||
this.mPrfHashAlgorithm = (int)((ulong)4294967295L);
|
||||
}
|
||||
|
||||
// Token: 0x060090CB RID: 37067 RVA: 0x00201360 File Offset: 0x001FF560
|
||||
[Token(Token = "0x60090CB")]
|
||||
[Address(RVA = "0x1E7DB80", Offset = "0x1E7C580", VA = "0x181E7DB80")]
|
||||
private DeferredHash(byte prfHashAlgorithm, IDigest prfHash)
|
||||
{
|
||||
this.mBuf = (ulong)0L;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mHashes = dictionary;
|
||||
this.mPrfHashAlgorithm = (int)prfHashAlgorithm;
|
||||
}
|
||||
|
||||
// Token: 0x060090CC RID: 37068 RVA: 0x00201398 File Offset: 0x001FF598
|
||||
[Token(Token = "0x60090CC")]
|
||||
[Address(RVA = "0x3C39B0", Offset = "0x3C23B0", VA = "0x1803C39B0", Slot = "18")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x060090CD RID: 37069 RVA: 0x002013AC File Offset: 0x001FF5AC
|
||||
[Token(Token = "0x60090CD")]
|
||||
[Address(RVA = "0x1E7D210", Offset = "0x1E7BC10", VA = "0x181E7D210", 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: 0x060090CE RID: 37070 RVA: 0x00201404 File Offset: 0x001FF604
|
||||
[Token(Token = "0x60090CE")]
|
||||
[Address(RVA = "0x1E7D820", Offset = "0x1E7C220", VA = "0x181E7D820", Slot = "20")]
|
||||
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090CE)
|
||||
|
||||
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: 0x060090CF RID: 37071 RVA: 0x00201430 File Offset: 0x001FF630
|
||||
[Token(Token = "0x60090CF")]
|
||||
[Address(RVA = "0x1E7D640", Offset = "0x1E7C040", VA = "0x181E7D640", Slot = "21")]
|
||||
public virtual void SealHashAlgorithms()
|
||||
{
|
||||
string algorithmName = ((IDigest)this).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x060090D0 RID: 37072 RVA: 0x00201444 File Offset: 0x001FF644
|
||||
[Token(Token = "0x60090D0")]
|
||||
[Address(RVA = "0x1E7D660", Offset = "0x1E7C060", VA = "0x181E7D660", 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: 0x060090D1 RID: 37073 RVA: 0x002014A8 File Offset: 0x001FF6A8
|
||||
[Token(Token = "0x60090D1")]
|
||||
[Address(RVA = "0x1E7CE70", Offset = "0x1E7B870", VA = "0x181E7CE70", 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: 0x060090D2 RID: 37074 RVA: 0x002014F0 File Offset: 0x001FF6F0
|
||||
[Token(Token = "0x60090D2")]
|
||||
[Address(RVA = "0x1E7D090", Offset = "0x1E7BA90", VA = "0x181E7D090", 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: 0x1700175C RID: 5980
|
||||
// (get) Token: 0x060090D3 RID: 37075 RVA: 0x00201540 File Offset: 0x001FF740
|
||||
[Token(Token = "0x1700175C")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x60090D3")]
|
||||
[Address(RVA = "0x1E7DCE0", Offset = "0x1E7C6E0", VA = "0x181E7DCE0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090D3)
|
||||
|
||||
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: 0x060090D4 RID: 37076 RVA: 0x00201558 File Offset: 0x001FF758
|
||||
[Token(Token = "0x60090D4")]
|
||||
[Address(RVA = "0x1E7CFD0", Offset = "0x1E7B9D0", VA = "0x181E7CFD0", Slot = "26")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090D4)
|
||||
|
||||
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: 0x060090D5 RID: 37077 RVA: 0x00201570 File Offset: 0x001FF770
|
||||
[Token(Token = "0x60090D5")]
|
||||
[Address(RVA = "0x1E7D030", Offset = "0x1E7BA30", VA = "0x181E7D030", Slot = "27")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090D5)
|
||||
|
||||
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: 0x060090D6 RID: 37078 RVA: 0x00201588 File Offset: 0x001FF788
|
||||
[Token(Token = "0x60090D6")]
|
||||
[Address(RVA = "0x1E7D8B0", Offset = "0x1E7C2B0", VA = "0x181E7D8B0", 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++;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
num += 19;
|
||||
num += 3;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x060090D7 RID: 37079 RVA: 0x002015E8 File Offset: 0x001FF7E8
|
||||
[Token(Token = "0x60090D7")]
|
||||
[Address(RVA = "0x1E7C720", Offset = "0x1E7B120", VA = "0x181E7C720", 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)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
int num3 = digestInputBuffer.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x060090D8 RID: 37080 RVA: 0x00201650 File Offset: 0x001FF850
|
||||
[Token(Token = "0x60090D8")]
|
||||
[Address(RVA = "0x1E7CE10", Offset = "0x1E7B810", VA = "0x181E7CE10", Slot = "30")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090D8)
|
||||
|
||||
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: 0x060090D9 RID: 37081 RVA: 0x00201668 File Offset: 0x001FF868
|
||||
[Token(Token = "0x60090D9")]
|
||||
[Address(RVA = "0x1E7D390", Offset = "0x1E7BD90", VA = "0x181E7D390", Slot = "31")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (this.mBuf != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
num += 19;
|
||||
num += 6;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x060090DA RID: 37082 RVA: 0x002016C8 File Offset: 0x001FF8C8
|
||||
[Token(Token = "0x60090DA")]
|
||||
[Address(RVA = "0x1E7CA10", Offset = "0x1E7B410", VA = "0x181E7CA10", 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;
|
||||
num2 = 0;
|
||||
if (digStream != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
this.mBuf = num2;
|
||||
}
|
||||
|
||||
// Token: 0x060090DB RID: 37083 RVA: 0x00201730 File Offset: 0x001FF930
|
||||
[Token(Token = "0x60090DB")]
|
||||
[Address(RVA = "0x1E7CCB0", Offset = "0x1E7B6B0", VA = "0x181E7CCB0", 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: 0x04006018 RID: 24600
|
||||
[Token(Token = "0x4006018")]
|
||||
protected const int BUFFERING_HASH_LIMIT = 4;
|
||||
|
||||
// Token: 0x04006019 RID: 24601
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006019")]
|
||||
protected TlsContext mContext;
|
||||
|
||||
// Token: 0x0400601A RID: 24602
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400601A")]
|
||||
private DigestInputBuffer mBuf;
|
||||
|
||||
// Token: 0x0400601B RID: 24603
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400601B")]
|
||||
private IDictionary mHashes;
|
||||
|
||||
// Token: 0x0400601C RID: 24604
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400601C")]
|
||||
private int mPrfHashAlgorithm;
|
||||
}
|
||||
}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001541 RID: 5441
|
||||
[Token(Token = "0x2001541")]
|
||||
[StructLayout(3)]
|
||||
internal class DigestInputBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x060090DC RID: 37084 RVA: 0x00201764 File Offset: 0x001FF964
|
||||
[Token(Token = "0x60090DC")]
|
||||
[Address(RVA = "0x1E7DE50", Offset = "0x1E7C850", VA = "0x181E7DE50")]
|
||||
internal void UpdateDigest(IDigest d)
|
||||
{
|
||||
DigestInputBuffer.DigStream digStream;
|
||||
digStream.d = d;
|
||||
Streams.WriteBufTo(this, digStream);
|
||||
}
|
||||
|
||||
// Token: 0x060090DD RID: 37085 RVA: 0x00201780 File Offset: 0x001FF980
|
||||
[Token(Token = "0x60090DD")]
|
||||
[Address(RVA = "0x1E39980", Offset = "0x1E38380", VA = "0x181E39980")]
|
||||
public DigestInputBuffer()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x02001542 RID: 5442
|
||||
[Token(Token = "0x2001542")]
|
||||
private class DigStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x060090DE RID: 37086 RVA: 0x00201794 File Offset: 0x001FF994
|
||||
[Token(Token = "0x60090DE")]
|
||||
[Address(RVA = "0x1E7DE20", Offset = "0x1E7C820", VA = "0x181E7DE20")]
|
||||
internal DigStream(IDigest d)
|
||||
{
|
||||
this.d = d;
|
||||
}
|
||||
|
||||
// Token: 0x060090DF RID: 37087 RVA: 0x002017B0 File Offset: 0x001FF9B0
|
||||
[Token(Token = "0x60090DF")]
|
||||
[Address(RVA = "0x1E7DD40", Offset = "0x1E7C740", VA = "0x181E7DD40", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
IDigest digest = this.d;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090E0 RID: 37088 RVA: 0x002017CC File Offset: 0x001FF9CC
|
||||
[Token(Token = "0x60090E0")]
|
||||
[Address(RVA = "0x1E7DDA0", Offset = "0x1E7C7A0", VA = "0x181E7DDA0", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
IDigest digest = this.d;
|
||||
}
|
||||
|
||||
// Token: 0x0400601D RID: 24605
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400601D")]
|
||||
private readonly IDigest d;
|
||||
}
|
||||
}
|
||||
}
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001543 RID: 5443
|
||||
[Token(Token = "0x2001543")]
|
||||
[StructLayout(3)]
|
||||
public class DigitallySigned
|
||||
{
|
||||
// Token: 0x060090E1 RID: 37089 RVA: 0x002017E8 File Offset: 0x001FF9E8
|
||||
[Token(Token = "0x60090E1")]
|
||||
[Address(RVA = "0x1E7E020", Offset = "0x1E7CA20", VA = "0x181E7E020")]
|
||||
public DigitallySigned(SignatureAndHashAlgorithm algorithm, byte[] signature)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090E1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DigitallySigned::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_19:
|
||||
stloc:ArgumentNullException(var_0_23, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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: 0x1700175D RID: 5981
|
||||
// (get) Token: 0x060090E2 RID: 37090 RVA: 0x00201818 File Offset: 0x001FFA18
|
||||
[Token(Token = "0x1700175D")]
|
||||
public virtual SignatureAndHashAlgorithm Algorithm
|
||||
{
|
||||
[Token(Token = "0x60090E2")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700175E RID: 5982
|
||||
// (get) Token: 0x060090E3 RID: 37091 RVA: 0x0020182C File Offset: 0x001FFA2C
|
||||
[Token(Token = "0x1700175E")]
|
||||
public virtual byte[] Signature
|
||||
{
|
||||
[Token(Token = "0x60090E3")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSignature;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060090E4 RID: 37092 RVA: 0x00201840 File Offset: 0x001FFA40
|
||||
[Token(Token = "0x60090E4")]
|
||||
[Address(RVA = "0x1E7DEC0", Offset = "0x1E7C8C0", VA = "0x181E7DEC0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = this.mAlgorithm;
|
||||
if (signatureAndHashAlgorithm != 0)
|
||||
{
|
||||
byte signature = signatureAndHashAlgorithm.Signature;
|
||||
}
|
||||
TlsUtilities.WriteOpaque16(this.mSignature, output);
|
||||
}
|
||||
|
||||
// Token: 0x060090E5 RID: 37093 RVA: 0x0020186C File Offset: 0x001FFA6C
|
||||
[Token(Token = "0x60090E5")]
|
||||
[Address(RVA = "0x1E7DF50", Offset = "0x1E7C950", VA = "0x181E7DF50")]
|
||||
public static DigitallySigned Parse(TlsContext context, Stream input)
|
||||
{
|
||||
int num = 0;
|
||||
if (TlsUtilities.IsTlsV12(context))
|
||||
{
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = SignatureAndHashAlgorithm.Parse(input);
|
||||
}
|
||||
byte[] array = TlsUtilities.ReadOpaque16(input);
|
||||
return new DigitallySigned(num, array);
|
||||
}
|
||||
|
||||
// Token: 0x0400601E RID: 24606
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400601E")]
|
||||
protected readonly SignatureAndHashAlgorithm mAlgorithm;
|
||||
|
||||
// Token: 0x0400601F RID: 24607
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400601F")]
|
||||
protected readonly byte[] mSignature;
|
||||
}
|
||||
}
|
||||
+561
@@ -0,0 +1,561 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001544 RID: 5444
|
||||
[Token(Token = "0x2001544")]
|
||||
[StructLayout(3)]
|
||||
public class DtlsClientProtocol : DtlsProtocol
|
||||
{
|
||||
// Token: 0x060090E6 RID: 37094 RVA: 0x0020189C File Offset: 0x001FFA9C
|
||||
[Token(Token = "0x60090E6")]
|
||||
[Address(RVA = "0x1E80F30", Offset = "0x1E7F930", VA = "0x181E80F30")]
|
||||
public DtlsClientProtocol(SecureRandom secureRandom)
|
||||
: base(secureRandom)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x060090E7 RID: 37095 RVA: 0x002018B0 File Offset: 0x001FFAB0
|
||||
[Token(Token = "0x60090E7")]
|
||||
[Address(RVA = "0x1E7F010", Offset = "0x1E7DA10", VA = "0x181E7F010", Slot = "5")]
|
||||
public virtual DtlsTransport Connect(TlsClient client, DatagramTransport transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090E7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::Connect(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsClient,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DatagramTransport)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_C2:
|
||||
stloc:ArgumentNullException(var_18_CC, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("transport")))
|
||||
}
|
||||
|
||||
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: 0x060090E8 RID: 37096 RVA: 0x0020198C File Offset: 0x001FFB8C
|
||||
[Token(Token = "0x60090E8")]
|
||||
[Address(RVA = "0x1E7E0B0", Offset = "0x1E7CAB0", VA = "0x181E7E0B0", Slot = "6")]
|
||||
internal virtual void AbortClientHandshake(DtlsClientProtocol.ClientHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription)
|
||||
{
|
||||
recordLayer.Failed();
|
||||
}
|
||||
|
||||
// Token: 0x060090E9 RID: 37097 RVA: 0x002019A8 File Offset: 0x001FFBA8
|
||||
[Token(Token = "0x60090E9")]
|
||||
[Address(RVA = "0x1E7E110", Offset = "0x1E7CB10", VA = "0x181E7E110", Slot = "7")]
|
||||
internal virtual DtlsTransport ClientHandshake(DtlsClientProtocol.ClientHandshakeState state, DtlsRecordLayer recordLayer)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090E9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::ClientHandshake(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_462:
|
||||
stloc:TlsFatalAlert(var_109_469, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_110)))
|
||||
}
|
||||
|
||||
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: 0x060090EA RID: 37098 RVA: 0x00201E20 File Offset: 0x00200020
|
||||
[Token(Token = "0x60090EA")]
|
||||
[Address(RVA = "0x1E7F460", Offset = "0x1E7DE60", VA = "0x181E7F460", Slot = "8")]
|
||||
protected virtual byte[] GenerateCertificateVerify(DtlsClientProtocol.ClientHandshakeState state, DigitallySigned certificateVerify)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
byte[] signature = certificateVerify.Signature;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090EB RID: 37099 RVA: 0x00201E48 File Offset: 0x00200048
|
||||
[Token(Token = "0x60090EB")]
|
||||
[Address(RVA = "0x1E7F4F0", Offset = "0x1E7DEF0", VA = "0x181E7F4F0", Slot = "9")]
|
||||
protected virtual byte[] GenerateClientHello(DtlsClientProtocol.ClientHandshakeState state, TlsClient client)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090EB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::GenerateClientHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsClient)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_160:
|
||||
stloc:TlsFatalAlert(var_27_167, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_28)))
|
||||
}
|
||||
|
||||
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: 0x060090EC RID: 37100 RVA: 0x00201FC0 File Offset: 0x002001C0
|
||||
[Token(Token = "0x60090EC")]
|
||||
[Address(RVA = "0x1E7FA50", Offset = "0x1E7E450", VA = "0x181E7FA50", Slot = "10")]
|
||||
protected virtual byte[] GenerateClientKeyExchange(DtlsClientProtocol.ClientHandshakeState state)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090ED RID: 37101 RVA: 0x00201FE8 File Offset: 0x002001E8
|
||||
[Token(Token = "0x60090ED")]
|
||||
[Address(RVA = "0x1E7FAE0", Offset = "0x1E7E4E0", VA = "0x181E7FAE0", Slot = "11")]
|
||||
protected virtual void InvalidateSession(DtlsClientProtocol.ClientHandshakeState state)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (sessionParameters != 0)
|
||||
{
|
||||
sessionParameters.Clear();
|
||||
state.sessionParameters = (ulong)0L;
|
||||
}
|
||||
if (state.tlsSession != 0)
|
||||
{
|
||||
state.tlsSession = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060090EE RID: 37102 RVA: 0x00202028 File Offset: 0x00200228
|
||||
[Token(Token = "0x60090EE")]
|
||||
[Address(RVA = "0x1E7FC90", Offset = "0x1E7E690", VA = "0x181E7FC90", Slot = "12")]
|
||||
protected virtual void ProcessCertificateRequest(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
while (state.authentication == (ulong)0L)
|
||||
{
|
||||
}
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
CertificateRequest certificateRequest = CertificateRequest.Parse(state.clientContext, memoryStream);
|
||||
state.certificateRequest = certificateRequest;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090EF RID: 37103 RVA: 0x00202070 File Offset: 0x00200270
|
||||
[Token(Token = "0x60090EF")]
|
||||
[Address(RVA = "0x1E7FD70", Offset = "0x1E7E770", VA = "0x181E7FD70", Slot = "13")]
|
||||
protected virtual void ProcessCertificateStatus(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090EF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::ProcessCertificateStatus(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_57:
|
||||
stloc:ArgumentException(var_7_66, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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: 0x060090F0 RID: 37104 RVA: 0x002020E4 File Offset: 0x002002E4
|
||||
[Token(Token = "0x60090F0")]
|
||||
[Address(RVA = "0x1E7FF70", Offset = "0x1E7E970", VA = "0x181E7FF70", Slot = "14")]
|
||||
protected virtual byte[] ProcessHelloVerifyRequest(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
ProtocolVersion protocolVersion;
|
||||
byte[] array;
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
protocolVersion = TlsUtilities.ReadVersion(memoryStream);
|
||||
array = TlsUtilities.ReadOpaque8(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
bool isServer = state.clientContext.IsServer;
|
||||
}
|
||||
while (!flag);
|
||||
if (!ProtocolVersion.DTLSv12.IsEqualOrEarlierVersionOf(protocolVersion))
|
||||
{
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x060090F1 RID: 37105 RVA: 0x00202138 File Offset: 0x00200338
|
||||
[Token(Token = "0x60090F1")]
|
||||
[Address(RVA = "0x1E80120", Offset = "0x1E7EB20", VA = "0x181E80120", Slot = "15")]
|
||||
protected virtual void ProcessNewSessionTicket(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
NewSessionTicket newSessionTicket = NewSessionTicket.Parse(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsClient client = state.client;
|
||||
int num2 = 0;
|
||||
if (num2 < num)
|
||||
{
|
||||
num2 += num2;
|
||||
num2++;
|
||||
}
|
||||
List<string> hostNames = client.HostNames;
|
||||
}
|
||||
|
||||
// Token: 0x060090F2 RID: 37106 RVA: 0x0020218C File Offset: 0x0020038C
|
||||
[Token(Token = "0x60090F2")]
|
||||
[Address(RVA = "0x1E80230", Offset = "0x1E7EC30", VA = "0x181E80230", Slot = "16")]
|
||||
protected virtual Certificate ProcessServerCertificate(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
Certificate certificate = Certificate.Parse(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsClient client = state.client;
|
||||
state.authentication = certificate;
|
||||
return certificate;
|
||||
}
|
||||
|
||||
// Token: 0x060090F3 RID: 37107 RVA: 0x002021D0 File Offset: 0x002003D0
|
||||
[Token(Token = "0x60090F3")]
|
||||
[Address(RVA = "0x1E80330", Offset = "0x1E7ED30", VA = "0x181E80330", Slot = "17")]
|
||||
protected virtual void ProcessServerHello(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
SecureRandom secureRandom;
|
||||
int num7;
|
||||
IDictionary dictionary2;
|
||||
for (;;)
|
||||
{
|
||||
secureRandom = state.clientContext.SecureRandom;
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
ProtocolVersion protocolVersion = TlsUtilities.ReadVersion(memoryStream);
|
||||
byte[] array = TlsUtilities.ReadFully(32, memoryStream);
|
||||
byte[] array2 = TlsUtilities.ReadOpaque8(memoryStream);
|
||||
state.selectedSessionID = array2;
|
||||
TlsClient client = state.client;
|
||||
byte[] selectedSessionID = state.selectedSessionID;
|
||||
if (selectedSessionID.Length != 0 && state.tlsSession != 0)
|
||||
{
|
||||
bool flag = Arrays.AreEqual(selectedSessionID, array2);
|
||||
}
|
||||
int num2 = 0;
|
||||
state.resumedSession = num2 != 0;
|
||||
int num3 = TlsUtilities.ReadUint16(memoryStream);
|
||||
if (Arrays.Contains(state.offeredCipherSuites, num3) && num3 != 0 && num3 != 255 && num3 != 22016)
|
||||
{
|
||||
TlsClientContextImpl clientContext = state.clientContext;
|
||||
bool flag2;
|
||||
if (flag2)
|
||||
{
|
||||
TlsClient client2 = state.client;
|
||||
byte b = TlsUtilities.ReadUint8(memoryStream);
|
||||
TlsClient client3 = state.client;
|
||||
IDictionary dictionary = TlsProtocol.ReadExtensions(memoryStream);
|
||||
state.serverExtensions = dictionary;
|
||||
bool flag3 = TlsExtensionsUtilities.HasExtendedMasterSecretExtension(dictionary);
|
||||
long num4 = secureRandom.NextLong();
|
||||
if ((state.resumedSession ? 1L : 0L) != num4)
|
||||
{
|
||||
goto IL_247;
|
||||
}
|
||||
TlsClient client4 = state.client;
|
||||
if (state.serverExtensions != 0)
|
||||
{
|
||||
long num5 = num4;
|
||||
byte[] extensionData = TlsUtilities.GetExtensionData(state.clientExtensions, (int)num5);
|
||||
if (extensionData == 0)
|
||||
{
|
||||
goto IL_241;
|
||||
}
|
||||
int num6 = 0;
|
||||
if (extensionData != 0)
|
||||
{
|
||||
}
|
||||
if (num6 != -1)
|
||||
{
|
||||
}
|
||||
if (num6 != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
byte[] extensionData2 = TlsUtilities.GetExtensionData(state.serverExtensions, 65281);
|
||||
if (extensionData2 != 0)
|
||||
{
|
||||
state.secure_renegotiation = true;
|
||||
byte[] array3 = TlsProtocol.CreateRenegotiationInfo(TlsUtilities.EmptyBytes);
|
||||
if (!Arrays.ConstantTimeAreEqual(extensionData2, array3))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
TlsClient client5 = state.client;
|
||||
if (state.resumedSession)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (num3 != sessionParameters.mCipherSuite || b != sessionParameters.mCompressionAlgorithm)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
num7 = 0;
|
||||
dictionary2 = sessionParameters.ReadServerExtensions();
|
||||
}
|
||||
secureRandom.inextp = num3;
|
||||
secureRandom.SeedArray = b;
|
||||
if (dictionary2 == 0 || dictionary2 <= 0)
|
||||
{
|
||||
goto IL_214;
|
||||
}
|
||||
if (!TlsExtensionsUtilities.HasEncryptThenMacExtension(dictionary2))
|
||||
{
|
||||
break;
|
||||
}
|
||||
int num8;
|
||||
num3 = num8;
|
||||
if (TlsUtilities.IsBlockCipherSuite(num3))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bool resumedSession = state.resumedSession;
|
||||
bool flag4 = TlsExtensionsUtilities.HasTruncatedHMacExtension(dictionary2);
|
||||
if (state.resumedSession)
|
||||
{
|
||||
}
|
||||
if (state.resumedSession)
|
||||
{
|
||||
}
|
||||
IL_214:
|
||||
if (num7 != 0)
|
||||
{
|
||||
TlsClient client6 = state.client;
|
||||
}
|
||||
int num9;
|
||||
int prfAlgorithm = TlsProtocol.GetPrfAlgorithm(state.clientContext, num9);
|
||||
secureRandom.generator = (ulong)12L;
|
||||
return;
|
||||
IL_241:
|
||||
throw new NullReferenceException();
|
||||
IL_247:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090F4 RID: 37108 RVA: 0x00202438 File Offset: 0x00200638
|
||||
[Token(Token = "0x60090F4")]
|
||||
[Address(RVA = "0x1E80D10", Offset = "0x1E7F710", VA = "0x181E80D10", Slot = "18")]
|
||||
protected virtual void ProcessServerKeyExchange(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x060090F5 RID: 37109 RVA: 0x00202464 File Offset: 0x00200664
|
||||
[Token(Token = "0x60090F5")]
|
||||
[Address(RVA = "0x1E80DB0", Offset = "0x1E7F7B0", VA = "0x181E80DB0", Slot = "19")]
|
||||
protected virtual void ProcessServerSupplementalData(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
IList list = TlsProtocol.ReadSupplementalDataMessage(memoryStream);
|
||||
TlsClient client = state.client;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060090F6 RID: 37110 RVA: 0x00202490 File Offset: 0x00200690
|
||||
[Token(Token = "0x60090F6")]
|
||||
[Address(RVA = "0x1E80E50", Offset = "0x1E7F850", VA = "0x181E80E50", Slot = "20")]
|
||||
protected virtual void ReportServerVersion(DtlsClientProtocol.ClientHandshakeState state, ProtocolVersion server_version)
|
||||
{
|
||||
TlsClientContextImpl clientContext;
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
clientContext = state.clientContext;
|
||||
}
|
||||
while (!flag);
|
||||
ProtocolVersion serverVersion = clientContext.ServerVersion;
|
||||
TlsClient client = state.client;
|
||||
}
|
||||
|
||||
// Token: 0x060090F7 RID: 37111 RVA: 0x002024BC File Offset: 0x002006BC
|
||||
[Token(Token = "0x60090F7")]
|
||||
[Address(RVA = "0x1E7FB50", Offset = "0x1E7E550", VA = "0x181E7FB50")]
|
||||
protected static byte[] PatchClientHelloWithCookie(byte[] clientHelloBody, byte[] cookie)
|
||||
{
|
||||
int num = PngHelperInternal.ReadInt1fromByte(clientHelloBody, 34);
|
||||
num += 35;
|
||||
int num2 = num + 1;
|
||||
byte[] array = new byte[cookie.Length];
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(clientHelloBody, num4, array, num3, num);
|
||||
TlsUtilities.CheckUint8(cookie.Length);
|
||||
TlsUtilities.WriteUint8((byte)cookie.Length, array, num);
|
||||
int length = cookie.Length;
|
||||
int num5 = 0;
|
||||
Array.Copy(cookie, num5, array, num2, length);
|
||||
int num6 = clientHelloBody.Length;
|
||||
int num7 = cookie.Length;
|
||||
num6 -= num2;
|
||||
num7 += num2;
|
||||
Array.Copy(clientHelloBody, num2, array, num7, num6);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x02001545 RID: 5445
|
||||
[Token(Token = "0x2001545")]
|
||||
protected internal class ClientHandshakeState
|
||||
{
|
||||
// Token: 0x060090F8 RID: 37112 RVA: 0x00202558 File Offset: 0x00200758
|
||||
[Token(Token = "0x60090F8")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public ClientHandshakeState()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006020 RID: 24608
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006020")]
|
||||
internal TlsClient client;
|
||||
|
||||
// Token: 0x04006021 RID: 24609
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006021")]
|
||||
internal TlsClientContextImpl clientContext;
|
||||
|
||||
// Token: 0x04006022 RID: 24610
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006022")]
|
||||
internal TlsSession tlsSession;
|
||||
|
||||
// Token: 0x04006023 RID: 24611
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006023")]
|
||||
internal SessionParameters sessionParameters;
|
||||
|
||||
// Token: 0x04006024 RID: 24612
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006024")]
|
||||
internal SessionParameters.Builder sessionParametersBuilder;
|
||||
|
||||
// Token: 0x04006025 RID: 24613
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006025")]
|
||||
internal int[] offeredCipherSuites;
|
||||
|
||||
// Token: 0x04006026 RID: 24614
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006026")]
|
||||
internal IDictionary clientExtensions;
|
||||
|
||||
// Token: 0x04006027 RID: 24615
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006027")]
|
||||
internal IDictionary serverExtensions;
|
||||
|
||||
// Token: 0x04006028 RID: 24616
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006028")]
|
||||
internal byte[] selectedSessionID;
|
||||
|
||||
// Token: 0x04006029 RID: 24617
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006029")]
|
||||
internal bool resumedSession;
|
||||
|
||||
// Token: 0x0400602A RID: 24618
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x59")]
|
||||
[Token(Token = "0x400602A")]
|
||||
internal bool secure_renegotiation;
|
||||
|
||||
// Token: 0x0400602B RID: 24619
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x400602B")]
|
||||
internal bool allowCertificateStatus;
|
||||
|
||||
// Token: 0x0400602C RID: 24620
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x400602C")]
|
||||
internal bool expectSessionTicket;
|
||||
|
||||
// Token: 0x0400602D RID: 24621
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x400602D")]
|
||||
internal TlsKeyExchange keyExchange;
|
||||
|
||||
// Token: 0x0400602E RID: 24622
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400602E")]
|
||||
internal TlsAuthentication authentication;
|
||||
|
||||
// Token: 0x0400602F RID: 24623
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400602F")]
|
||||
internal CertificateStatus certificateStatus;
|
||||
|
||||
// Token: 0x04006030 RID: 24624
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006030")]
|
||||
internal CertificateRequest certificateRequest;
|
||||
|
||||
// Token: 0x04006031 RID: 24625
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006031")]
|
||||
internal TlsCredentials clientCredentials;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001546 RID: 5446
|
||||
[Token(Token = "0x2001546")]
|
||||
[StructLayout(3)]
|
||||
internal class DtlsEpoch
|
||||
{
|
||||
// Token: 0x060090F9 RID: 37113 RVA: 0x0020256C File Offset: 0x0020076C
|
||||
[Token(Token = "0x60090F9")]
|
||||
[Address(RVA = "0x1E80F50", Offset = "0x1E7F950", VA = "0x181E80F50")]
|
||||
internal DtlsEpoch(int epoch, TlsCipher cipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060090F9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsEpoch::.ctor(System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3F:
|
||||
stloc:ArgumentNullException(var_2_49, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("cipher")))
|
||||
}
|
||||
|
||||
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: 0x060090FA RID: 37114 RVA: 0x002025C4 File Offset: 0x002007C4
|
||||
[Token(Token = "0x60090FA")]
|
||||
[Address(RVA = "0x1E80F40", Offset = "0x1E7F940", VA = "0x181E80F40")]
|
||||
internal long AllocateSequenceNumber()
|
||||
{
|
||||
long num = this.mSequenceNumber;
|
||||
long num2 = num + 1L;
|
||||
this.mSequenceNumber = num2;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x1700175F RID: 5983
|
||||
// (get) Token: 0x060090FB RID: 37115 RVA: 0x002025E4 File Offset: 0x002007E4
|
||||
[Token(Token = "0x1700175F")]
|
||||
internal TlsCipher Cipher
|
||||
{
|
||||
[Token(Token = "0x60090FB")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
|
||||
get
|
||||
{
|
||||
return this.mCipher;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001760 RID: 5984
|
||||
// (get) Token: 0x060090FC RID: 37116 RVA: 0x002025F8 File Offset: 0x002007F8
|
||||
[Token(Token = "0x17001760")]
|
||||
internal int Epoch
|
||||
{
|
||||
[Token(Token = "0x60090FC")]
|
||||
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")]
|
||||
get
|
||||
{
|
||||
return this.mEpoch;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001761 RID: 5985
|
||||
// (get) Token: 0x060090FD RID: 37117 RVA: 0x0020260C File Offset: 0x0020080C
|
||||
[Token(Token = "0x17001761")]
|
||||
internal DtlsReplayWindow ReplayWindow
|
||||
{
|
||||
[Token(Token = "0x60090FD")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
|
||||
get
|
||||
{
|
||||
return this.mReplayWindow;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001762 RID: 5986
|
||||
// (get) Token: 0x060090FE RID: 37118 RVA: 0x00202620 File Offset: 0x00200820
|
||||
[Token(Token = "0x17001762")]
|
||||
internal long SequenceNumber
|
||||
{
|
||||
[Token(Token = "0x60090FE")]
|
||||
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
|
||||
get
|
||||
{
|
||||
return this.mSequenceNumber;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006032 RID: 24626
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006032")]
|
||||
private readonly DtlsReplayWindow mReplayWindow;
|
||||
|
||||
// Token: 0x04006033 RID: 24627
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006033")]
|
||||
private readonly int mEpoch;
|
||||
|
||||
// Token: 0x04006034 RID: 24628
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006034")]
|
||||
private readonly TlsCipher mCipher;
|
||||
|
||||
// Token: 0x04006035 RID: 24629
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006035")]
|
||||
private long mSequenceNumber;
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001547 RID: 5447
|
||||
[Token(Token = "0x2001547")]
|
||||
[StructLayout(3)]
|
||||
internal interface DtlsHandshakeRetransmit
|
||||
{
|
||||
// Token: 0x060090FF RID: 37119
|
||||
[Token(Token = "0x60090FF")]
|
||||
[Address(Slot = "0")]
|
||||
void ReceivedHandshakeRecord(int epoch, byte[] buf, int off, int len);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001548 RID: 5448
|
||||
[Token(Token = "0x2001548")]
|
||||
[StructLayout(3)]
|
||||
public abstract class DtlsProtocol
|
||||
{
|
||||
// Token: 0x06009100 RID: 37120 RVA: 0x00202634 File Offset: 0x00200834
|
||||
[Token(Token = "0x6009100")]
|
||||
[Address(RVA = "0x1E81480", Offset = "0x1E7FE80", VA = "0x181E81480")]
|
||||
protected DtlsProtocol(SecureRandom secureRandom)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009100)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("secureRandom")))
|
||||
}
|
||||
|
||||
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: 0x06009101 RID: 37121 RVA: 0x00202660 File Offset: 0x00200860
|
||||
[Token(Token = "0x6009101")]
|
||||
[Address(RVA = "0x1E812D0", Offset = "0x1E7FCD0", VA = "0x181E812D0", Slot = "4")]
|
||||
protected virtual void ProcessFinished(byte[] body, byte[] expected_verify_data)
|
||||
{
|
||||
byte[] array;
|
||||
do
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
array = TlsUtilities.ReadFully(expected_verify_data.Length, memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
while (!Arrays.ConstantTimeAreEqual(expected_verify_data, array));
|
||||
}
|
||||
|
||||
// Token: 0x06009102 RID: 37122 RVA: 0x00202694 File Offset: 0x00200894
|
||||
[Token(Token = "0x6009102")]
|
||||
[Address(RVA = "0x1E81050", Offset = "0x1E7FA50", VA = "0x181E81050")]
|
||||
internal static void ApplyMaxFragmentLengthExtension(DtlsRecordLayer recordLayer, short maxFragmentLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009102)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::ApplyMaxFragmentLengthExtension(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer,System.Int16)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_10:
|
||||
stloc:TlsFatalAlert(var_0_16, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_1)))
|
||||
}
|
||||
|
||||
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: 0x06009103 RID: 37123 RVA: 0x002026B8 File Offset: 0x002008B8
|
||||
[Token(Token = "0x6009103")]
|
||||
[Address(RVA = "0x1E81100", Offset = "0x1E7FB00", VA = "0x181E81100")]
|
||||
protected static short EvaluateMaxFragmentLengthExtension(bool resumedSession, IDictionary clientExtensions, IDictionary serverExtensions, byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009103)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int16 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::EvaluateMaxFragmentLengthExtension(System.Boolean,System.Collections.IDictionary,System.Collections.IDictionary,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_21:
|
||||
stloc:TlsFatalAlert(var_2_27, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription)))
|
||||
}
|
||||
|
||||
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: 0x06009104 RID: 37124 RVA: 0x002026EC File Offset: 0x002008EC
|
||||
[Token(Token = "0x6009104")]
|
||||
[Address(RVA = "0x1E811C0", Offset = "0x1E7FBC0", VA = "0x181E811C0")]
|
||||
protected static byte[] GenerateCertificate(Certificate certificate)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
bool isEmpty = certificate.IsEmpty;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009105 RID: 37125 RVA: 0x00202714 File Offset: 0x00200914
|
||||
[Token(Token = "0x6009105")]
|
||||
[Address(RVA = "0x1E81250", Offset = "0x1E7FC50", VA = "0x181E81250")]
|
||||
protected static byte[] GenerateSupplementalData(IList supplementalData)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
TlsProtocol.WriteSupplementalData(memoryStream, supplementalData);
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009106 RID: 37126 RVA: 0x0020273C File Offset: 0x0020093C
|
||||
[Token(Token = "0x6009106")]
|
||||
[Address(RVA = "0x1E813E0", Offset = "0x1E7FDE0", VA = "0x181E813E0")]
|
||||
protected static void ValidateSelectedCipherSuite(int selectedCipherSuite, byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009106)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::ValidateSelectedCipherSuite(System.Int32,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0A:
|
||||
stloc:TlsFatalAlert(var_0_10, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription)))
|
||||
}
|
||||
|
||||
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: 0x04006036 RID: 24630
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006036")]
|
||||
protected readonly SecureRandom mSecureRandom;
|
||||
}
|
||||
}
|
||||
+178
@@ -0,0 +1,178 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001549 RID: 5449
|
||||
[Token(Token = "0x2001549")]
|
||||
[StructLayout(3)]
|
||||
internal class DtlsReassembler
|
||||
{
|
||||
// Token: 0x06009107 RID: 37127 RVA: 0x0020275C File Offset: 0x0020095C
|
||||
[Token(Token = "0x6009107")]
|
||||
[Address(RVA = "0x1E81900", Offset = "0x1E80300", VA = "0x181E81900")]
|
||||
internal DtlsReassembler(byte msg_type, int length)
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
this.mMissing = list;
|
||||
base..ctor();
|
||||
this.mMsgType = msg_type;
|
||||
byte[] array = new byte[length];
|
||||
IList list2 = this.mMissing;
|
||||
this.mBody = array;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = (int)((ulong)0L);
|
||||
range.mEnd = length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001763 RID: 5987
|
||||
// (get) Token: 0x06009108 RID: 37128 RVA: 0x002027B4 File Offset: 0x002009B4
|
||||
[Token(Token = "0x17001763")]
|
||||
internal byte MsgType
|
||||
{
|
||||
[Token(Token = "0x6009108")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440")]
|
||||
get
|
||||
{
|
||||
return this.mMsgType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009109 RID: 37129 RVA: 0x002027C8 File Offset: 0x002009C8
|
||||
[Token(Token = "0x6009109")]
|
||||
[Address(RVA = "0x1E817F0", Offset = "0x1E801F0", VA = "0x181E817F0")]
|
||||
internal byte[] GetBodyIfComplete()
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
return this.mBody;
|
||||
}
|
||||
|
||||
// Token: 0x0600910A RID: 37130 RVA: 0x002027EC File Offset: 0x002009EC
|
||||
[Token(Token = "0x600910A")]
|
||||
[Address(RVA = "0x1E81500", Offset = "0x1E7FF00", VA = "0x181E81500")]
|
||||
internal void ContributeFragment(byte msg_type, int length, byte[] buf, int off, int fragment_offset, int fragment_length)
|
||||
{
|
||||
if (this.mMsgType == msg_type && this.mBody.Length == length)
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
int num = 0;
|
||||
if (0 < list)
|
||||
{
|
||||
IList list2 = this.mMissing;
|
||||
byte[] array = this.mBody;
|
||||
int num2;
|
||||
int num3;
|
||||
num2 -= num3;
|
||||
Array.Copy(buf, num3, array, num3, num2);
|
||||
IList list3 = this.mMissing;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = num2;
|
||||
range.mEnd = 0;
|
||||
IList list4 = this.mMissing;
|
||||
IList list5 = this.mMissing;
|
||||
num++;
|
||||
IList list6 = this.mMissing;
|
||||
IList list7 = this.mMissing;
|
||||
IList list8 = this.mMissing;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600910B RID: 37131 RVA: 0x0020288C File Offset: 0x00200A8C
|
||||
[Token(Token = "0x600910B")]
|
||||
[Address(RVA = "0x1E81850", Offset = "0x1E80250", VA = "0x181E81850")]
|
||||
internal void Reset()
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
IList list2 = this.mMissing;
|
||||
int length = this.mBody.Length;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = (int)((ulong)0L);
|
||||
range.mEnd = length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006037 RID: 24631
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006037")]
|
||||
private readonly byte mMsgType;
|
||||
|
||||
// Token: 0x04006038 RID: 24632
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006038")]
|
||||
private readonly byte[] mBody;
|
||||
|
||||
// Token: 0x04006039 RID: 24633
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006039")]
|
||||
private readonly IList mMissing;
|
||||
|
||||
// Token: 0x0200154A RID: 5450
|
||||
[Token(Token = "0x200154A")]
|
||||
private class Range
|
||||
{
|
||||
// Token: 0x0600910C RID: 37132 RVA: 0x002028C8 File Offset: 0x00200AC8
|
||||
[Token(Token = "0x600910C")]
|
||||
[Address(RVA = "0x823C30", Offset = "0x822630", VA = "0x180823C30")]
|
||||
internal Range(int start, int end)
|
||||
{
|
||||
this.mStart = start;
|
||||
this.mEnd = end;
|
||||
}
|
||||
|
||||
// Token: 0x17001764 RID: 5988
|
||||
// (get) Token: 0x0600910D RID: 37133 RVA: 0x002028EC File Offset: 0x00200AEC
|
||||
// (set) Token: 0x0600910E RID: 37134 RVA: 0x00202900 File Offset: 0x00200B00
|
||||
[Token(Token = "0x17001764")]
|
||||
public int Start
|
||||
{
|
||||
[Token(Token = "0x600910D")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
|
||||
get
|
||||
{
|
||||
return this.mStart;
|
||||
}
|
||||
[Token(Token = "0x600910E")]
|
||||
[Address(RVA = "0x3C1C90", Offset = "0x3C0690", VA = "0x1803C1C90")]
|
||||
set
|
||||
{
|
||||
this.mStart = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001765 RID: 5989
|
||||
// (get) Token: 0x0600910F RID: 37135 RVA: 0x00202914 File Offset: 0x00200B14
|
||||
// (set) Token: 0x06009110 RID: 37136 RVA: 0x00202928 File Offset: 0x00200B28
|
||||
[Token(Token = "0x17001765")]
|
||||
public int End
|
||||
{
|
||||
[Token(Token = "0x600910F")]
|
||||
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550")]
|
||||
get
|
||||
{
|
||||
return this.mEnd;
|
||||
}
|
||||
[Token(Token = "0x6009110")]
|
||||
[Address(RVA = "0x55D5D0", Offset = "0x55BFD0", VA = "0x18055D5D0")]
|
||||
set
|
||||
{
|
||||
this.mEnd = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0400603A RID: 24634
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400603A")]
|
||||
private int mStart;
|
||||
|
||||
// Token: 0x0400603B RID: 24635
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x400603B")]
|
||||
private int mEnd;
|
||||
}
|
||||
}
|
||||
}
|
||||
+594
@@ -0,0 +1,594 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Date;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200154B RID: 5451
|
||||
[Token(Token = "0x200154B")]
|
||||
[StructLayout(3)]
|
||||
internal class DtlsRecordLayer : DatagramTransport
|
||||
{
|
||||
// Token: 0x06009111 RID: 37137 RVA: 0x0020293C File Offset: 0x00200B3C
|
||||
[Token(Token = "0x6009111")]
|
||||
[Address(RVA = "0x1E82F40", Offset = "0x1E81940", VA = "0x181E82F40")]
|
||||
internal DtlsRecordLayer(DatagramTransport transport, TlsContext context, TlsPeer peer, byte contentType)
|
||||
{
|
||||
ByteQueue byteQueue = new ByteQueue();
|
||||
byte[] array = new byte[1024];
|
||||
byteQueue.databuf = array;
|
||||
this.mRecordQueue = byteQueue;
|
||||
base..ctor();
|
||||
this.mTransport = transport;
|
||||
this.mContext = context;
|
||||
this.mPeer = peer;
|
||||
this.mInHandshake = true;
|
||||
TlsNullCipher tlsNullCipher = new TlsNullCipher(context);
|
||||
int num;
|
||||
DtlsEpoch dtlsEpoch = new DtlsEpoch(num, tlsNullCipher);
|
||||
num = 0;
|
||||
this.mCurrentEpoch = dtlsEpoch;
|
||||
this.mPendingEpoch = (ulong)0L;
|
||||
this.mReadEpoch = dtlsEpoch;
|
||||
this.mWriteEpoch = dtlsEpoch;
|
||||
int receiveLimit = ((DatagramTransport)this).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x06009112 RID: 37138 RVA: 0x002029CC File Offset: 0x00200BCC
|
||||
[Token(Token = "0x6009112")]
|
||||
[Address(RVA = "0x1E82EB0", Offset = "0x1E818B0", VA = "0x181E82EB0", Slot = "9")]
|
||||
internal virtual void SetPlaintextLimit(int plaintextLimit)
|
||||
{
|
||||
this.mPlaintextLimit = plaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x17001766 RID: 5990
|
||||
// (get) Token: 0x06009113 RID: 37139 RVA: 0x002029E0 File Offset: 0x00200BE0
|
||||
[Token(Token = "0x17001766")]
|
||||
internal virtual int ReadEpoch
|
||||
{
|
||||
[Token(Token = "0x6009113")]
|
||||
[Address(RVA = "0x1E83080", Offset = "0x1E81A80", VA = "0x181E83080", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return this.mReadEpoch.mEpoch;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001767 RID: 5991
|
||||
// (get) Token: 0x06009114 RID: 37140 RVA: 0x00202A00 File Offset: 0x00200C00
|
||||
// (set) Token: 0x06009115 RID: 37141 RVA: 0x00202A14 File Offset: 0x00200C14
|
||||
[Token(Token = "0x17001767")]
|
||||
internal virtual ProtocolVersion ReadVersion
|
||||
{
|
||||
[Token(Token = "0x6009114")]
|
||||
[Address(RVA = "0xBFD0A0", Offset = "0xBFBAA0", VA = "0x180BFD0A0", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return this.mReadVersion;
|
||||
}
|
||||
[Token(Token = "0x6009115")]
|
||||
[Address(RVA = "0x1E830A0", Offset = "0x1E81AA0", VA = "0x181E830A0", Slot = "12")]
|
||||
set
|
||||
{
|
||||
this.mReadVersion = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009116 RID: 37142 RVA: 0x00202A28 File Offset: 0x00200C28
|
||||
[Token(Token = "0x6009116")]
|
||||
[Address(RVA = "0x1E82EE0", Offset = "0x1E818E0", VA = "0x181E82EE0", Slot = "13")]
|
||||
internal virtual void SetWriteVersion(ProtocolVersion writeVersion)
|
||||
{
|
||||
this.mWriteVersion = writeVersion;
|
||||
}
|
||||
|
||||
// Token: 0x06009117 RID: 37143 RVA: 0x00202A3C File Offset: 0x00200C3C
|
||||
[Token(Token = "0x6009117")]
|
||||
[Address(RVA = "0x1E81E70", Offset = "0x1E80870", VA = "0x181E81E70", Slot = "14")]
|
||||
internal virtual void InitPendingEpoch(TlsCipher pendingCipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009117)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::InitPendingEpoch(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2B:
|
||||
stloc:InvalidOperationException(var_3_30, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06009118 RID: 37144 RVA: 0x00202A7C File Offset: 0x00200C7C
|
||||
[Token(Token = "0x6009118")]
|
||||
[Address(RVA = "0x1E81DA0", Offset = "0x1E807A0", VA = "0x181E81DA0", Slot = "15")]
|
||||
internal virtual void HandshakeSuccessful(DtlsHandshakeRetransmit retransmit)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009118)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::HandshakeSuccessful(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsHandshakeRetransmit)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_59:
|
||||
stloc:InvalidOperationException(var_4_5E, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06009119 RID: 37145 RVA: 0x00202AE8 File Offset: 0x00200CE8
|
||||
[Token(Token = "0x6009119")]
|
||||
[Address(RVA = "0x1E82AB0", Offset = "0x1E814B0", VA = "0x181E82AB0", Slot = "16")]
|
||||
internal virtual void ResetWriteEpoch()
|
||||
{
|
||||
DtlsEpoch dtlsEpoch = this.mRetransmitEpoch;
|
||||
if (dtlsEpoch == 0)
|
||||
{
|
||||
}
|
||||
this.mWriteEpoch = dtlsEpoch;
|
||||
}
|
||||
|
||||
// Token: 0x0600911A RID: 37146 RVA: 0x00202B08 File Offset: 0x00200D08
|
||||
[Token(Token = "0x600911A")]
|
||||
[Address(RVA = "0x1E81C20", Offset = "0x1E80620", VA = "0x181E81C20", Slot = "17")]
|
||||
public virtual int GetReceiveLimit()
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mReadEpoch;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
TlsCipher mCipher = dtlsEpoch.mCipher;
|
||||
int num2;
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600911B RID: 37147 RVA: 0x00202B3C File Offset: 0x00200D3C
|
||||
[Token(Token = "0x600911B")]
|
||||
[Address(RVA = "0x1E81CE0", Offset = "0x1E806E0", VA = "0x181E81CE0", Slot = "18")]
|
||||
public virtual int GetSendLimit()
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mWriteEpoch;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
TlsCipher mCipher = dtlsEpoch.mCipher;
|
||||
int num2;
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600911C RID: 37148 RVA: 0x00202B70 File Offset: 0x00200D70
|
||||
[Token(Token = "0x600911C")]
|
||||
[Address(RVA = "0x1E822E0", Offset = "0x1E80CE0", VA = "0x181E822E0", Slot = "19")]
|
||||
public virtual int Receive(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
int num = 0;
|
||||
this.ResetWriteEpoch();
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[0];
|
||||
if (this.mRetransmit != (ulong)0L && DateTimeUtilities.CurrentUnixMs() > this.mRetransmitExpiry)
|
||||
{
|
||||
this.mRetransmit = num;
|
||||
this.mRetransmitEpoch = num;
|
||||
}
|
||||
int num2;
|
||||
num2 += 13;
|
||||
if (num2 == 0)
|
||||
{
|
||||
num2 += -20;
|
||||
if (num2 <= 4)
|
||||
{
|
||||
DtlsEpoch dtlsEpoch = this.mReadEpoch;
|
||||
DtlsEpoch dtlsEpoch2;
|
||||
if (num2 != dtlsEpoch.mEpoch)
|
||||
{
|
||||
if (num2 != 22)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
dtlsEpoch2 = this.mRetransmitEpoch;
|
||||
if (dtlsEpoch2 == 0 || num2 != dtlsEpoch2.mEpoch)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (dtlsEpoch2 != 0)
|
||||
{
|
||||
DtlsReplayWindow mReplayWindow = dtlsEpoch2.mReplayWindow;
|
||||
long num3;
|
||||
if (num3 == 0L)
|
||||
{
|
||||
long num4 = mReplayWindow.mLatestConfirmedSeq;
|
||||
num4 -= num3;
|
||||
ProtocolVersion protocolVersion;
|
||||
if (protocolVersion.IsDtls)
|
||||
{
|
||||
if (this.mReadVersion == 0 || !this.mReadVersion.Equals(protocolVersion))
|
||||
{
|
||||
}
|
||||
TlsCipher mCipher = dtlsEpoch2.mCipher;
|
||||
DtlsReplayWindow mReplayWindow2 = dtlsEpoch2.mReplayWindow;
|
||||
long num5 = mReplayWindow2.mLatestConfirmedSeq;
|
||||
if (num3 > num5)
|
||||
{
|
||||
num3 -= num5;
|
||||
long mBitmap = mReplayWindow2.mBitmap;
|
||||
mReplayWindow2.mBitmap = mBitmap;
|
||||
mReplayWindow2.mLatestConfirmedSeq = num3;
|
||||
mReplayWindow2.mBitmap = (long)((ulong)1L);
|
||||
mReplayWindow2.mLatestConfirmedSeq = num3;
|
||||
}
|
||||
num5 -= num3;
|
||||
long mBitmap2 = mReplayWindow2.mBitmap;
|
||||
mReplayWindow2.mBitmap = mBitmap2;
|
||||
int num6 = this.mPlaintextLimit;
|
||||
ProtocolVersion protocolVersion2 = this.mReadVersion;
|
||||
if (protocolVersion2 == 0)
|
||||
{
|
||||
ulong num7;
|
||||
this.mReadVersion = num7;
|
||||
}
|
||||
num2 += -20;
|
||||
int num9;
|
||||
if (protocolVersion2 != 0)
|
||||
{
|
||||
if (protocolVersion2 != 0)
|
||||
{
|
||||
if (protocolVersion2 == 0)
|
||||
{
|
||||
goto IL_1BC;
|
||||
}
|
||||
if (protocolVersion2 == 0)
|
||||
{
|
||||
goto IL_1B3;
|
||||
}
|
||||
if (num2 != 1)
|
||||
{
|
||||
goto IL_1C5;
|
||||
}
|
||||
}
|
||||
TlsPeer tlsPeer = this.mPeer;
|
||||
int num8 = 0;
|
||||
if (num8 < mCipher)
|
||||
{
|
||||
num8 += num8;
|
||||
num8++;
|
||||
}
|
||||
this.CloseTransport();
|
||||
IL_1B3:
|
||||
if (!this.mInHandshake)
|
||||
{
|
||||
goto IL_1C5;
|
||||
}
|
||||
IL_1BC:
|
||||
if (!this.mInHandshake)
|
||||
{
|
||||
goto IL_1EB;
|
||||
}
|
||||
IL_1C5:
|
||||
if (!this.mInHandshake && this.mRetransmit != (ulong)0L)
|
||||
{
|
||||
this.mRetransmit = (ulong)0L;
|
||||
this.mRetransmitEpoch = (ulong)0L;
|
||||
}
|
||||
IL_1EB:
|
||||
DtlsHandshakeRetransmit dtlsHandshakeRetransmit = this.mRetransmit;
|
||||
num9 = 0;
|
||||
while (dtlsHandshakeRetransmit == 0)
|
||||
{
|
||||
}
|
||||
num9 += num9;
|
||||
num9++;
|
||||
num9 += 19;
|
||||
num9 += 6;
|
||||
num9 += 19;
|
||||
}
|
||||
int num10 = 0;
|
||||
if (num9 == 1)
|
||||
{
|
||||
DtlsEpoch dtlsEpoch3 = this.mPendingEpoch;
|
||||
if (dtlsEpoch3 != 0)
|
||||
{
|
||||
this.mReadEpoch = dtlsEpoch3;
|
||||
}
|
||||
}
|
||||
num10++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600911D RID: 37149 RVA: 0x00202DF0 File Offset: 0x00200FF0
|
||||
[Token(Token = "0x600911D")]
|
||||
[Address(RVA = "0x1E82D20", Offset = "0x1E81720", VA = "0x181E82D20", Slot = "20")]
|
||||
public virtual void Send(byte[] buf, int off, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600911D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::Send(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_61:
|
||||
stloc:InvalidOperationException(var_8_66, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x0600911E RID: 37150 RVA: 0x00202E64 File Offset: 0x00201064
|
||||
[Token(Token = "0x600911E")]
|
||||
[Address(RVA = "0x1E81AA0", Offset = "0x1E804A0", VA = "0x181E81AA0", Slot = "21")]
|
||||
public virtual void Close()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
if (this.mInHandshake)
|
||||
{
|
||||
}
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600911F RID: 37151 RVA: 0x00202E8C File Offset: 0x0020108C
|
||||
[Token(Token = "0x600911F")]
|
||||
[Address(RVA = "0x1E81BD0", Offset = "0x1E805D0", VA = "0x181E81BD0", Slot = "22")]
|
||||
internal virtual void Failed()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
this.mFailed = true;
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009120 RID: 37152 RVA: 0x00202EB0 File Offset: 0x002010B0
|
||||
[Token(Token = "0x6009120")]
|
||||
[Address(RVA = "0x1E81B20", Offset = "0x1E80520", VA = "0x181E81B20", Slot = "23")]
|
||||
internal virtual void Fail(byte alertDescription)
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
this.mFailed = true;
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009121 RID: 37153 RVA: 0x00202ED8 File Offset: 0x002010D8
|
||||
[Token(Token = "0x6009121")]
|
||||
[Address(RVA = "0x1E82F10", Offset = "0x1E81910", VA = "0x181E82F10", Slot = "24")]
|
||||
internal virtual void Warn(byte alertDescription, string message)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009122 RID: 37154 RVA: 0x00202EE8 File Offset: 0x002010E8
|
||||
[Token(Token = "0x6009122")]
|
||||
[Address(RVA = "0x1E819E0", Offset = "0x1E803E0", VA = "0x181E819E0")]
|
||||
private void CloseTransport()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
if (!this.mFailed)
|
||||
{
|
||||
int num = 0;
|
||||
this.Fail((byte)num);
|
||||
}
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
this.mClosed = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009123 RID: 37155 RVA: 0x00202F24 File Offset: 0x00201124
|
||||
[Token(Token = "0x6009123")]
|
||||
[Address(RVA = "0x1E81F20", Offset = "0x1E80920", VA = "0x181E81F20")]
|
||||
private void RaiseAlert(byte alertLevel, byte alertDescription, string message, Exception cause)
|
||||
{
|
||||
TlsPeer tlsPeer = this.mPeer;
|
||||
int num = 0;
|
||||
if (num < (int)alertDescription)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array = new byte[2];
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
array[0] = alertLevel;
|
||||
array[0] = alertDescription;
|
||||
}
|
||||
|
||||
// Token: 0x06009124 RID: 37156 RVA: 0x00202F68 File Offset: 0x00201168
|
||||
[Token(Token = "0x6009124")]
|
||||
[Address(RVA = "0x1E82080", Offset = "0x1E80A80", VA = "0x181E82080")]
|
||||
private int ReceiveRecord(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
ByteQueue byteQueue = this.mRecordQueue;
|
||||
int available = byteQueue.available;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
int num = 0;
|
||||
if (num < off)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (byteQueue > len)
|
||||
{
|
||||
ByteQueue byteQueue2 = this.mRecordQueue;
|
||||
byteQueue -= len;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
// Token: 0x06009125 RID: 37157 RVA: 0x00202FCC File Offset: 0x002011CC
|
||||
[Token(Token = "0x6009125")]
|
||||
[Address(RVA = "0x1E82AD0", Offset = "0x1E814D0", VA = "0x181E82AD0")]
|
||||
private void SendRecord(byte contentType, byte[] buf, int off, int len)
|
||||
{
|
||||
if (this.mWriteVersion != 0)
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mWriteEpoch;
|
||||
long mSequenceNumber = dtlsEpoch.mSequenceNumber;
|
||||
int mEpoch = dtlsEpoch.mEpoch;
|
||||
long num2 = mSequenceNumber + 1L;
|
||||
dtlsEpoch.mSequenceNumber = num2;
|
||||
TlsCipher mCipher = this.mWriteEpoch.mCipher;
|
||||
byte[] array = new byte[0];
|
||||
int num3 = 0;
|
||||
TlsUtilities.WriteUint8(contentType, array, num3);
|
||||
TlsUtilities.WriteVersion(this.mWriteVersion, array, 1);
|
||||
PngHelperInternal.WriteInt2tobytes(mEpoch, array, 3);
|
||||
TlsUtilities.WriteUint48(mSequenceNumber, array, 5);
|
||||
PngHelperInternal.WriteInt2tobytes((int)mSequenceNumber, array, 11);
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
int length = array.Length;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009126 RID: 37158 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009126")]
|
||||
[Address(RVA = "0x1E81C10", Offset = "0x1E80610", VA = "0x181E81C10")]
|
||||
private static long GetMacSequenceNumber(int epoch, long sequence_number)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0400603C RID: 24636
|
||||
[Token(Token = "0x400603C")]
|
||||
private const int RECORD_HEADER_LENGTH = 13;
|
||||
|
||||
// Token: 0x0400603D RID: 24637
|
||||
[Token(Token = "0x400603D")]
|
||||
private const int MAX_FRAGMENT_LENGTH = 16384;
|
||||
|
||||
// Token: 0x0400603E RID: 24638
|
||||
[Token(Token = "0x400603E")]
|
||||
private const long TCP_MSL = 120000L;
|
||||
|
||||
// Token: 0x0400603F RID: 24639
|
||||
[Token(Token = "0x400603F")]
|
||||
private const long RETRANSMIT_TIMEOUT = 240000L;
|
||||
|
||||
// Token: 0x04006040 RID: 24640
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006040")]
|
||||
private readonly DatagramTransport mTransport;
|
||||
|
||||
// Token: 0x04006041 RID: 24641
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006041")]
|
||||
private readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x04006042 RID: 24642
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006042")]
|
||||
private readonly TlsPeer mPeer;
|
||||
|
||||
// Token: 0x04006043 RID: 24643
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006043")]
|
||||
private readonly ByteQueue mRecordQueue;
|
||||
|
||||
// Token: 0x04006044 RID: 24644
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006044")]
|
||||
private bool mClosed;
|
||||
|
||||
// Token: 0x04006045 RID: 24645
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x31")]
|
||||
[Token(Token = "0x4006045")]
|
||||
private bool mFailed;
|
||||
|
||||
// Token: 0x04006046 RID: 24646
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006046")]
|
||||
private ProtocolVersion mReadVersion;
|
||||
|
||||
// Token: 0x04006047 RID: 24647
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006047")]
|
||||
private ProtocolVersion mWriteVersion;
|
||||
|
||||
// Token: 0x04006048 RID: 24648
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006048")]
|
||||
private bool mInHandshake;
|
||||
|
||||
// Token: 0x04006049 RID: 24649
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
|
||||
[Token(Token = "0x4006049")]
|
||||
private int mPlaintextLimit;
|
||||
|
||||
// Token: 0x0400604A RID: 24650
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x400604A")]
|
||||
private DtlsEpoch mCurrentEpoch;
|
||||
|
||||
// Token: 0x0400604B RID: 24651
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x400604B")]
|
||||
private DtlsEpoch mPendingEpoch;
|
||||
|
||||
// Token: 0x0400604C RID: 24652
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x400604C")]
|
||||
private DtlsEpoch mReadEpoch;
|
||||
|
||||
// Token: 0x0400604D RID: 24653
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400604D")]
|
||||
private DtlsEpoch mWriteEpoch;
|
||||
|
||||
// Token: 0x0400604E RID: 24654
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400604E")]
|
||||
private DtlsHandshakeRetransmit mRetransmit;
|
||||
|
||||
// Token: 0x0400604F RID: 24655
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x400604F")]
|
||||
private DtlsEpoch mRetransmitEpoch;
|
||||
|
||||
// Token: 0x04006050 RID: 24656
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006050")]
|
||||
private long mRetransmitExpiry;
|
||||
}
|
||||
}
|
||||
+629
@@ -0,0 +1,629 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200154C RID: 5452
|
||||
[Token(Token = "0x200154C")]
|
||||
[StructLayout(3)]
|
||||
internal class DtlsReliableHandshake
|
||||
{
|
||||
// Token: 0x06009127 RID: 37159 RVA: 0x00203084 File Offset: 0x00201284
|
||||
[Token(Token = "0x6009127")]
|
||||
[Address(RVA = "0x1E84B10", Offset = "0x1E83510", VA = "0x181E84B10")]
|
||||
internal DtlsReliableHandshake(TlsContext context, DtlsRecordLayer transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009127)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsReliableHandshake::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IDictionary(var_1_07, call:IDictionary(Platform::CreateHashtable))
|
||||
stfld:IDictionary(DtlsReliableHandshake::mCurrentInboundFlight, ldloc:DtlsReliableHandshake(this), ldloc:IDictionary(var_1_07))
|
||||
stloc:IList(var_3_16, call:IList(Platform::CreateArrayList))
|
||||
stfld:IList(DtlsReliableHandshake::mOutboundFlight, ldloc:DtlsReliableHandshake(this), ldloc:IList(var_3_16))
|
||||
stfld:bool(DtlsReliableHandshake::mSending, ldloc:DtlsReliableHandshake(this), ldc.i4:bool(1))
|
||||
call:void(object::.ctor, ldloc:DtlsReliableHandshake[exp:object](this))
|
||||
stfld:DtlsRecordLayer(DtlsReliableHandshake::mRecordLayer, ldloc:DtlsReliableHandshake(this), ldloc:DtlsRecordLayer(transport))
|
||||
stloc:DeferredHash(var_4_37, newobj:DeferredHash(DeferredHash::.ctor))
|
||||
stloc:DigestInputBuffer(var_5_3E, newobj:DigestInputBuffer(DigestInputBuffer::.ctor))
|
||||
stfld:DigestInputBuffer(DeferredHash::mBuf, ldloc:DeferredHash(var_4_37), ldloc:DigestInputBuffer(var_5_3E))
|
||||
stloc:IDictionary(var_7_51, call:IDictionary(Platform::CreateHashtable))
|
||||
stfld:IDictionary(DeferredHash::mHashes, ldloc:DeferredHash(var_4_37), ldloc:IDictionary(var_7_51))
|
||||
stfld:int32(DeferredHash::mPrfHashAlgorithm, ldloc:DeferredHash(var_4_37), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](4294967295)))
|
||||
stfld:TlsHandshakeHash(DtlsReliableHandshake::mHandshakeHash, ldloc:DtlsReliableHandshake(this), ldloc:DeferredHash[exp:TlsHandshakeHash](var_4_37))
|
||||
}
|
||||
|
||||
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: 0x06009128 RID: 37160 RVA: 0x00203108 File Offset: 0x00201308
|
||||
[Token(Token = "0x6009128")]
|
||||
[Address(RVA = "0x1E83770", Offset = "0x1E82170", VA = "0x181E83770")]
|
||||
internal void NotifyHelloComplete()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x17001768 RID: 5992
|
||||
// (get) Token: 0x06009129 RID: 37161 RVA: 0x00203124 File Offset: 0x00201324
|
||||
[Token(Token = "0x17001768")]
|
||||
internal TlsHandshakeHash HandshakeHash
|
||||
{
|
||||
[Token(Token = "0x6009129")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
|
||||
get
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600912A RID: 37162 RVA: 0x00203138 File Offset: 0x00201338
|
||||
[Token(Token = "0x600912A")]
|
||||
[Address(RVA = "0x1E83800", Offset = "0x1E82200", VA = "0x181E83800")]
|
||||
internal TlsHandshakeHash PrepareToFinish()
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x0600912B RID: 37163 RVA: 0x00203154 File Offset: 0x00201354
|
||||
[Token(Token = "0x600912B")]
|
||||
[Address(RVA = "0x1E84580", Offset = "0x1E82F80", VA = "0x181E84580")]
|
||||
internal void SendMessage(byte msg_type, byte[] body)
|
||||
{
|
||||
TlsUtilities.CheckUint24(body.Length);
|
||||
if (!this.mSending)
|
||||
{
|
||||
this.CheckInboundFlight();
|
||||
IList list = this.mOutboundFlight;
|
||||
this.mSending = true;
|
||||
}
|
||||
int num = this.mMessageSeq;
|
||||
int num2 = num + 1;
|
||||
this.mMessageSeq = num2;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num;
|
||||
message.mMsgType = msg_type;
|
||||
message.mBody = body;
|
||||
IList list2 = this.mOutboundFlight;
|
||||
this.WriteMessage(message);
|
||||
DtlsReliableHandshake.Message message2 = this.UpdateHandshakeMessagesDigest(message);
|
||||
}
|
||||
|
||||
// Token: 0x0600912C RID: 37164 RVA: 0x002031D0 File Offset: 0x002013D0
|
||||
[Token(Token = "0x600912C")]
|
||||
[Address(RVA = "0x1E83C10", Offset = "0x1E82610", VA = "0x181E83C10")]
|
||||
internal byte[] ReceiveMessageBody(byte msg_type)
|
||||
{
|
||||
DtlsReliableHandshake.Message message;
|
||||
do
|
||||
{
|
||||
message = this.ReceiveMessage();
|
||||
}
|
||||
while (message.mMsgType != msg_type);
|
||||
return message.mBody;
|
||||
}
|
||||
|
||||
// Token: 0x0600912D RID: 37165 RVA: 0x002031FC File Offset: 0x002013FC
|
||||
[Token(Token = "0x600912D")]
|
||||
[Address(RVA = "0x1E83C90", Offset = "0x1E82690", VA = "0x181E83C90")]
|
||||
internal DtlsReliableHandshake.Message ReceiveMessage()
|
||||
{
|
||||
if (this.mSending)
|
||||
{
|
||||
this.mSending = false;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary2 = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary2;
|
||||
this.mCurrentInboundFlight = dictionary;
|
||||
}
|
||||
int num = 0;
|
||||
IDictionary dictionary3 = this.mCurrentInboundFlight;
|
||||
int num2 = this.mNextReceiveSeq;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
if (num2 == 0)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
if (num3 == 0)
|
||||
{
|
||||
this.mPreviousInboundFlight = num;
|
||||
int num4 = this.mNextReceiveSeq;
|
||||
int num5 = num4 + 1;
|
||||
this.mNextReceiveSeq = num5;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num4;
|
||||
DtlsReliableHandshake.Message message2 = this.UpdateHandshakeMessagesDigest(message);
|
||||
if (message2 != 0)
|
||||
{
|
||||
return message2;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mRecordLayer.ResetWriteEpoch();
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[0];
|
||||
int sendLimit = this.mRecordLayer.GetSendLimit();
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
bool flag;
|
||||
while (!flag)
|
||||
{
|
||||
}
|
||||
this.ResendOutboundFlight();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600912E RID: 37166 RVA: 0x002032FC File Offset: 0x002014FC
|
||||
[Token(Token = "0x600912E")]
|
||||
[Address(RVA = "0x1E83550", Offset = "0x1E81F50", VA = "0x181E83550")]
|
||||
internal void Finish()
|
||||
{
|
||||
int num = 0;
|
||||
if ((this.mSending ? 1 : 0) != num)
|
||||
{
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary;
|
||||
this.mCurrentInboundFlight = num;
|
||||
if (dictionary == 0)
|
||||
{
|
||||
goto IL_3C;
|
||||
}
|
||||
DtlsReliableHandshake.Retransmit retransmit;
|
||||
retransmit.mOuter = this;
|
||||
}
|
||||
this.CheckInboundFlight();
|
||||
IL_3C:
|
||||
int receiveLimit = ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600912F RID: 37167 RVA: 0x00203358 File Offset: 0x00201558
|
||||
[Token(Token = "0x600912F")]
|
||||
[Address(RVA = "0x1E84530", Offset = "0x1E82F30", VA = "0x181E84530")]
|
||||
internal void ResetHandshakeMessagesDigest()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009130 RID: 37168 RVA: 0x00203374 File Offset: 0x00201574
|
||||
[Token(Token = "0x6009130")]
|
||||
[Address(RVA = "0x1E830D0", Offset = "0x1E81AD0", VA = "0x181E830D0")]
|
||||
private int BackOff(int timeoutMillis)
|
||||
{
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06009131 RID: 37169 RVA: 0x00203384 File Offset: 0x00201584
|
||||
[Token(Token = "0x6009131")]
|
||||
[Address(RVA = "0x1E833B0", Offset = "0x1E81DB0", VA = "0x181E833B0")]
|
||||
private void CheckInboundFlight()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
num += num;
|
||||
num++;
|
||||
num++;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009132 RID: 37170 RVA: 0x002033C0 File Offset: 0x002015C0
|
||||
[Token(Token = "0x6009132")]
|
||||
[Address(RVA = "0x1E835F0", Offset = "0x1E81FF0", VA = "0x181E835F0")]
|
||||
private DtlsReliableHandshake.Message GetPendingMessage()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = this.mNextReceiveSeq;
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
if (num == 0)
|
||||
{
|
||||
int num2 = this.mNextReceiveSeq;
|
||||
int num3 = num2 + 1;
|
||||
this.mNextReceiveSeq = num3;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num2;
|
||||
message.mMsgType = (byte)num;
|
||||
return this.UpdateHandshakeMessagesDigest(message);
|
||||
}
|
||||
IL_49:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009133 RID: 37171 RVA: 0x00203420 File Offset: 0x00201620
|
||||
[Token(Token = "0x6009133")]
|
||||
[Address(RVA = "0x1E837C0", Offset = "0x1E821C0", VA = "0x181E837C0")]
|
||||
private void PrepareInboundFlight(IDictionary nextFlight)
|
||||
{
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary;
|
||||
this.mCurrentInboundFlight = nextFlight;
|
||||
}
|
||||
|
||||
// Token: 0x06009134 RID: 37172 RVA: 0x00203450 File Offset: 0x00201650
|
||||
[Token(Token = "0x6009134")]
|
||||
[Address(RVA = "0x1E83860", Offset = "0x1E82260", VA = "0x181E83860")]
|
||||
private bool ProcessRecord(int windowSize, int epoch, byte[] buf, int off, int len)
|
||||
{
|
||||
int num = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
int num2 = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
int num3 = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
bool flag = num3 == 20;
|
||||
num2 = num3;
|
||||
int num4 = this.mNextReceiveSeq;
|
||||
if (num2 >= num4 || (this.mPreviousInboundFlight != 0 && num4 != 0))
|
||||
{
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
if (num4 == 0)
|
||||
{
|
||||
DtlsReassembler dtlsReassembler = new DtlsReassembler((byte)num3, num2);
|
||||
}
|
||||
}
|
||||
if (DtlsReliableHandshake.CheckAll(this.mPreviousInboundFlight))
|
||||
{
|
||||
this.ResendOutboundFlight();
|
||||
DtlsReliableHandshake.ResetAll(this.mPreviousInboundFlight);
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009135 RID: 37173 RVA: 0x002034D8 File Offset: 0x002016D8
|
||||
[Token(Token = "0x6009135")]
|
||||
[Address(RVA = "0x1E84040", Offset = "0x1E82A40", VA = "0x181E84040")]
|
||||
private void ResendOutboundFlight()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
IList list = this.mOutboundFlight;
|
||||
num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
IList list2 = this.mOutboundFlight;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
num += 19;
|
||||
num += num;
|
||||
num += 19;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
this.WriteMessage(num);
|
||||
IList list3 = this.mOutboundFlight;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x06009136 RID: 37174 RVA: 0x0020354C File Offset: 0x0020174C
|
||||
[Token(Token = "0x6009136")]
|
||||
[Address(RVA = "0x1E846B0", Offset = "0x1E830B0", VA = "0x181E846B0")]
|
||||
private DtlsReliableHandshake.Message UpdateHandshakeMessagesDigest(DtlsReliableHandshake.Message message)
|
||||
{
|
||||
byte[] mBody = message.mBody;
|
||||
byte[] array = new byte[12];
|
||||
byte mMsgType = message.mMsgType;
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint8(mMsgType, array, num);
|
||||
TlsUtilities.WriteUint24(mBody.Length, array, 1);
|
||||
PngHelperInternal.WriteInt2tobytes(message.mMessageSeq, array, 4);
|
||||
TlsUtilities.WriteUint24(0, array, 6);
|
||||
TlsUtilities.WriteUint24(mBody.Length, array, 9);
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
int length = array.Length;
|
||||
TlsHandshakeHash tlsHandshakeHash2 = this.mHandshakeHash;
|
||||
int length2 = mBody.Length;
|
||||
return message;
|
||||
}
|
||||
|
||||
// Token: 0x06009137 RID: 37175 RVA: 0x002035D4 File Offset: 0x002017D4
|
||||
[Token(Token = "0x6009137")]
|
||||
[Address(RVA = "0x1E849E0", Offset = "0x1E833E0", VA = "0x181E849E0")]
|
||||
private void WriteMessage(DtlsReliableHandshake.Message message)
|
||||
{
|
||||
int receiveLimit = this.mRecordLayer.GetReceiveLimit();
|
||||
byte[] mBody = message.mBody;
|
||||
int num = 0;
|
||||
int num2 = mBody.Length;
|
||||
num2 -= num;
|
||||
int num3;
|
||||
this.WriteHandshakeFragment(message, num, num3);
|
||||
num += num3;
|
||||
}
|
||||
|
||||
// Token: 0x06009138 RID: 37176 RVA: 0x00203618 File Offset: 0x00201818
|
||||
[Token(Token = "0x6009138")]
|
||||
[Address(RVA = "0x1E84820", Offset = "0x1E83220", VA = "0x181E84820")]
|
||||
private void WriteHandshakeFragment(DtlsReliableHandshake.Message message, int fragment_offset, int fragment_length)
|
||||
{
|
||||
DtlsReliableHandshake.RecordLayerBuffer recordLayerBuffer;
|
||||
TlsUtilities.WriteUint8(message.mMsgType, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(message.mBody.Length, recordLayerBuffer);
|
||||
int num = message.mMessageSeq;
|
||||
TlsUtilities.WriteUint16(num, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(fragment_offset, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(fragment_length, recordLayerBuffer);
|
||||
int num2 = recordLayerBuffer.ReadByte();
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
bool canWrite = recordLayerBuffer.CanWrite;
|
||||
Platform.Dispose(recordLayerBuffer);
|
||||
}
|
||||
|
||||
// Token: 0x06009139 RID: 37177 RVA: 0x00203684 File Offset: 0x00201884
|
||||
[Token(Token = "0x6009139")]
|
||||
[Address(RVA = "0x1E83130", Offset = "0x1E81B30", VA = "0x181E83130")]
|
||||
private static bool CheckAll(IDictionary inboundFlight)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
int num2 = 0;
|
||||
if (num2 == 0)
|
||||
{
|
||||
}
|
||||
if (num2 != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
if (typeof(IDisposable).TypeHandle == (ulong)65L)
|
||||
{
|
||||
}
|
||||
if (typeof(IDisposable).TypeHandle == (ulong)63L)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600913A RID: 37178 RVA: 0x002036D8 File Offset: 0x002018D8
|
||||
[Token(Token = "0x600913A")]
|
||||
[Address(RVA = "0x1E84240", Offset = "0x1E82C40", VA = "0x181E84240")]
|
||||
private static void ResetAll(IDictionary inboundFlight)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
num++;
|
||||
num += 19;
|
||||
ulong num2;
|
||||
num = (int)((ulong)num + num2);
|
||||
if (num == 0 || num == 0)
|
||||
{
|
||||
goto IL_4B;
|
||||
}
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = num;
|
||||
if (range != 0)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return;
|
||||
IL_4B:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006051 RID: 24657
|
||||
[Token(Token = "0x4006051")]
|
||||
private const int MaxReceiveAhead = 16;
|
||||
|
||||
// Token: 0x04006052 RID: 24658
|
||||
[Token(Token = "0x4006052")]
|
||||
private const int MessageHeaderLength = 12;
|
||||
|
||||
// Token: 0x04006053 RID: 24659
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006053")]
|
||||
private readonly DtlsRecordLayer mRecordLayer;
|
||||
|
||||
// Token: 0x04006054 RID: 24660
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006054")]
|
||||
private TlsHandshakeHash mHandshakeHash;
|
||||
|
||||
// Token: 0x04006055 RID: 24661
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006055")]
|
||||
private IDictionary mCurrentInboundFlight;
|
||||
|
||||
// Token: 0x04006056 RID: 24662
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006056")]
|
||||
private IDictionary mPreviousInboundFlight;
|
||||
|
||||
// Token: 0x04006057 RID: 24663
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006057")]
|
||||
private IList mOutboundFlight;
|
||||
|
||||
// Token: 0x04006058 RID: 24664
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006058")]
|
||||
private bool mSending;
|
||||
|
||||
// Token: 0x04006059 RID: 24665
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x4006059")]
|
||||
private int mMessageSeq;
|
||||
|
||||
// Token: 0x0400605A RID: 24666
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400605A")]
|
||||
private int mNextReceiveSeq;
|
||||
|
||||
// Token: 0x0200154D RID: 5453
|
||||
[Token(Token = "0x200154D")]
|
||||
internal class Message
|
||||
{
|
||||
// Token: 0x0600913B RID: 37179 RVA: 0x0020373C File Offset: 0x0020193C
|
||||
[Token(Token = "0x600913B")]
|
||||
[Address(RVA = "0xC27C20", Offset = "0xC26620", VA = "0x180C27C20")]
|
||||
internal Message(int message_seq, byte msg_type, byte[] body)
|
||||
{
|
||||
this.mMessageSeq = message_seq;
|
||||
this.mMsgType = msg_type;
|
||||
this.mBody = body;
|
||||
}
|
||||
|
||||
// Token: 0x17001769 RID: 5993
|
||||
// (get) Token: 0x0600913C RID: 37180 RVA: 0x00203764 File Offset: 0x00201964
|
||||
[Token(Token = "0x17001769")]
|
||||
public int Seq
|
||||
{
|
||||
[Token(Token = "0x600913C")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
|
||||
get
|
||||
{
|
||||
return this.mMessageSeq;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700176A RID: 5994
|
||||
// (get) Token: 0x0600913D RID: 37181 RVA: 0x00203778 File Offset: 0x00201978
|
||||
[Token(Token = "0x1700176A")]
|
||||
public byte Type
|
||||
{
|
||||
[Token(Token = "0x600913D")]
|
||||
[Address(RVA = "0x4F5380", Offset = "0x4F3D80", VA = "0x1804F5380")]
|
||||
get
|
||||
{
|
||||
return this.mMsgType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700176B RID: 5995
|
||||
// (get) Token: 0x0600913E RID: 37182 RVA: 0x0020378C File Offset: 0x0020198C
|
||||
[Token(Token = "0x1700176B")]
|
||||
public byte[] Body
|
||||
{
|
||||
[Token(Token = "0x600913E")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
|
||||
get
|
||||
{
|
||||
return this.mBody;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0400605B RID: 24667
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400605B")]
|
||||
private readonly int mMessageSeq;
|
||||
|
||||
// Token: 0x0400605C RID: 24668
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x400605C")]
|
||||
private readonly byte mMsgType;
|
||||
|
||||
// Token: 0x0400605D RID: 24669
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400605D")]
|
||||
private readonly byte[] mBody;
|
||||
}
|
||||
|
||||
// Token: 0x0200154E RID: 5454
|
||||
[Token(Token = "0x200154E")]
|
||||
internal class RecordLayerBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600913F RID: 37183 RVA: 0x002037A0 File Offset: 0x002019A0
|
||||
[Token(Token = "0x600913F")]
|
||||
[Address(RVA = "0x1E874A0", Offset = "0x1E85EA0", VA = "0x181E874A0")]
|
||||
internal RecordLayerBuffer(int size)
|
||||
: base(size)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009140 RID: 37184 RVA: 0x002037B4 File Offset: 0x002019B4
|
||||
[Token(Token = "0x6009140")]
|
||||
[Address(RVA = "0x1E873E0", Offset = "0x1E85DE0", VA = "0x181E873E0")]
|
||||
internal void SendToRecordLayer(DtlsRecordLayer recordLayer)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
Platform.Dispose(this);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0200154F RID: 5455
|
||||
[Token(Token = "0x200154F")]
|
||||
internal class Retransmit : DtlsHandshakeRetransmit
|
||||
{
|
||||
// Token: 0x06009141 RID: 37185 RVA: 0x002037D4 File Offset: 0x002019D4
|
||||
[Token(Token = "0x6009141")]
|
||||
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
|
||||
internal Retransmit(DtlsReliableHandshake outer)
|
||||
{
|
||||
this.mOuter = outer;
|
||||
}
|
||||
|
||||
// Token: 0x06009142 RID: 37186 RVA: 0x002037F0 File Offset: 0x002019F0
|
||||
[Token(Token = "0x6009142")]
|
||||
[Address(RVA = "0x1E874B0", Offset = "0x1E85EB0", VA = "0x181E874B0", Slot = "4")]
|
||||
public void ReceivedHandshakeRecord(int epoch, byte[] buf, int off, int len)
|
||||
{
|
||||
DtlsReliableHandshake dtlsReliableHandshake = this.mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x0400605E RID: 24670
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400605E")]
|
||||
private readonly DtlsReliableHandshake mOuter;
|
||||
}
|
||||
}
|
||||
}
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001550 RID: 5456
|
||||
[Token(Token = "0x2001550")]
|
||||
[StructLayout(3)]
|
||||
internal class DtlsReplayWindow
|
||||
{
|
||||
// Token: 0x06009143 RID: 37187 RVA: 0x0020380C File Offset: 0x00201A0C
|
||||
[Token(Token = "0x6009143")]
|
||||
[Address(RVA = "0x1E84D50", Offset = "0x1E83750", VA = "0x181E84D50")]
|
||||
internal bool ShouldDiscard(long seq)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009143)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsReplayWindow::ShouldDiscard(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_09, ldfld:int64(DtlsReplayWindow::mLatestConfirmedSeq, ldloc:DtlsReplayWindow(this)))
|
||||
stloc:int64(var_0_0D, sub:int64(ldloc:int64(var_0_09), ldloc:int64(seq)))
|
||||
}
|
||||
|
||||
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: 0x06009144 RID: 37188 RVA: 0x00203828 File Offset: 0x00201A28
|
||||
[Token(Token = "0x6009144")]
|
||||
[Address(RVA = "0x1E84C40", Offset = "0x1E83640", VA = "0x181E84C40")]
|
||||
internal void ReportAuthenticated(long seq)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009144)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsReplayWindow::ReportAuthenticated(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_46:
|
||||
stloc:ArgumentException(var_4_55, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("out of range"), ldstr:string("seq")))
|
||||
}
|
||||
|
||||
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: 0x06009145 RID: 37189 RVA: 0x0020388C File Offset: 0x00201A8C
|
||||
[Token(Token = "0x6009145")]
|
||||
[Address(RVA = "0x1E84D30", Offset = "0x1E83730", VA = "0x181E84D30")]
|
||||
internal void Reset()
|
||||
{
|
||||
this.mLatestConfirmedSeq = (long)((ulong)(-1L));
|
||||
this.mBitmap = (long)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x06009146 RID: 37190 RVA: 0x002038AC File Offset: 0x00201AAC
|
||||
[Token(Token = "0x6009146")]
|
||||
[Address(RVA = "0x1AF6FB0", Offset = "0x1AF59B0", VA = "0x181AF6FB0")]
|
||||
public DtlsReplayWindow()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400605F RID: 24671
|
||||
[Token(Token = "0x400605F")]
|
||||
private const long VALID_SEQ_MASK = 281474976710655L;
|
||||
|
||||
// Token: 0x04006060 RID: 24672
|
||||
[Token(Token = "0x4006060")]
|
||||
private const long WINDOW_SIZE = 64L;
|
||||
|
||||
// Token: 0x04006061 RID: 24673
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006061")]
|
||||
private long mLatestConfirmedSeq = (long)((ulong)(-1L));
|
||||
|
||||
// Token: 0x04006062 RID: 24674
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006062")]
|
||||
private long mBitmap;
|
||||
}
|
||||
}
|
||||
+430
@@ -0,0 +1,430 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001551 RID: 5457
|
||||
[Token(Token = "0x2001551")]
|
||||
[StructLayout(3)]
|
||||
public class DtlsServerProtocol : DtlsProtocol
|
||||
{
|
||||
// Token: 0x06009147 RID: 37191 RVA: 0x002038C8 File Offset: 0x00201AC8
|
||||
[Token(Token = "0x6009147")]
|
||||
[Address(RVA = "0x1E87290", Offset = "0x1E85C90", VA = "0x181E87290")]
|
||||
public DtlsServerProtocol(SecureRandom secureRandom)
|
||||
: base(secureRandom)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x1700176C RID: 5996
|
||||
// (get) Token: 0x06009148 RID: 37192 RVA: 0x002038E4 File Offset: 0x00201AE4
|
||||
// (set) Token: 0x06009149 RID: 37193 RVA: 0x002038F8 File Offset: 0x00201AF8
|
||||
[Token(Token = "0x1700176C")]
|
||||
public virtual bool VerifyRequests
|
||||
{
|
||||
[Token(Token = "0x6009148")]
|
||||
[Address(RVA = "0x4FBF40", Offset = "0x4FA940", VA = "0x1804FBF40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mVerifyRequests;
|
||||
}
|
||||
[Token(Token = "0x6009149")]
|
||||
[Address(RVA = "0x55D5F0", Offset = "0x55BFF0", VA = "0x18055D5F0", Slot = "6")]
|
||||
set
|
||||
{
|
||||
this.mVerifyRequests = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600914A RID: 37194 RVA: 0x0020390C File Offset: 0x00201B0C
|
||||
[Token(Token = "0x600914A")]
|
||||
[Address(RVA = "0x1E84DF0", Offset = "0x1E837F0", VA = "0x181E84DF0", Slot = "7")]
|
||||
public virtual DtlsTransport Accept(TlsServer server, DatagramTransport transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600914A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::Accept(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsServer,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DatagramTransport)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_6D:
|
||||
stloc:ArgumentNullException(var_16_77, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("transport")))
|
||||
}
|
||||
|
||||
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: 0x0600914B RID: 37195 RVA: 0x00203994 File Offset: 0x00201B94
|
||||
[Token(Token = "0x600914B")]
|
||||
[Address(RVA = "0x1E84D90", Offset = "0x1E83790", VA = "0x181E84D90", Slot = "8")]
|
||||
internal virtual void AbortServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription)
|
||||
{
|
||||
recordLayer.Failed();
|
||||
}
|
||||
|
||||
// Token: 0x0600914C RID: 37196 RVA: 0x002039B0 File Offset: 0x00201BB0
|
||||
[Token(Token = "0x600914C")]
|
||||
[Address(RVA = "0x1E867F0", Offset = "0x1E851F0", VA = "0x181E867F0", Slot = "9")]
|
||||
internal virtual DtlsTransport ServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600914C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ServerHandshake(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30F:
|
||||
stloc:TlsFatalAlert(var_66_316, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_67)))
|
||||
stloc:TlsFatalAlert(var_68_31F, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_69)))
|
||||
}
|
||||
|
||||
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: 0x0600914D RID: 37197 RVA: 0x00203CE0 File Offset: 0x00201EE0
|
||||
[Token(Token = "0x600914D")]
|
||||
[Address(RVA = "0x1E85A40", Offset = "0x1E84440", VA = "0x181E85A40", Slot = "10")]
|
||||
protected virtual void InvalidateSession(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (sessionParameters != 0)
|
||||
{
|
||||
sessionParameters.Clear();
|
||||
state.sessionParameters = (ulong)0L;
|
||||
}
|
||||
if (state.tlsSession != 0)
|
||||
{
|
||||
state.tlsSession = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600914E RID: 37198 RVA: 0x00203D20 File Offset: 0x00201F20
|
||||
[Token(Token = "0x600914E")]
|
||||
[Address(RVA = "0x1E851F0", Offset = "0x1E83BF0", VA = "0x181E851F0", Slot = "11")]
|
||||
protected virtual byte[] GenerateCertificateRequest(DtlsServerProtocol.ServerHandshakeState state, CertificateRequest certificateRequest)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
IList certificateAuthorities = certificateRequest.CertificateAuthorities;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600914F RID: 37199 RVA: 0x00203D48 File Offset: 0x00201F48
|
||||
[Token(Token = "0x600914F")]
|
||||
[Address(RVA = "0x1E85280", Offset = "0x1E83C80", VA = "0x181E85280", Slot = "12")]
|
||||
protected virtual byte[] GenerateCertificateStatus(DtlsServerProtocol.ServerHandshakeState state, CertificateStatus certificateStatus)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
OcspResponse ocspResponse = certificateStatus.GetOcspResponse();
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009150 RID: 37200 RVA: 0x00203D70 File Offset: 0x00201F70
|
||||
[Token(Token = "0x6009150")]
|
||||
[Address(RVA = "0x1E85310", Offset = "0x1E83D10", VA = "0x181E85310", Slot = "13")]
|
||||
protected virtual byte[] GenerateNewSessionTicket(DtlsServerProtocol.ServerHandshakeState state, NewSessionTicket newSessionTicket)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
byte[] ticket = newSessionTicket.Ticket;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009151 RID: 37201 RVA: 0x00203D98 File Offset: 0x00201F98
|
||||
[Token(Token = "0x6009151")]
|
||||
[Address(RVA = "0x1E853A0", Offset = "0x1E83DA0", VA = "0x181E853A0", Slot = "14")]
|
||||
protected virtual byte[] GenerateServerHello(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009151)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::GenerateServerHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_213:
|
||||
stloc:TlsFatalAlert(var_39_21A, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_40)))
|
||||
}
|
||||
|
||||
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: 0x06009152 RID: 37202 RVA: 0x00203FC0 File Offset: 0x002021C0
|
||||
[Token(Token = "0x6009152")]
|
||||
[Address(RVA = "0x1E85AB0", Offset = "0x1E844B0", VA = "0x181E85AB0", Slot = "15")]
|
||||
protected virtual void NotifyClientCertificate(DtlsServerProtocol.ServerHandshakeState state, Certificate clientCertificate)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009152)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::NotifyClientCertificate(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_50:
|
||||
stloc:InvalidOperationException(var_5_55, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06009153 RID: 37203 RVA: 0x00204024 File Offset: 0x00202224
|
||||
[Token(Token = "0x6009153")]
|
||||
[Address(RVA = "0x1E86020", Offset = "0x1E84A20", VA = "0x181E86020", Slot = "16")]
|
||||
protected virtual void ProcessClientCertificate(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
Certificate certificate = Certificate.Parse(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x06009154 RID: 37204 RVA: 0x00204048 File Offset: 0x00202248
|
||||
[Token(Token = "0x6009154")]
|
||||
[Address(RVA = "0x1E85C40", Offset = "0x1E84640", VA = "0x181E85C40", Slot = "17")]
|
||||
protected virtual void ProcessCertificateVerify(DtlsServerProtocol.ServerHandshakeState state, byte[] body, TlsHandshakeHash prepareFinishHash)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009154)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessCertificateVerify(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_F7:
|
||||
stloc:InvalidOperationException(var_14_FC, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
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: 0x06009155 RID: 37205 RVA: 0x00204154 File Offset: 0x00202354
|
||||
[Token(Token = "0x6009155")]
|
||||
[Address(RVA = "0x1E860E0", Offset = "0x1E84AE0", VA = "0x181E860E0", Slot = "18")]
|
||||
protected virtual void ProcessClientHello(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009155)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessClientHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_18B:
|
||||
stloc:TlsFatalAlert(var_35_192, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_36)))
|
||||
}
|
||||
|
||||
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: 0x06009156 RID: 37206 RVA: 0x002042F4 File Offset: 0x002024F4
|
||||
[Token(Token = "0x6009156")]
|
||||
[Address(RVA = "0x1E866B0", Offset = "0x1E850B0", VA = "0x181E866B0", Slot = "19")]
|
||||
protected virtual void ProcessClientKeyExchange(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x06009157 RID: 37207 RVA: 0x00204320 File Offset: 0x00202520
|
||||
[Token(Token = "0x6009157")]
|
||||
[Address(RVA = "0x1E86750", Offset = "0x1E85150", VA = "0x181E86750", Slot = "20")]
|
||||
protected virtual void ProcessClientSupplementalData(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
IList list = TlsProtocol.ReadSupplementalDataMessage(memoryStream);
|
||||
TlsServer server = state.server;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009158 RID: 37208 RVA: 0x0020434C File Offset: 0x0020254C
|
||||
[Token(Token = "0x6009158")]
|
||||
[Address(RVA = "0x1E85180", Offset = "0x1E83B80", VA = "0x181E85180", Slot = "21")]
|
||||
protected virtual bool ExpectCertificateVerifyMessage(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
short clientCertificateType = state.clientCertificateType;
|
||||
return TlsUtilities.HasSigningCapability((byte)clientCertificateType);
|
||||
}
|
||||
|
||||
// Token: 0x04006063 RID: 24675
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006063")]
|
||||
protected bool mVerifyRequests = true;
|
||||
|
||||
// Token: 0x02001552 RID: 5458
|
||||
[Token(Token = "0x2001552")]
|
||||
protected internal class ServerHandshakeState
|
||||
{
|
||||
// Token: 0x06009159 RID: 37209 RVA: 0x00204370 File Offset: 0x00202570
|
||||
[Token(Token = "0x6009159")]
|
||||
[Address(RVA = "0x1E8B270", Offset = "0x1E89C70", VA = "0x181E8B270")]
|
||||
public ServerHandshakeState()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006064 RID: 24676
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006064")]
|
||||
internal TlsServer server;
|
||||
|
||||
// Token: 0x04006065 RID: 24677
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006065")]
|
||||
internal TlsServerContextImpl serverContext;
|
||||
|
||||
// Token: 0x04006066 RID: 24678
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006066")]
|
||||
internal TlsSession tlsSession;
|
||||
|
||||
// Token: 0x04006067 RID: 24679
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006067")]
|
||||
internal SessionParameters sessionParameters;
|
||||
|
||||
// Token: 0x04006068 RID: 24680
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006068")]
|
||||
internal SessionParameters.Builder sessionParametersBuilder;
|
||||
|
||||
// Token: 0x04006069 RID: 24681
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006069")]
|
||||
internal int[] offeredCipherSuites;
|
||||
|
||||
// Token: 0x0400606A RID: 24682
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400606A")]
|
||||
internal byte[] offeredCompressionMethods;
|
||||
|
||||
// Token: 0x0400606B RID: 24683
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400606B")]
|
||||
internal IDictionary clientExtensions;
|
||||
|
||||
// Token: 0x0400606C RID: 24684
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x400606C")]
|
||||
internal IDictionary serverExtensions;
|
||||
|
||||
// Token: 0x0400606D RID: 24685
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x400606D")]
|
||||
internal bool resumedSession;
|
||||
|
||||
// Token: 0x0400606E RID: 24686
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x59")]
|
||||
[Token(Token = "0x400606E")]
|
||||
internal bool secure_renegotiation;
|
||||
|
||||
// Token: 0x0400606F RID: 24687
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x400606F")]
|
||||
internal bool allowCertificateStatus;
|
||||
|
||||
// Token: 0x04006070 RID: 24688
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x4006070")]
|
||||
internal bool expectSessionTicket;
|
||||
|
||||
// Token: 0x04006071 RID: 24689
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006071")]
|
||||
internal TlsKeyExchange keyExchange;
|
||||
|
||||
// Token: 0x04006072 RID: 24690
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006072")]
|
||||
internal TlsCredentials serverCredentials;
|
||||
|
||||
// Token: 0x04006073 RID: 24691
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006073")]
|
||||
internal CertificateRequest certificateRequest;
|
||||
|
||||
// Token: 0x04006074 RID: 24692
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006074")]
|
||||
internal short clientCertificateType = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x04006075 RID: 24693
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006075")]
|
||||
internal Certificate clientCertificate;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001553 RID: 5459
|
||||
[Token(Token = "0x2001553")]
|
||||
[StructLayout(3)]
|
||||
public class DtlsTransport : DatagramTransport
|
||||
{
|
||||
// Token: 0x0600915A RID: 37210 RVA: 0x0020438C File Offset: 0x0020258C
|
||||
[Token(Token = "0x600915A")]
|
||||
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
|
||||
internal DtlsTransport(DtlsRecordLayer recordLayer)
|
||||
{
|
||||
this.mRecordLayer = recordLayer;
|
||||
}
|
||||
|
||||
// Token: 0x0600915B RID: 37211 RVA: 0x002043A8 File Offset: 0x002025A8
|
||||
[Token(Token = "0x600915B")]
|
||||
[Address(RVA = "0x78FDE0", Offset = "0x78E7E0", VA = "0x18078FDE0", Slot = "9")]
|
||||
public virtual int GetReceiveLimit()
|
||||
{
|
||||
return ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600915C RID: 37212 RVA: 0x002043C8 File Offset: 0x002025C8
|
||||
[Token(Token = "0x600915C")]
|
||||
[Address(RVA = "0x78FCF0", Offset = "0x78E6F0", VA = "0x18078FCF0", Slot = "10")]
|
||||
public virtual int GetSendLimit()
|
||||
{
|
||||
return ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600915D RID: 37213 RVA: 0x002043E8 File Offset: 0x002025E8
|
||||
[Token(Token = "0x600915D")]
|
||||
[Address(RVA = "0x1E87810", Offset = "0x1E86210", VA = "0x181E87810", Slot = "11")]
|
||||
public virtual int Receive(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
return this.mRecordLayer.GetSendLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600915E RID: 37214 RVA: 0x00204418 File Offset: 0x00202618
|
||||
[Token(Token = "0x600915E")]
|
||||
[Address(RVA = "0x1E87990", Offset = "0x1E86390", VA = "0x181E87990", Slot = "12")]
|
||||
public virtual void Send(byte[] buf, int off, int len)
|
||||
{
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
}
|
||||
|
||||
// Token: 0x0600915F RID: 37215 RVA: 0x00204440 File Offset: 0x00202640
|
||||
[Token(Token = "0x600915F")]
|
||||
[Address(RVA = "0x1E877E0", Offset = "0x1E861E0", VA = "0x181E877E0", Slot = "13")]
|
||||
public virtual void Close()
|
||||
{
|
||||
int receiveLimit = ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x04006076 RID: 24694
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006076")]
|
||||
private readonly DtlsRecordLayer mRecordLayer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001554 RID: 5460
|
||||
[Token(Token = "0x2001554")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ECBasisType
|
||||
{
|
||||
// Token: 0x06009160 RID: 37216 RVA: 0x00204460 File Offset: 0x00202660
|
||||
[Token(Token = "0x6009160")]
|
||||
[Address(RVA = "0x1E87B00", Offset = "0x1E86500", VA = "0x181E87B00")]
|
||||
public static bool IsValid(byte ecBasisType)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009161 RID: 37217 RVA: 0x00204470 File Offset: 0x00202670
|
||||
[Token(Token = "0x6009161")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ECBasisType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006077 RID: 24695
|
||||
[Token(Token = "0x4006077")]
|
||||
public const byte ec_basis_trinomial = 1;
|
||||
|
||||
// Token: 0x04006078 RID: 24696
|
||||
[Token(Token = "0x4006078")]
|
||||
public const byte ec_basis_pentanomial = 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001555 RID: 5461
|
||||
[Token(Token = "0x2001555")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ECCurveType
|
||||
{
|
||||
// Token: 0x06009162 RID: 37218 RVA: 0x00204484 File Offset: 0x00202684
|
||||
[Token(Token = "0x6009162")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ECCurveType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006079 RID: 24697
|
||||
[Token(Token = "0x4006079")]
|
||||
public const byte explicit_prime = 1;
|
||||
|
||||
// Token: 0x0400607A RID: 24698
|
||||
[Token(Token = "0x400607A")]
|
||||
public const byte explicit_char2 = 2;
|
||||
|
||||
// Token: 0x0400607B RID: 24699
|
||||
[Token(Token = "0x400607B")]
|
||||
public const byte named_curve = 3;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001556 RID: 5462
|
||||
[Token(Token = "0x2001556")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ECPointFormat
|
||||
{
|
||||
// Token: 0x06009163 RID: 37219 RVA: 0x00204498 File Offset: 0x00202698
|
||||
[Token(Token = "0x6009163")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ECPointFormat()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400607C RID: 24700
|
||||
[Token(Token = "0x400607C")]
|
||||
public const byte uncompressed = 0;
|
||||
|
||||
// Token: 0x0400607D RID: 24701
|
||||
[Token(Token = "0x400607D")]
|
||||
public const byte ansiX962_compressed_prime = 1;
|
||||
|
||||
// Token: 0x0400607E RID: 24702
|
||||
[Token(Token = "0x400607E")]
|
||||
public const byte ansiX962_compressed_char2 = 2;
|
||||
}
|
||||
}
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001557 RID: 5463
|
||||
[Token(Token = "0x2001557")]
|
||||
[StructLayout(3)]
|
||||
public abstract class EncryptionAlgorithm
|
||||
{
|
||||
// Token: 0x06009164 RID: 37220 RVA: 0x002044AC File Offset: 0x002026AC
|
||||
[Token(Token = "0x6009164")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected EncryptionAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400607F RID: 24703
|
||||
[Token(Token = "0x400607F")]
|
||||
public const int NULL = 0;
|
||||
|
||||
// Token: 0x04006080 RID: 24704
|
||||
[Token(Token = "0x4006080")]
|
||||
public const int RC4_40 = 1;
|
||||
|
||||
// Token: 0x04006081 RID: 24705
|
||||
[Token(Token = "0x4006081")]
|
||||
public const int RC4_128 = 2;
|
||||
|
||||
// Token: 0x04006082 RID: 24706
|
||||
[Token(Token = "0x4006082")]
|
||||
public const int RC2_CBC_40 = 3;
|
||||
|
||||
// Token: 0x04006083 RID: 24707
|
||||
[Token(Token = "0x4006083")]
|
||||
public const int IDEA_CBC = 4;
|
||||
|
||||
// Token: 0x04006084 RID: 24708
|
||||
[Token(Token = "0x4006084")]
|
||||
public const int DES40_CBC = 5;
|
||||
|
||||
// Token: 0x04006085 RID: 24709
|
||||
[Token(Token = "0x4006085")]
|
||||
public const int DES_CBC = 6;
|
||||
|
||||
// Token: 0x04006086 RID: 24710
|
||||
[Token(Token = "0x4006086")]
|
||||
public const int cls_3DES_EDE_CBC = 7;
|
||||
|
||||
// Token: 0x04006087 RID: 24711
|
||||
[Token(Token = "0x4006087")]
|
||||
public const int AES_128_CBC = 8;
|
||||
|
||||
// Token: 0x04006088 RID: 24712
|
||||
[Token(Token = "0x4006088")]
|
||||
public const int AES_256_CBC = 9;
|
||||
|
||||
// Token: 0x04006089 RID: 24713
|
||||
[Token(Token = "0x4006089")]
|
||||
public const int AES_128_GCM = 10;
|
||||
|
||||
// Token: 0x0400608A RID: 24714
|
||||
[Token(Token = "0x400608A")]
|
||||
public const int AES_256_GCM = 11;
|
||||
|
||||
// Token: 0x0400608B RID: 24715
|
||||
[Token(Token = "0x400608B")]
|
||||
public const int CAMELLIA_128_CBC = 12;
|
||||
|
||||
// Token: 0x0400608C RID: 24716
|
||||
[Token(Token = "0x400608C")]
|
||||
public const int CAMELLIA_256_CBC = 13;
|
||||
|
||||
// Token: 0x0400608D RID: 24717
|
||||
[Token(Token = "0x400608D")]
|
||||
public const int SEED_CBC = 14;
|
||||
|
||||
// Token: 0x0400608E RID: 24718
|
||||
[Token(Token = "0x400608E")]
|
||||
public const int AES_128_CCM = 15;
|
||||
|
||||
// Token: 0x0400608F RID: 24719
|
||||
[Token(Token = "0x400608F")]
|
||||
public const int AES_128_CCM_8 = 16;
|
||||
|
||||
// Token: 0x04006090 RID: 24720
|
||||
[Token(Token = "0x4006090")]
|
||||
public const int AES_256_CCM = 17;
|
||||
|
||||
// Token: 0x04006091 RID: 24721
|
||||
[Token(Token = "0x4006091")]
|
||||
public const int AES_256_CCM_8 = 18;
|
||||
|
||||
// Token: 0x04006092 RID: 24722
|
||||
[Token(Token = "0x4006092")]
|
||||
public const int CAMELLIA_128_GCM = 19;
|
||||
|
||||
// Token: 0x04006093 RID: 24723
|
||||
[Token(Token = "0x4006093")]
|
||||
public const int CAMELLIA_256_GCM = 20;
|
||||
|
||||
// Token: 0x04006094 RID: 24724
|
||||
[Token(Token = "0x4006094")]
|
||||
public const int CHACHA20_POLY1305 = 21;
|
||||
|
||||
// Token: 0x04006095 RID: 24725
|
||||
[Token(Token = "0x4006095")]
|
||||
public const int AES_128_OCB_TAGLEN96 = 103;
|
||||
|
||||
// Token: 0x04006096 RID: 24726
|
||||
[Token(Token = "0x4006096")]
|
||||
public const int AES_256_OCB_TAGLEN96 = 104;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001558 RID: 5464
|
||||
[Token(Token = "0x2001558")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ExporterLabel
|
||||
{
|
||||
// Token: 0x06009165 RID: 37221 RVA: 0x002044C0 File Offset: 0x002026C0
|
||||
[Token(Token = "0x6009165")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ExporterLabel()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006097 RID: 24727
|
||||
[Token(Token = "0x4006097")]
|
||||
public const string client_finished = "client finished";
|
||||
|
||||
// Token: 0x04006098 RID: 24728
|
||||
[Token(Token = "0x4006098")]
|
||||
public const string server_finished = "server finished";
|
||||
|
||||
// Token: 0x04006099 RID: 24729
|
||||
[Token(Token = "0x4006099")]
|
||||
public const string master_secret = "master secret";
|
||||
|
||||
// Token: 0x0400609A RID: 24730
|
||||
[Token(Token = "0x400609A")]
|
||||
public const string key_expansion = "key expansion";
|
||||
|
||||
// Token: 0x0400609B RID: 24731
|
||||
[Token(Token = "0x400609B")]
|
||||
public const string client_EAP_encryption = "client EAP encryption";
|
||||
|
||||
// Token: 0x0400609C RID: 24732
|
||||
[Token(Token = "0x400609C")]
|
||||
public const string ttls_keying_material = "ttls keying material";
|
||||
|
||||
// Token: 0x0400609D RID: 24733
|
||||
[Token(Token = "0x400609D")]
|
||||
public const string ttls_challenge = "ttls challenge";
|
||||
|
||||
// Token: 0x0400609E RID: 24734
|
||||
[Token(Token = "0x400609E")]
|
||||
public const string dtls_srtp = "EXTRACTOR-dtls_srtp";
|
||||
|
||||
// Token: 0x0400609F RID: 24735
|
||||
[Token(Token = "0x400609F")]
|
||||
public static readonly string extended_master_secret;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001559 RID: 5465
|
||||
[Token(Token = "0x2001559")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ExtensionType
|
||||
{
|
||||
// Token: 0x06009167 RID: 37223 RVA: 0x002044E4 File Offset: 0x002026E4
|
||||
[Token(Token = "0x6009167")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ExtensionType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040060A0 RID: 24736
|
||||
[Token(Token = "0x40060A0")]
|
||||
public const int server_name = 0;
|
||||
|
||||
// Token: 0x040060A1 RID: 24737
|
||||
[Token(Token = "0x40060A1")]
|
||||
public const int max_fragment_length = 1;
|
||||
|
||||
// Token: 0x040060A2 RID: 24738
|
||||
[Token(Token = "0x40060A2")]
|
||||
public const int client_certificate_url = 2;
|
||||
|
||||
// Token: 0x040060A3 RID: 24739
|
||||
[Token(Token = "0x40060A3")]
|
||||
public const int trusted_ca_keys = 3;
|
||||
|
||||
// Token: 0x040060A4 RID: 24740
|
||||
[Token(Token = "0x40060A4")]
|
||||
public const int truncated_hmac = 4;
|
||||
|
||||
// Token: 0x040060A5 RID: 24741
|
||||
[Token(Token = "0x40060A5")]
|
||||
public const int status_request = 5;
|
||||
|
||||
// Token: 0x040060A6 RID: 24742
|
||||
[Token(Token = "0x40060A6")]
|
||||
public const int user_mapping = 6;
|
||||
|
||||
// Token: 0x040060A7 RID: 24743
|
||||
[Token(Token = "0x40060A7")]
|
||||
public const int client_authz = 7;
|
||||
|
||||
// Token: 0x040060A8 RID: 24744
|
||||
[Token(Token = "0x40060A8")]
|
||||
public const int server_authz = 8;
|
||||
|
||||
// Token: 0x040060A9 RID: 24745
|
||||
[Token(Token = "0x40060A9")]
|
||||
public const int cert_type = 9;
|
||||
|
||||
// Token: 0x040060AA RID: 24746
|
||||
[Token(Token = "0x40060AA")]
|
||||
public const int supported_groups = 10;
|
||||
|
||||
// Token: 0x040060AB RID: 24747
|
||||
[Token(Token = "0x40060AB")]
|
||||
[Obsolete]
|
||||
public const int elliptic_curves = 10;
|
||||
|
||||
// Token: 0x040060AC RID: 24748
|
||||
[Token(Token = "0x40060AC")]
|
||||
public const int ec_point_formats = 11;
|
||||
|
||||
// Token: 0x040060AD RID: 24749
|
||||
[Token(Token = "0x40060AD")]
|
||||
public const int srp = 12;
|
||||
|
||||
// Token: 0x040060AE RID: 24750
|
||||
[Token(Token = "0x40060AE")]
|
||||
public const int signature_algorithms = 13;
|
||||
|
||||
// Token: 0x040060AF RID: 24751
|
||||
[Token(Token = "0x40060AF")]
|
||||
public const int use_srtp = 14;
|
||||
|
||||
// Token: 0x040060B0 RID: 24752
|
||||
[Token(Token = "0x40060B0")]
|
||||
public const int heartbeat = 15;
|
||||
|
||||
// Token: 0x040060B1 RID: 24753
|
||||
[Token(Token = "0x40060B1")]
|
||||
public const int application_layer_protocol_negotiation = 16;
|
||||
|
||||
// Token: 0x040060B2 RID: 24754
|
||||
[Token(Token = "0x40060B2")]
|
||||
public const int status_request_v2 = 17;
|
||||
|
||||
// Token: 0x040060B3 RID: 24755
|
||||
[Token(Token = "0x40060B3")]
|
||||
public const int signed_certificate_timestamp = 18;
|
||||
|
||||
// Token: 0x040060B4 RID: 24756
|
||||
[Token(Token = "0x40060B4")]
|
||||
public const int client_certificate_type = 19;
|
||||
|
||||
// Token: 0x040060B5 RID: 24757
|
||||
[Token(Token = "0x40060B5")]
|
||||
public const int server_certificate_type = 20;
|
||||
|
||||
// Token: 0x040060B6 RID: 24758
|
||||
[Token(Token = "0x40060B6")]
|
||||
public const int padding = 21;
|
||||
|
||||
// Token: 0x040060B7 RID: 24759
|
||||
[Token(Token = "0x40060B7")]
|
||||
public const int encrypt_then_mac = 22;
|
||||
|
||||
// Token: 0x040060B8 RID: 24760
|
||||
[Token(Token = "0x40060B8")]
|
||||
public const int extended_master_secret = 23;
|
||||
|
||||
// Token: 0x040060B9 RID: 24761
|
||||
[Token(Token = "0x40060B9")]
|
||||
public static readonly int DRAFT_token_binding;
|
||||
|
||||
// Token: 0x040060BA RID: 24762
|
||||
[Token(Token = "0x40060BA")]
|
||||
public const int cached_info = 25;
|
||||
|
||||
// Token: 0x040060BB RID: 24763
|
||||
[Token(Token = "0x40060BB")]
|
||||
public const int session_ticket = 35;
|
||||
|
||||
// Token: 0x040060BC RID: 24764
|
||||
[Token(Token = "0x40060BC")]
|
||||
public static readonly int negotiated_ff_dhe_groups;
|
||||
|
||||
// Token: 0x040060BD RID: 24765
|
||||
[Token(Token = "0x40060BD")]
|
||||
public const int renegotiation_info = 65281;
|
||||
}
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200155A RID: 5466
|
||||
[Token(Token = "0x200155A")]
|
||||
[StructLayout(3)]
|
||||
public abstract class FiniteFieldDheGroup
|
||||
{
|
||||
// Token: 0x06009169 RID: 37225 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009169")]
|
||||
[Address(RVA = "0x1E87BA0", Offset = "0x1E865A0", VA = "0x181E87BA0")]
|
||||
public static bool IsValid(byte group)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600916A RID: 37226 RVA: 0x00204508 File Offset: 0x00202708
|
||||
[Token(Token = "0x600916A")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected FiniteFieldDheGroup()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040060BE RID: 24766
|
||||
[Token(Token = "0x40060BE")]
|
||||
public const byte ffdhe2432 = 0;
|
||||
|
||||
// Token: 0x040060BF RID: 24767
|
||||
[Token(Token = "0x40060BF")]
|
||||
public const byte ffdhe3072 = 1;
|
||||
|
||||
// Token: 0x040060C0 RID: 24768
|
||||
[Token(Token = "0x40060C0")]
|
||||
public const byte ffdhe4096 = 2;
|
||||
|
||||
// Token: 0x040060C1 RID: 24769
|
||||
[Token(Token = "0x40060C1")]
|
||||
public const byte ffdhe6144 = 3;
|
||||
|
||||
// Token: 0x040060C2 RID: 24770
|
||||
[Token(Token = "0x40060C2")]
|
||||
public const byte ffdhe8192 = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200155B RID: 5467
|
||||
[Token(Token = "0x200155B")]
|
||||
[StructLayout(3)]
|
||||
public abstract class HandshakeType
|
||||
{
|
||||
// Token: 0x0600916B RID: 37227 RVA: 0x0020451C File Offset: 0x0020271C
|
||||
[Token(Token = "0x600916B")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected HandshakeType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040060C3 RID: 24771
|
||||
[Token(Token = "0x40060C3")]
|
||||
public const byte hello_request = 0;
|
||||
|
||||
// Token: 0x040060C4 RID: 24772
|
||||
[Token(Token = "0x40060C4")]
|
||||
public const byte client_hello = 1;
|
||||
|
||||
// Token: 0x040060C5 RID: 24773
|
||||
[Token(Token = "0x40060C5")]
|
||||
public const byte server_hello = 2;
|
||||
|
||||
// Token: 0x040060C6 RID: 24774
|
||||
[Token(Token = "0x40060C6")]
|
||||
public const byte certificate = 11;
|
||||
|
||||
// Token: 0x040060C7 RID: 24775
|
||||
[Token(Token = "0x40060C7")]
|
||||
public const byte server_key_exchange = 12;
|
||||
|
||||
// Token: 0x040060C8 RID: 24776
|
||||
[Token(Token = "0x40060C8")]
|
||||
public const byte certificate_request = 13;
|
||||
|
||||
// Token: 0x040060C9 RID: 24777
|
||||
[Token(Token = "0x40060C9")]
|
||||
public const byte server_hello_done = 14;
|
||||
|
||||
// Token: 0x040060CA RID: 24778
|
||||
[Token(Token = "0x40060CA")]
|
||||
public const byte certificate_verify = 15;
|
||||
|
||||
// Token: 0x040060CB RID: 24779
|
||||
[Token(Token = "0x40060CB")]
|
||||
public const byte client_key_exchange = 16;
|
||||
|
||||
// Token: 0x040060CC RID: 24780
|
||||
[Token(Token = "0x40060CC")]
|
||||
public const byte finished = 20;
|
||||
|
||||
// Token: 0x040060CD RID: 24781
|
||||
[Token(Token = "0x40060CD")]
|
||||
public const byte certificate_url = 21;
|
||||
|
||||
// Token: 0x040060CE RID: 24782
|
||||
[Token(Token = "0x40060CE")]
|
||||
public const byte certificate_status = 22;
|
||||
|
||||
// Token: 0x040060CF RID: 24783
|
||||
[Token(Token = "0x40060CF")]
|
||||
public const byte hello_verify_request = 3;
|
||||
|
||||
// Token: 0x040060D0 RID: 24784
|
||||
[Token(Token = "0x40060D0")]
|
||||
public const byte supplemental_data = 23;
|
||||
|
||||
// Token: 0x040060D1 RID: 24785
|
||||
[Token(Token = "0x40060D1")]
|
||||
public const byte session_ticket = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200155C RID: 5468
|
||||
[Token(Token = "0x200155C")]
|
||||
[StructLayout(3)]
|
||||
public abstract class HashAlgorithm
|
||||
{
|
||||
// Token: 0x0600916C RID: 37228 RVA: 0x00204530 File Offset: 0x00202730
|
||||
[Token(Token = "0x600916C")]
|
||||
[Address(RVA = "0x1E87C40", Offset = "0x1E86640", VA = "0x181E87C40")]
|
||||
public static string GetName(byte hashAlgorithm)
|
||||
{
|
||||
return "none";
|
||||
}
|
||||
|
||||
// Token: 0x0600916D RID: 37229 RVA: 0x0020456C File Offset: 0x0020276C
|
||||
[Token(Token = "0x600916D")]
|
||||
[Address(RVA = "0x1E87D10", Offset = "0x1E86710", VA = "0x181E87D10")]
|
||||
public static string GetText(byte hashAlgorithm)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
if ("UNKNOWN" != 0)
|
||||
{
|
||||
}
|
||||
array[0] = "UNKNOWN";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600916E RID: 37230 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600916E")]
|
||||
[Address(RVA = "0x1E87F80", Offset = "0x1E86980", VA = "0x181E87F80")]
|
||||
public static bool IsPrivate(byte hashAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600916F RID: 37231 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600916F")]
|
||||
[Address(RVA = "0x1E87F90", Offset = "0x1E86990", VA = "0x181E87F90")]
|
||||
public static bool IsRecognized(byte hashAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009170 RID: 37232 RVA: 0x002045DC File Offset: 0x002027DC
|
||||
[Token(Token = "0x6009170")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected HashAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040060D2 RID: 24786
|
||||
[Token(Token = "0x40060D2")]
|
||||
public const byte none = 0;
|
||||
|
||||
// Token: 0x040060D3 RID: 24787
|
||||
[Token(Token = "0x40060D3")]
|
||||
public const byte md5 = 1;
|
||||
|
||||
// Token: 0x040060D4 RID: 24788
|
||||
[Token(Token = "0x40060D4")]
|
||||
public const byte sha1 = 2;
|
||||
|
||||
// Token: 0x040060D5 RID: 24789
|
||||
[Token(Token = "0x40060D5")]
|
||||
public const byte sha224 = 3;
|
||||
|
||||
// Token: 0x040060D6 RID: 24790
|
||||
[Token(Token = "0x40060D6")]
|
||||
public const byte sha256 = 4;
|
||||
|
||||
// Token: 0x040060D7 RID: 24791
|
||||
[Token(Token = "0x40060D7")]
|
||||
public const byte sha384 = 5;
|
||||
|
||||
// Token: 0x040060D8 RID: 24792
|
||||
[Token(Token = "0x40060D8")]
|
||||
public const byte sha512 = 6;
|
||||
}
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200155D RID: 5469
|
||||
[Token(Token = "0x200155D")]
|
||||
[StructLayout(3)]
|
||||
public class HeartbeatExtension
|
||||
{
|
||||
// Token: 0x06009171 RID: 37233 RVA: 0x002045F0 File Offset: 0x002027F0
|
||||
[Token(Token = "0x6009171")]
|
||||
[Address(RVA = "0x1E88130", Offset = "0x1E86B30", VA = "0x181E88130")]
|
||||
public HeartbeatExtension(byte mode)
|
||||
{
|
||||
this.mMode = mode;
|
||||
}
|
||||
|
||||
// Token: 0x1700176D RID: 5997
|
||||
// (get) Token: 0x06009172 RID: 37234 RVA: 0x0020461C File Offset: 0x0020281C
|
||||
[Token(Token = "0x1700176D")]
|
||||
public virtual byte Mode
|
||||
{
|
||||
[Token(Token = "0x6009172")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mMode;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009173 RID: 37235 RVA: 0x00204630 File Offset: 0x00202830
|
||||
[Token(Token = "0x6009173")]
|
||||
[Address(RVA = "0x1E87FA0", Offset = "0x1E869A0", VA = "0x181E87FA0", Slot = "5")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mMode, output);
|
||||
}
|
||||
|
||||
// Token: 0x06009174 RID: 37236 RVA: 0x0020464C File Offset: 0x0020284C
|
||||
[Token(Token = "0x6009174")]
|
||||
[Address(RVA = "0x1E88010", Offset = "0x1E86A10", VA = "0x181E88010")]
|
||||
public static HeartbeatExtension Parse(Stream input)
|
||||
{
|
||||
byte b = TlsUtilities.ReadUint8(input);
|
||||
HeartbeatExtension heartbeatExtension;
|
||||
heartbeatExtension.mMode = b;
|
||||
return heartbeatExtension;
|
||||
}
|
||||
|
||||
// Token: 0x040060D9 RID: 24793
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40060D9")]
|
||||
protected readonly byte mMode;
|
||||
}
|
||||
}
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200155E RID: 5470
|
||||
[Token(Token = "0x200155E")]
|
||||
[StructLayout(3)]
|
||||
public class HeartbeatMessage
|
||||
{
|
||||
// Token: 0x06009175 RID: 37237 RVA: 0x00204678 File Offset: 0x00202878
|
||||
[Token(Token = "0x6009175")]
|
||||
[Address(RVA = "0x1E88630", Offset = "0x1E87030", VA = "0x181E88630")]
|
||||
public HeartbeatMessage(byte type, byte[] payload, int paddingLength)
|
||||
{
|
||||
do
|
||||
{
|
||||
base..ctor();
|
||||
}
|
||||
while (payload == 0 || payload.Length >= 65536);
|
||||
this.mType = type;
|
||||
this.mPaddingLength = paddingLength;
|
||||
this.mPayload = payload;
|
||||
}
|
||||
|
||||
// Token: 0x06009176 RID: 37238 RVA: 0x002046C4 File Offset: 0x002028C4
|
||||
[Token(Token = "0x6009176")]
|
||||
[Address(RVA = "0x1E881C0", Offset = "0x1E86BC0", VA = "0x181E881C0", Slot = "4")]
|
||||
public virtual void Encode(TlsContext context, Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mType, output);
|
||||
TlsUtilities.CheckUint16(this.mPayload.Length);
|
||||
TlsUtilities.WriteUint16(this.mPayload.Length, output);
|
||||
byte[] array = this.mPayload;
|
||||
int num = output.ReadByte();
|
||||
byte[] array2 = new byte[this.mPaddingLength];
|
||||
int num2 = output.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x06009177 RID: 37239 RVA: 0x00204728 File Offset: 0x00202928
|
||||
[Token(Token = "0x6009177")]
|
||||
[Address(RVA = "0x1E88320", Offset = "0x1E86D20", VA = "0x181E88320")]
|
||||
public static HeartbeatMessage Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009177)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.HeartbeatMessage BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.HeartbeatMessage::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_69:
|
||||
stloc:TlsFatalAlert(var_7_70, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_8)))
|
||||
}
|
||||
|
||||
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: 0x040060DA RID: 24794
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40060DA")]
|
||||
protected readonly byte mType;
|
||||
|
||||
// Token: 0x040060DB RID: 24795
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40060DB")]
|
||||
protected readonly byte[] mPayload;
|
||||
|
||||
// Token: 0x040060DC RID: 24796
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40060DC")]
|
||||
protected readonly int mPaddingLength;
|
||||
|
||||
// Token: 0x0200155F RID: 5471
|
||||
[Token(Token = "0x200155F")]
|
||||
internal class PayloadBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x06009178 RID: 37240 RVA: 0x002047A8 File Offset: 0x002029A8
|
||||
[Token(Token = "0x6009178")]
|
||||
[Address(RVA = "0x1E88ED0", Offset = "0x1E878D0", VA = "0x181E88ED0")]
|
||||
internal byte[] ToTruncatedByteArray(int payloadLength)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009179 RID: 37241 RVA: 0x002047C0 File Offset: 0x002029C0
|
||||
[Token(Token = "0x6009179")]
|
||||
[Address(RVA = "0x1E39980", Offset = "0x1E38380", VA = "0x181E39980")]
|
||||
public PayloadBuffer()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001560 RID: 5472
|
||||
[Token(Token = "0x2001560")]
|
||||
[StructLayout(3)]
|
||||
public abstract class HeartbeatMessageType
|
||||
{
|
||||
// Token: 0x0600917A RID: 37242 RVA: 0x002047D4 File Offset: 0x002029D4
|
||||
[Token(Token = "0x600917A")]
|
||||
[Address(RVA = "0x1E87B00", Offset = "0x1E86500", VA = "0x181E87B00")]
|
||||
public static bool IsValid(byte heartbeatMessageType)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600917B RID: 37243 RVA: 0x002047E4 File Offset: 0x002029E4
|
||||
[Token(Token = "0x600917B")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected HeartbeatMessageType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040060DD RID: 24797
|
||||
[Token(Token = "0x40060DD")]
|
||||
public const byte heartbeat_request = 1;
|
||||
|
||||
// Token: 0x040060DE RID: 24798
|
||||
[Token(Token = "0x40060DE")]
|
||||
public const byte heartbeat_response = 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001561 RID: 5473
|
||||
[Token(Token = "0x2001561")]
|
||||
[StructLayout(3)]
|
||||
public abstract class HeartbeatMode
|
||||
{
|
||||
// Token: 0x0600917C RID: 37244 RVA: 0x002047F8 File Offset: 0x002029F8
|
||||
[Token(Token = "0x600917C")]
|
||||
[Address(RVA = "0x1E87B00", Offset = "0x1E86500", VA = "0x181E87B00")]
|
||||
public static bool IsValid(byte heartbeatMode)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600917D RID: 37245 RVA: 0x00204808 File Offset: 0x00202A08
|
||||
[Token(Token = "0x600917D")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected HeartbeatMode()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040060DF RID: 24799
|
||||
[Token(Token = "0x40060DF")]
|
||||
public const byte peer_allowed_to_send = 1;
|
||||
|
||||
// Token: 0x040060E0 RID: 24800
|
||||
[Token(Token = "0x40060E0")]
|
||||
public const byte peer_not_allowed_to_send = 2;
|
||||
}
|
||||
}
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001562 RID: 5474
|
||||
[Token(Token = "0x2001562")]
|
||||
[StructLayout(3)]
|
||||
public abstract class KeyExchangeAlgorithm
|
||||
{
|
||||
// Token: 0x0600917E RID: 37246 RVA: 0x0020481C File Offset: 0x00202A1C
|
||||
[Token(Token = "0x600917E")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected KeyExchangeAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040060E1 RID: 24801
|
||||
[Token(Token = "0x40060E1")]
|
||||
public const int NULL = 0;
|
||||
|
||||
// Token: 0x040060E2 RID: 24802
|
||||
[Token(Token = "0x40060E2")]
|
||||
public const int RSA = 1;
|
||||
|
||||
// Token: 0x040060E3 RID: 24803
|
||||
[Token(Token = "0x40060E3")]
|
||||
public const int RSA_EXPORT = 2;
|
||||
|
||||
// Token: 0x040060E4 RID: 24804
|
||||
[Token(Token = "0x40060E4")]
|
||||
public const int DHE_DSS = 3;
|
||||
|
||||
// Token: 0x040060E5 RID: 24805
|
||||
[Token(Token = "0x40060E5")]
|
||||
public const int DHE_DSS_EXPORT = 4;
|
||||
|
||||
// Token: 0x040060E6 RID: 24806
|
||||
[Token(Token = "0x40060E6")]
|
||||
public const int DHE_RSA = 5;
|
||||
|
||||
// Token: 0x040060E7 RID: 24807
|
||||
[Token(Token = "0x40060E7")]
|
||||
public const int DHE_RSA_EXPORT = 6;
|
||||
|
||||
// Token: 0x040060E8 RID: 24808
|
||||
[Token(Token = "0x40060E8")]
|
||||
public const int DH_DSS = 7;
|
||||
|
||||
// Token: 0x040060E9 RID: 24809
|
||||
[Token(Token = "0x40060E9")]
|
||||
public const int DH_DSS_EXPORT = 8;
|
||||
|
||||
// Token: 0x040060EA RID: 24810
|
||||
[Token(Token = "0x40060EA")]
|
||||
public const int DH_RSA = 9;
|
||||
|
||||
// Token: 0x040060EB RID: 24811
|
||||
[Token(Token = "0x40060EB")]
|
||||
public const int DH_RSA_EXPORT = 10;
|
||||
|
||||
// Token: 0x040060EC RID: 24812
|
||||
[Token(Token = "0x40060EC")]
|
||||
public const int DH_anon = 11;
|
||||
|
||||
// Token: 0x040060ED RID: 24813
|
||||
[Token(Token = "0x40060ED")]
|
||||
public const int DH_anon_EXPORT = 12;
|
||||
|
||||
// Token: 0x040060EE RID: 24814
|
||||
[Token(Token = "0x40060EE")]
|
||||
public const int PSK = 13;
|
||||
|
||||
// Token: 0x040060EF RID: 24815
|
||||
[Token(Token = "0x40060EF")]
|
||||
public const int DHE_PSK = 14;
|
||||
|
||||
// Token: 0x040060F0 RID: 24816
|
||||
[Token(Token = "0x40060F0")]
|
||||
public const int RSA_PSK = 15;
|
||||
|
||||
// Token: 0x040060F1 RID: 24817
|
||||
[Token(Token = "0x40060F1")]
|
||||
public const int ECDH_ECDSA = 16;
|
||||
|
||||
// Token: 0x040060F2 RID: 24818
|
||||
[Token(Token = "0x40060F2")]
|
||||
public const int ECDHE_ECDSA = 17;
|
||||
|
||||
// Token: 0x040060F3 RID: 24819
|
||||
[Token(Token = "0x40060F3")]
|
||||
public const int ECDH_RSA = 18;
|
||||
|
||||
// Token: 0x040060F4 RID: 24820
|
||||
[Token(Token = "0x40060F4")]
|
||||
public const int ECDHE_RSA = 19;
|
||||
|
||||
// Token: 0x040060F5 RID: 24821
|
||||
[Token(Token = "0x40060F5")]
|
||||
public const int ECDH_anon = 20;
|
||||
|
||||
// Token: 0x040060F6 RID: 24822
|
||||
[Token(Token = "0x40060F6")]
|
||||
public const int SRP = 21;
|
||||
|
||||
// Token: 0x040060F7 RID: 24823
|
||||
[Token(Token = "0x40060F7")]
|
||||
public const int SRP_DSS = 22;
|
||||
|
||||
// Token: 0x040060F8 RID: 24824
|
||||
[Token(Token = "0x40060F8")]
|
||||
public const int SRP_RSA = 23;
|
||||
|
||||
// Token: 0x040060F9 RID: 24825
|
||||
[Token(Token = "0x40060F9")]
|
||||
public const int ECDHE_PSK = 24;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001563 RID: 5475
|
||||
[Token(Token = "0x2001563")]
|
||||
[StructLayout(3)]
|
||||
public abstract class MacAlgorithm
|
||||
{
|
||||
// Token: 0x0600917F RID: 37247 RVA: 0x00204830 File Offset: 0x00202A30
|
||||
[Token(Token = "0x600917F")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected MacAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040060FA RID: 24826
|
||||
[Token(Token = "0x40060FA")]
|
||||
public const int cls_null = 0;
|
||||
|
||||
// Token: 0x040060FB RID: 24827
|
||||
[Token(Token = "0x40060FB")]
|
||||
public const int md5 = 1;
|
||||
|
||||
// Token: 0x040060FC RID: 24828
|
||||
[Token(Token = "0x40060FC")]
|
||||
public const int sha = 2;
|
||||
|
||||
// Token: 0x040060FD RID: 24829
|
||||
[Token(Token = "0x40060FD")]
|
||||
public const int hmac_md5 = 1;
|
||||
|
||||
// Token: 0x040060FE RID: 24830
|
||||
[Token(Token = "0x40060FE")]
|
||||
public const int hmac_sha1 = 2;
|
||||
|
||||
// Token: 0x040060FF RID: 24831
|
||||
[Token(Token = "0x40060FF")]
|
||||
public const int hmac_sha256 = 3;
|
||||
|
||||
// Token: 0x04006100 RID: 24832
|
||||
[Token(Token = "0x4006100")]
|
||||
public const int hmac_sha384 = 4;
|
||||
|
||||
// Token: 0x04006101 RID: 24833
|
||||
[Token(Token = "0x4006101")]
|
||||
public const int hmac_sha512 = 5;
|
||||
}
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001564 RID: 5476
|
||||
[Token(Token = "0x2001564")]
|
||||
[StructLayout(3)]
|
||||
public abstract class MaxFragmentLength
|
||||
{
|
||||
// Token: 0x06009180 RID: 37248 RVA: 0x00204844 File Offset: 0x00202A44
|
||||
[Token(Token = "0x6009180")]
|
||||
[Address(RVA = "0x1E88770", Offset = "0x1E87170", VA = "0x181E88770")]
|
||||
public static bool IsValid(byte maxFragmentLength)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009181 RID: 37249 RVA: 0x00204854 File Offset: 0x00202A54
|
||||
[Token(Token = "0x6009181")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected MaxFragmentLength()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006102 RID: 24834
|
||||
[Token(Token = "0x4006102")]
|
||||
public const byte pow2_9 = 1;
|
||||
|
||||
// Token: 0x04006103 RID: 24835
|
||||
[Token(Token = "0x4006103")]
|
||||
public const byte pow2_10 = 2;
|
||||
|
||||
// Token: 0x04006104 RID: 24836
|
||||
[Token(Token = "0x4006104")]
|
||||
public const byte pow2_11 = 3;
|
||||
|
||||
// Token: 0x04006105 RID: 24837
|
||||
[Token(Token = "0x4006105")]
|
||||
public const byte pow2_12 = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001565 RID: 5477
|
||||
[Token(Token = "0x2001565")]
|
||||
[StructLayout(3)]
|
||||
public abstract class NameType
|
||||
{
|
||||
// Token: 0x06009182 RID: 37250 RVA: 0x00204868 File Offset: 0x00202A68
|
||||
[Token(Token = "0x6009182")]
|
||||
[Address(RVA = "0x1E88780", Offset = "0x1E87180", VA = "0x181E88780")]
|
||||
public static bool IsValid(byte nameType)
|
||||
{
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x06009183 RID: 37251 RVA: 0x00204878 File Offset: 0x00202A78
|
||||
[Token(Token = "0x6009183")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected NameType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006106 RID: 24838
|
||||
[Token(Token = "0x4006106")]
|
||||
public const byte host_name = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001566 RID: 5478
|
||||
[Token(Token = "0x2001566")]
|
||||
[StructLayout(3)]
|
||||
public abstract class NamedCurve
|
||||
{
|
||||
// Token: 0x06009184 RID: 37252 RVA: 0x0020488C File Offset: 0x00202A8C
|
||||
[Token(Token = "0x6009184")]
|
||||
[Address(RVA = "0x1E88790", Offset = "0x1E87190", VA = "0x181E88790")]
|
||||
public static bool IsValid(int namedCurve)
|
||||
{
|
||||
if (namedCurve - 1 <= 27)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (namedCurve < 65281)
|
||||
{
|
||||
}
|
||||
return namedCurve <= 65282;
|
||||
}
|
||||
|
||||
// Token: 0x06009185 RID: 37253 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009185")]
|
||||
[Address(RVA = "0x1E887B0", Offset = "0x1E871B0", VA = "0x181E887B0")]
|
||||
public static bool RefersToASpecificNamedCurve(int namedCurve)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009186 RID: 37254 RVA: 0x002048B8 File Offset: 0x00202AB8
|
||||
[Token(Token = "0x6009186")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected NamedCurve()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006107 RID: 24839
|
||||
[Token(Token = "0x4006107")]
|
||||
public const int sect163k1 = 1;
|
||||
|
||||
// Token: 0x04006108 RID: 24840
|
||||
[Token(Token = "0x4006108")]
|
||||
public const int sect163r1 = 2;
|
||||
|
||||
// Token: 0x04006109 RID: 24841
|
||||
[Token(Token = "0x4006109")]
|
||||
public const int sect163r2 = 3;
|
||||
|
||||
// Token: 0x0400610A RID: 24842
|
||||
[Token(Token = "0x400610A")]
|
||||
public const int sect193r1 = 4;
|
||||
|
||||
// Token: 0x0400610B RID: 24843
|
||||
[Token(Token = "0x400610B")]
|
||||
public const int sect193r2 = 5;
|
||||
|
||||
// Token: 0x0400610C RID: 24844
|
||||
[Token(Token = "0x400610C")]
|
||||
public const int sect233k1 = 6;
|
||||
|
||||
// Token: 0x0400610D RID: 24845
|
||||
[Token(Token = "0x400610D")]
|
||||
public const int sect233r1 = 7;
|
||||
|
||||
// Token: 0x0400610E RID: 24846
|
||||
[Token(Token = "0x400610E")]
|
||||
public const int sect239k1 = 8;
|
||||
|
||||
// Token: 0x0400610F RID: 24847
|
||||
[Token(Token = "0x400610F")]
|
||||
public const int sect283k1 = 9;
|
||||
|
||||
// Token: 0x04006110 RID: 24848
|
||||
[Token(Token = "0x4006110")]
|
||||
public const int sect283r1 = 10;
|
||||
|
||||
// Token: 0x04006111 RID: 24849
|
||||
[Token(Token = "0x4006111")]
|
||||
public const int sect409k1 = 11;
|
||||
|
||||
// Token: 0x04006112 RID: 24850
|
||||
[Token(Token = "0x4006112")]
|
||||
public const int sect409r1 = 12;
|
||||
|
||||
// Token: 0x04006113 RID: 24851
|
||||
[Token(Token = "0x4006113")]
|
||||
public const int sect571k1 = 13;
|
||||
|
||||
// Token: 0x04006114 RID: 24852
|
||||
[Token(Token = "0x4006114")]
|
||||
public const int sect571r1 = 14;
|
||||
|
||||
// Token: 0x04006115 RID: 24853
|
||||
[Token(Token = "0x4006115")]
|
||||
public const int secp160k1 = 15;
|
||||
|
||||
// Token: 0x04006116 RID: 24854
|
||||
[Token(Token = "0x4006116")]
|
||||
public const int secp160r1 = 16;
|
||||
|
||||
// Token: 0x04006117 RID: 24855
|
||||
[Token(Token = "0x4006117")]
|
||||
public const int secp160r2 = 17;
|
||||
|
||||
// Token: 0x04006118 RID: 24856
|
||||
[Token(Token = "0x4006118")]
|
||||
public const int secp192k1 = 18;
|
||||
|
||||
// Token: 0x04006119 RID: 24857
|
||||
[Token(Token = "0x4006119")]
|
||||
public const int secp192r1 = 19;
|
||||
|
||||
// Token: 0x0400611A RID: 24858
|
||||
[Token(Token = "0x400611A")]
|
||||
public const int secp224k1 = 20;
|
||||
|
||||
// Token: 0x0400611B RID: 24859
|
||||
[Token(Token = "0x400611B")]
|
||||
public const int secp224r1 = 21;
|
||||
|
||||
// Token: 0x0400611C RID: 24860
|
||||
[Token(Token = "0x400611C")]
|
||||
public const int secp256k1 = 22;
|
||||
|
||||
// Token: 0x0400611D RID: 24861
|
||||
[Token(Token = "0x400611D")]
|
||||
public const int secp256r1 = 23;
|
||||
|
||||
// Token: 0x0400611E RID: 24862
|
||||
[Token(Token = "0x400611E")]
|
||||
public const int secp384r1 = 24;
|
||||
|
||||
// Token: 0x0400611F RID: 24863
|
||||
[Token(Token = "0x400611F")]
|
||||
public const int secp521r1 = 25;
|
||||
|
||||
// Token: 0x04006120 RID: 24864
|
||||
[Token(Token = "0x4006120")]
|
||||
public const int brainpoolP256r1 = 26;
|
||||
|
||||
// Token: 0x04006121 RID: 24865
|
||||
[Token(Token = "0x4006121")]
|
||||
public const int brainpoolP384r1 = 27;
|
||||
|
||||
// Token: 0x04006122 RID: 24866
|
||||
[Token(Token = "0x4006122")]
|
||||
public const int brainpoolP512r1 = 28;
|
||||
|
||||
// Token: 0x04006123 RID: 24867
|
||||
[Token(Token = "0x4006123")]
|
||||
public const int arbitrary_explicit_prime_curves = 65281;
|
||||
|
||||
// Token: 0x04006124 RID: 24868
|
||||
[Token(Token = "0x4006124")]
|
||||
public const int arbitrary_explicit_char2_curves = 65282;
|
||||
}
|
||||
}
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001567 RID: 5479
|
||||
[Token(Token = "0x2001567")]
|
||||
[StructLayout(3)]
|
||||
public class NewSessionTicket
|
||||
{
|
||||
// Token: 0x06009187 RID: 37255 RVA: 0x002048CC File Offset: 0x00202ACC
|
||||
[Token(Token = "0x6009187")]
|
||||
[Address(RVA = "0x3C39C0", Offset = "0x3C23C0", VA = "0x1803C39C0")]
|
||||
public NewSessionTicket(long ticketLifetimeHint, byte[] ticket)
|
||||
{
|
||||
this.mTicketLifetimeHint = ticketLifetimeHint;
|
||||
this.mTicket = ticket;
|
||||
}
|
||||
|
||||
// Token: 0x1700176E RID: 5998
|
||||
// (get) Token: 0x06009188 RID: 37256 RVA: 0x002048F0 File Offset: 0x00202AF0
|
||||
[Token(Token = "0x1700176E")]
|
||||
public virtual long TicketLifetimeHint
|
||||
{
|
||||
[Token(Token = "0x6009188")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mTicketLifetimeHint;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700176F RID: 5999
|
||||
// (get) Token: 0x06009189 RID: 37257 RVA: 0x00204904 File Offset: 0x00202B04
|
||||
[Token(Token = "0x1700176F")]
|
||||
public virtual byte[] Ticket
|
||||
{
|
||||
[Token(Token = "0x6009189")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mTicket;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600918A RID: 37258 RVA: 0x00204918 File Offset: 0x00202B18
|
||||
[Token(Token = "0x600918A")]
|
||||
[Address(RVA = "0x1E887C0", Offset = "0x1E871C0", VA = "0x181E887C0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint32(this.mTicketLifetimeHint, output);
|
||||
TlsUtilities.WriteOpaque16(this.mTicket, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600918B RID: 37259 RVA: 0x00204940 File Offset: 0x00202B40
|
||||
[Token(Token = "0x600918B")]
|
||||
[Address(RVA = "0x1E88840", Offset = "0x1E87240", VA = "0x181E88840")]
|
||||
public static NewSessionTicket Parse(Stream input)
|
||||
{
|
||||
long num = TlsUtilities.ReadUint32(input);
|
||||
byte[] array = TlsUtilities.ReadOpaque16(input);
|
||||
NewSessionTicket newSessionTicket;
|
||||
newSessionTicket.mTicketLifetimeHint = num;
|
||||
newSessionTicket.mTicket = array;
|
||||
return newSessionTicket;
|
||||
}
|
||||
|
||||
// Token: 0x04006125 RID: 24869
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006125")]
|
||||
protected readonly long mTicketLifetimeHint;
|
||||
|
||||
// Token: 0x04006126 RID: 24870
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006126")]
|
||||
protected readonly byte[] mTicket;
|
||||
}
|
||||
}
|
||||
+137
@@ -0,0 +1,137 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001568 RID: 5480
|
||||
[Token(Token = "0x2001568")]
|
||||
[StructLayout(3)]
|
||||
public class OcspStatusRequest
|
||||
{
|
||||
// Token: 0x0600918C RID: 37260 RVA: 0x0020496C File Offset: 0x00202B6C
|
||||
[Token(Token = "0x600918C")]
|
||||
[Address(RVA = "0x3C39C0", Offset = "0x3C23C0", VA = "0x1803C39C0")]
|
||||
public OcspStatusRequest(IList responderIDList, X509Extensions requestExtensions)
|
||||
{
|
||||
this.mResponderIDList = responderIDList;
|
||||
this.mRequestExtensions = requestExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x17001770 RID: 6000
|
||||
// (get) Token: 0x0600918D RID: 37261 RVA: 0x00204990 File Offset: 0x00202B90
|
||||
[Token(Token = "0x17001770")]
|
||||
public virtual IList ResponderIDList
|
||||
{
|
||||
[Token(Token = "0x600918D")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mResponderIDList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001771 RID: 6001
|
||||
// (get) Token: 0x0600918E RID: 37262 RVA: 0x002049A4 File Offset: 0x00202BA4
|
||||
[Token(Token = "0x17001771")]
|
||||
public virtual X509Extensions RequestExtensions
|
||||
{
|
||||
[Token(Token = "0x600918E")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mRequestExtensions;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600918F RID: 37263 RVA: 0x002049B8 File Offset: 0x00202BB8
|
||||
[Token(Token = "0x600918F")]
|
||||
[Address(RVA = "0x1E888E0", Offset = "0x1E872E0", VA = "0x181E888E0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
if (this.mResponderIDList != 0)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
IList list = this.mResponderIDList;
|
||||
int num = 0;
|
||||
if (num < memoryStream)
|
||||
{
|
||||
IList list2 = this.mResponderIDList;
|
||||
if (num < list)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array;
|
||||
TlsUtilities.WriteOpaque16(array, memoryStream);
|
||||
IList list3 = this.mResponderIDList;
|
||||
num++;
|
||||
memoryStream += memoryStream;
|
||||
}
|
||||
TlsUtilities.CheckUint16(memoryStream.CanWrite ? 1L : 0L);
|
||||
TlsUtilities.WriteUint16(memoryStream.CanWrite ? 1 : 0, output);
|
||||
Streams.WriteBufTo(memoryStream, output);
|
||||
}
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
X509Extensions x509Extensions = this.mRequestExtensions;
|
||||
if (x509Extensions != 0)
|
||||
{
|
||||
byte[] encoded = x509Extensions.GetEncoded("DER");
|
||||
TlsUtilities.CheckUint16(encoded.Length);
|
||||
TlsUtilities.WriteUint16(encoded.Length, output);
|
||||
int num2 = output.ReadByte();
|
||||
}
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
}
|
||||
|
||||
// Token: 0x06009190 RID: 37264 RVA: 0x00204A7C File Offset: 0x00202C7C
|
||||
[Token(Token = "0x6009190")]
|
||||
[Address(RVA = "0x1E88C00", Offset = "0x1E87600", VA = "0x181E88C00")]
|
||||
public static OcspStatusRequest Parse(Stream input)
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
int num = TlsUtilities.ReadUint16(input);
|
||||
int num2 = 0;
|
||||
if (num > 0)
|
||||
{
|
||||
int num3;
|
||||
MemoryStream memoryStream = new MemoryStream(TlsUtilities.ReadFully(num, input), num3 != 0);
|
||||
num3 = 0;
|
||||
ResponderID instance = ResponderID.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadOpaque16(memoryStream)));
|
||||
if (num2 < num3)
|
||||
{
|
||||
num2 += num2;
|
||||
num2++;
|
||||
}
|
||||
long length = memoryStream.Length;
|
||||
}
|
||||
int num4 = TlsUtilities.ReadUint16(input);
|
||||
num = num4;
|
||||
X509Extensions instance2;
|
||||
if (num4 > 0)
|
||||
{
|
||||
instance2 = X509Extensions.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadFully(num, input)));
|
||||
}
|
||||
OcspStatusRequest ocspStatusRequest;
|
||||
ocspStatusRequest.mResponderIDList = list;
|
||||
ocspStatusRequest.mRequestExtensions = instance2;
|
||||
return ocspStatusRequest;
|
||||
}
|
||||
|
||||
// Token: 0x04006127 RID: 24871
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006127")]
|
||||
protected readonly IList mResponderIDList;
|
||||
|
||||
// Token: 0x04006128 RID: 24872
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006128")]
|
||||
protected readonly X509Extensions mRequestExtensions;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001569 RID: 5481
|
||||
[Token(Token = "0x2001569")]
|
||||
[StructLayout(3)]
|
||||
public abstract class PrfAlgorithm
|
||||
{
|
||||
// Token: 0x06009191 RID: 37265 RVA: 0x00204B20 File Offset: 0x00202D20
|
||||
[Token(Token = "0x6009191")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected PrfAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006129 RID: 24873
|
||||
[Token(Token = "0x4006129")]
|
||||
public const int tls_prf_legacy = 0;
|
||||
|
||||
// Token: 0x0400612A RID: 24874
|
||||
[Token(Token = "0x400612A")]
|
||||
public const int tls_prf_sha256 = 1;
|
||||
|
||||
// Token: 0x0400612B RID: 24875
|
||||
[Token(Token = "0x400612B")]
|
||||
public const int tls_prf_sha384 = 2;
|
||||
}
|
||||
}
|
||||
+314
@@ -0,0 +1,314 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200156A RID: 5482
|
||||
[Token(Token = "0x200156A")]
|
||||
[StructLayout(3)]
|
||||
public sealed class ProtocolVersion
|
||||
{
|
||||
// Token: 0x06009192 RID: 37266 RVA: 0x00204B34 File Offset: 0x00202D34
|
||||
[Token(Token = "0x6009192")]
|
||||
[Address(RVA = "0x1E89760", Offset = "0x1E88160", VA = "0x181E89760")]
|
||||
private ProtocolVersion(int v, string name)
|
||||
{
|
||||
this.name = name;
|
||||
this.version = v;
|
||||
}
|
||||
|
||||
// Token: 0x17001772 RID: 6002
|
||||
// (get) Token: 0x06009193 RID: 37267 RVA: 0x00204B58 File Offset: 0x00202D58
|
||||
[Token(Token = "0x17001772")]
|
||||
public int FullVersion
|
||||
{
|
||||
[Token(Token = "0x6009193")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001773 RID: 6003
|
||||
// (get) Token: 0x06009194 RID: 37268 RVA: 0x00204B6C File Offset: 0x00202D6C
|
||||
[Token(Token = "0x17001773")]
|
||||
public int MajorVersion
|
||||
{
|
||||
[Token(Token = "0x6009194")]
|
||||
[Address(RVA = "0x1E89840", Offset = "0x1E88240", VA = "0x181E89840")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001774 RID: 6004
|
||||
// (get) Token: 0x06009195 RID: 37269 RVA: 0x00204B80 File Offset: 0x00202D80
|
||||
[Token(Token = "0x17001774")]
|
||||
public int MinorVersion
|
||||
{
|
||||
[Token(Token = "0x6009195")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001775 RID: 6005
|
||||
// (get) Token: 0x06009196 RID: 37270 RVA: 0x00204B94 File Offset: 0x00202D94
|
||||
[Token(Token = "0x17001775")]
|
||||
public bool IsDtls
|
||||
{
|
||||
[Token(Token = "0x6009196")]
|
||||
[Address(RVA = "0x1E897A0", Offset = "0x1E881A0", VA = "0x181E897A0")]
|
||||
get
|
||||
{
|
||||
return this.version == 65024;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001776 RID: 6006
|
||||
// (get) Token: 0x06009197 RID: 37271 RVA: 0x00204BB0 File Offset: 0x00202DB0
|
||||
[Token(Token = "0x17001776")]
|
||||
public bool IsSsl
|
||||
{
|
||||
[Token(Token = "0x6009197")]
|
||||
[Address(RVA = "0x1E897C0", Offset = "0x1E881C0", VA = "0x181E897C0")]
|
||||
get
|
||||
{
|
||||
return this == "{il2cpp field on {'constant10' (constant value of type Cpp2IL.Core.Analysis.ResultModels.StaticFieldsPtr)}, offset 0x0}";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001777 RID: 6007
|
||||
// (get) Token: 0x06009198 RID: 37272 RVA: 0x00204BC8 File Offset: 0x00202DC8
|
||||
[Token(Token = "0x17001777")]
|
||||
public bool IsTls
|
||||
{
|
||||
[Token(Token = "0x6009198")]
|
||||
[Address(RVA = "0x1E89820", Offset = "0x1E88220", VA = "0x181E89820")]
|
||||
get
|
||||
{
|
||||
return this.version == 768;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009199 RID: 37273 RVA: 0x00204BE4 File Offset: 0x00202DE4
|
||||
[Token(Token = "0x6009199")]
|
||||
[Address(RVA = "0x1E89030", Offset = "0x1E87A30", VA = "0x181E89030")]
|
||||
public ProtocolVersion GetEquivalentTLSVersion()
|
||||
{
|
||||
if (this.version == 65024)
|
||||
{
|
||||
return ProtocolVersion.TLSv12;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600919A RID: 37274 RVA: 0x00204C0C File Offset: 0x00202E0C
|
||||
[Token(Token = "0x600919A")]
|
||||
[Address(RVA = "0x1E89500", Offset = "0x1E87F00", VA = "0x181E89500")]
|
||||
public bool IsEqualOrEarlierVersionOf(ProtocolVersion version)
|
||||
{
|
||||
int num = version.version;
|
||||
int num2 = this.version;
|
||||
if (num2 == num)
|
||||
{
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 -= num;
|
||||
if (num2 == 254)
|
||||
{
|
||||
return num2 <= 0;
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600919B RID: 37275 RVA: 0x00204C4C File Offset: 0x00202E4C
|
||||
[Token(Token = "0x600919B")]
|
||||
[Address(RVA = "0x1E89560", Offset = "0x1E87F60", VA = "0x181E89560")]
|
||||
public bool IsLaterVersionOf(ProtocolVersion version)
|
||||
{
|
||||
int num = version.version;
|
||||
int num2 = this.version;
|
||||
if (num2 == num)
|
||||
{
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 -= num;
|
||||
if (num2 == 254)
|
||||
{
|
||||
return num2 > 0;
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600919C RID: 37276 RVA: 0x00204C8C File Offset: 0x00202E8C
|
||||
[Token(Token = "0x600919C")]
|
||||
[Address(RVA = "0x1E88F90", Offset = "0x1E87990", VA = "0x181E88F90", Slot = "0")]
|
||||
public override bool Equals(object other)
|
||||
{
|
||||
while (this != other)
|
||||
{
|
||||
if (other != 0 && other != 0)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
return this.TLSv11 == other;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600919D RID: 37277 RVA: 0x00204CB8 File Offset: 0x00202EB8
|
||||
[Token(Token = "0x600919D")]
|
||||
[Address(RVA = "0x1E88F70", Offset = "0x1E87970", VA = "0x181E88F70")]
|
||||
public bool Equals(ProtocolVersion other)
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
int num = other.version;
|
||||
return this.TLSv11 == num;
|
||||
}
|
||||
|
||||
// Token: 0x0600919E RID: 37278 RVA: 0x00204CDC File Offset: 0x00202EDC
|
||||
[Token(Token = "0x600919E")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
|
||||
// Token: 0x0600919F RID: 37279 RVA: 0x00204CF0 File Offset: 0x00202EF0
|
||||
[Token(Token = "0x600919F")]
|
||||
[Address(RVA = "0x1E89230", Offset = "0x1E87C30", VA = "0x181E89230")]
|
||||
public static ProtocolVersion Get(int major, int minor)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600919F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion::Get(System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5A:
|
||||
stloc:TlsFatalAlert(var_1_60, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_2)))
|
||||
}
|
||||
|
||||
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: 0x060091A0 RID: 37280 RVA: 0x00204D60 File Offset: 0x00202F60
|
||||
[Token(Token = "0x60091A0")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "3")]
|
||||
public override string ToString()
|
||||
{
|
||||
return this.name;
|
||||
}
|
||||
|
||||
// Token: 0x060091A1 RID: 37281 RVA: 0x00204D74 File Offset: 0x00202F74
|
||||
[Token(Token = "0x60091A1")]
|
||||
[Address(RVA = "0x1E89100", Offset = "0x1E87B00", VA = "0x181E89100")]
|
||||
private static ProtocolVersion GetUnknownVersion(int major, int minor, string prefix)
|
||||
{
|
||||
TlsUtilities.CheckUint8(major);
|
||||
TlsUtilities.CheckUint8(major);
|
||||
string text = Platform.ToUpperInvariant(Convert.ToString(major, 16).Substring(1));
|
||||
int num = 0;
|
||||
string text2 = prefix + " 0x" + text;
|
||||
int num2 = 0;
|
||||
ProtocolVersion protocolVersion;
|
||||
protocolVersion.FieldGetter(num2, text, num);
|
||||
protocolVersion.version = major;
|
||||
protocolVersion.name = text2;
|
||||
return protocolVersion;
|
||||
}
|
||||
|
||||
// Token: 0x060091A2 RID: 37282 RVA: 0x00204DD4 File Offset: 0x00202FD4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x60091A2")]
|
||||
[Address(RVA = "0x1E895C0", Offset = "0x1E87FC0", VA = "0x181E895C0")]
|
||||
static ProtocolVersion()
|
||||
{
|
||||
ProtocolVersion protocolVersion;
|
||||
protocolVersion.version = (int)((ulong)768L);
|
||||
protocolVersion.name = "SSL 3.0";
|
||||
ProtocolVersion.SSLv3 = protocolVersion;
|
||||
ProtocolVersion protocolVersion2;
|
||||
protocolVersion2.version = (int)((ulong)769L);
|
||||
protocolVersion2.name = "TLS 1.0";
|
||||
ProtocolVersion.TLSv10 = protocolVersion2;
|
||||
ProtocolVersion protocolVersion3;
|
||||
protocolVersion3.version = (int)((ulong)770L);
|
||||
protocolVersion3.name = "TLS 1.1";
|
||||
ProtocolVersion.TLSv11 = protocolVersion3;
|
||||
ProtocolVersion protocolVersion4;
|
||||
protocolVersion4.version = (int)((ulong)771L);
|
||||
protocolVersion4.name = "TLS 1.2";
|
||||
ProtocolVersion.TLSv12 = protocolVersion4;
|
||||
ProtocolVersion protocolVersion5;
|
||||
protocolVersion5.version = (int)((ulong)65279L);
|
||||
protocolVersion5.name = "DTLS 1.0";
|
||||
ProtocolVersion.DTLSv10 = protocolVersion5;
|
||||
ProtocolVersion protocolVersion6;
|
||||
protocolVersion6.name = "DTLS 1.2";
|
||||
protocolVersion6.version = (int)((ulong)65277L);
|
||||
ProtocolVersion.DTLSv12 = protocolVersion6;
|
||||
}
|
||||
|
||||
// Token: 0x0400612C RID: 24876
|
||||
[Token(Token = "0x400612C")]
|
||||
public static readonly ProtocolVersion SSLv3;
|
||||
|
||||
// Token: 0x0400612D RID: 24877
|
||||
[Token(Token = "0x400612D")]
|
||||
public static readonly ProtocolVersion TLSv10;
|
||||
|
||||
// Token: 0x0400612E RID: 24878
|
||||
[Token(Token = "0x400612E")]
|
||||
public static readonly ProtocolVersion TLSv11;
|
||||
|
||||
// Token: 0x0400612F RID: 24879
|
||||
[Token(Token = "0x400612F")]
|
||||
public static readonly ProtocolVersion TLSv12;
|
||||
|
||||
// Token: 0x04006130 RID: 24880
|
||||
[Token(Token = "0x4006130")]
|
||||
public static readonly ProtocolVersion DTLSv10;
|
||||
|
||||
// Token: 0x04006131 RID: 24881
|
||||
[Token(Token = "0x4006131")]
|
||||
public static readonly ProtocolVersion DTLSv12;
|
||||
|
||||
// Token: 0x04006132 RID: 24882
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006132")]
|
||||
private readonly int version;
|
||||
|
||||
// Token: 0x04006133 RID: 24883
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006133")]
|
||||
private readonly string name;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200156B RID: 5483
|
||||
[Token(Token = "0x200156B")]
|
||||
[StructLayout(3)]
|
||||
public class PskTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x060091A3 RID: 37283 RVA: 0x00204E9C File Offset: 0x0020309C
|
||||
[Token(Token = "0x60091A3")]
|
||||
[Address(RVA = "0x1E89A90", Offset = "0x1E88490", VA = "0x181E89A90")]
|
||||
public PskTlsClient(TlsPskIdentity pskIdentity)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
this.mPskIdentity = pskIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x060091A4 RID: 37284 RVA: 0x00204ECC File Offset: 0x002030CC
|
||||
[Token(Token = "0x60091A4")]
|
||||
[Address(RVA = "0x1E89B40", Offset = "0x1E88540", VA = "0x181E89B40")]
|
||||
public PskTlsClient(TlsCipherFactory cipherFactory, TlsPskIdentity pskIdentity)
|
||||
{
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
base..ctor(cipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
this.mPskIdentity = pskIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x060091A5 RID: 37285 RVA: 0x00204EF4 File Offset: 0x002030F4
|
||||
[Token(Token = "0x60091A5")]
|
||||
[Address(RVA = "0x1E89BC0", Offset = "0x1E885C0", VA = "0x181E89BC0")]
|
||||
public PskTlsClient(TlsCipherFactory cipherFactory, TlsDHVerifier dhVerifier, TlsPskIdentity pskIdentity)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mPskIdentity = pskIdentity;
|
||||
this.mDHVerifier = dhVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x060091A6 RID: 37286 RVA: 0x00204F18 File Offset: 0x00203118
|
||||
[Token(Token = "0x60091A6")]
|
||||
[Address(RVA = "0x1E89960", Offset = "0x1E88360", VA = "0x181E89960", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[2];
|
||||
array[0] = (int)((ulong)49207L);
|
||||
array[0] = (int)((ulong)49205L);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x060091A7 RID: 37287 RVA: 0x00204F50 File Offset: 0x00203150
|
||||
[Token(Token = "0x60091A7")]
|
||||
[Address(RVA = "0x1E899E0", Offset = "0x1E883E0", VA = "0x181E899E0", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091A7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:int32[](var_2_1D, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
}
|
||||
|
||||
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: 0x060091A8 RID: 37288 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x60091A8")]
|
||||
[Address(RVA = "0x1E89910", Offset = "0x1E88310", VA = "0x181E89910", Slot = "58")]
|
||||
public override TlsAuthentication GetAuthentication()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x060091A9 RID: 37289 RVA: 0x00204F7C File Offset: 0x0020317C
|
||||
[Token(Token = "0x60091A9")]
|
||||
[Address(RVA = "0x1E89850", Offset = "0x1E88250", VA = "0x181E89850", Slot = "61")]
|
||||
protected virtual TlsKeyExchange CreatePskKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091A9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsClient::CreatePskKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsPskIdentity(var_1_0D, ldfld:TlsPskIdentity(PskTlsClient::mPskIdentity, ldloc:PskTlsClient(this)))
|
||||
stloc:TlsDHVerifier(var_2_14, ldfld:TlsDHVerifier(PskTlsClient::mDHVerifier, ldloc:PskTlsClient(this)))
|
||||
stloc:int32[](var_3_1B, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_4_22, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_5_2A, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsPskKeyExchange(var_6_3E, newobj:TlsPskKeyExchange(TlsPskKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsPskIdentity(var_1_0D), ldloc:int32[exp:TlsPskIdentityManager](var_7), ldloc:TlsDHVerifier(var_2_14), ldloc:int32[exp:DHParameters](var_7), ldloc:int32[](var_3_1B), ldloc:uint8[](var_4_22), ldloc:uint8[](var_5_2A)))
|
||||
stloc:int32(var_7, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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: 0x04006134 RID: 24884
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006134")]
|
||||
protected TlsDHVerifier mDHVerifier;
|
||||
|
||||
// Token: 0x04006135 RID: 24885
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006135")]
|
||||
protected TlsPskIdentity mPskIdentity;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200156C RID: 5484
|
||||
[Token(Token = "0x200156C")]
|
||||
[StructLayout(3)]
|
||||
public class PskTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x060091AA RID: 37290 RVA: 0x00204FCC File Offset: 0x002031CC
|
||||
[Token(Token = "0x60091AA")]
|
||||
[Address(RVA = "0x1E89F40", Offset = "0x1E88940", VA = "0x181E89F40")]
|
||||
public PskTlsServer(TlsPskIdentityManager pskIdentityManager)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mPskIdentityManager = pskIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x060091AB RID: 37291 RVA: 0x00204FF0 File Offset: 0x002031F0
|
||||
[Token(Token = "0x60091AB")]
|
||||
[Address(RVA = "0x1E89FB0", Offset = "0x1E889B0", VA = "0x181E89FB0")]
|
||||
public PskTlsServer(TlsCipherFactory cipherFactory, TlsPskIdentityManager pskIdentityManager)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mPskIdentityManager = pskIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x060091AC RID: 37292 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x60091AC")]
|
||||
[Address(RVA = "0x1E89EF0", Offset = "0x1E888F0", VA = "0x181E89EF0", Slot = "63")]
|
||||
protected virtual TlsEncryptionCredentials GetRsaEncryptionCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x060091AD RID: 37293 RVA: 0x0020500C File Offset: 0x0020320C
|
||||
[Token(Token = "0x60091AD")]
|
||||
[Address(RVA = "0x1E89DE0", Offset = "0x1E887E0", VA = "0x181E89DE0", Slot = "64")]
|
||||
protected virtual DHParameters GetDHParameters()
|
||||
{
|
||||
return DHStandardGroups.rfc7919_ffdhe2048;
|
||||
}
|
||||
|
||||
// Token: 0x060091AE RID: 37294 RVA: 0x00205020 File Offset: 0x00203220
|
||||
[Token(Token = "0x60091AE")]
|
||||
[Address(RVA = "0x1E89CD0", Offset = "0x1E886D0", VA = "0x181E89CD0", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[4];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.00A4ED0900CBF010B3628AA473D0D1477DB67FFF).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x060091AF RID: 37295 RVA: 0x00205040 File Offset: 0x00203240
|
||||
[Token(Token = "0x60091AF")]
|
||||
[Address(RVA = "0x1E89D20", Offset = "0x1E88720", VA = "0x181E89D20", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int mSelectedCipherSuite = this.mSelectedCipherSuite;
|
||||
int keyExchangeAlgorithm = TlsUtilities.GetKeyExchangeAlgorithm(mSelectedCipherSuite);
|
||||
if (mSelectedCipherSuite <= 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (keyExchangeAlgorithm == 15)
|
||||
{
|
||||
TlsCompression compression = base.GetCompression();
|
||||
}
|
||||
if (keyExchangeAlgorithm == 24)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091B0 RID: 37296 RVA: 0x00205074 File Offset: 0x00203274
|
||||
[Token(Token = "0x60091B0")]
|
||||
[Address(RVA = "0x1E89E40", Offset = "0x1E88840", VA = "0x181E89E40", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091B0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:TlsCompression(var_2_1D, call:TlsCompression(AbstractTlsPeer::GetCompression, ldloc:PskTlsServer[exp:AbstractTlsPeer](this)))
|
||||
}
|
||||
|
||||
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: 0x060091B1 RID: 37297 RVA: 0x002050A0 File Offset: 0x002032A0
|
||||
[Token(Token = "0x60091B1")]
|
||||
[Address(RVA = "0x1E89C00", Offset = "0x1E88600", VA = "0x181E89C00", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreatePskKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091B1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsServer::CreatePskKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsPskIdentityManager(var_0_06, ldfld:TlsPskIdentityManager(PskTlsServer::mPskIdentityManager, ldloc:PskTlsServer(this)))
|
||||
stloc:TlsEncryptionCredentials(var_1_0D, callvirt:TlsEncryptionCredentials(PskTlsServer::GetRsaEncryptionCredentials, ldloc:PskTlsServer(this)))
|
||||
stloc:int32[](var_2_14, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:PskTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:PskTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_4_22, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:PskTlsServer[exp:AbstractTlsServer](this)))
|
||||
}
|
||||
|
||||
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: 0x04006136 RID: 24886
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4006136")]
|
||||
protected TlsPskIdentityManager mPskIdentityManager;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,595 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.Extensions;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200156D RID: 5485
|
||||
[Token(Token = "0x200156D")]
|
||||
[StructLayout(3)]
|
||||
internal sealed class RecordStream
|
||||
{
|
||||
// Token: 0x060091B2 RID: 37298 RVA: 0x002050D4 File Offset: 0x002032D4
|
||||
[Token(Token = "0x60091B2")]
|
||||
[Address(RVA = "0x1E8B040", Offset = "0x1E89A40", VA = "0x181E8B040")]
|
||||
internal RecordStream(TlsProtocol handler, Stream input, Stream output)
|
||||
{
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mReadSeqNo = sequenceNumber;
|
||||
RecordStream.SequenceNumber sequenceNumber2 = new RecordStream.SequenceNumber();
|
||||
this.mWriteSeqNo = sequenceNumber2;
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
this.mBuffer = memoryStream;
|
||||
this.mRestrictReadVersion = true;
|
||||
base..ctor();
|
||||
this.mHandler = handler;
|
||||
this.mInput = input;
|
||||
this.mOutput = output;
|
||||
TlsNullCompression tlsNullCompression = new TlsNullCompression();
|
||||
this.mReadCompression = tlsNullCompression;
|
||||
this.mWriteCompression = tlsNullCompression;
|
||||
RecordStream.HandshakeHashUpdateStream handshakeHashUpdateStream;
|
||||
handshakeHashUpdateStream.mOuter = this;
|
||||
this.mHandshakeHashUpdater = handshakeHashUpdateStream;
|
||||
}
|
||||
|
||||
// Token: 0x060091B3 RID: 37299 RVA: 0x00205150 File Offset: 0x00203350
|
||||
[Token(Token = "0x60091B3")]
|
||||
[Address(RVA = "0x1E8A680", Offset = "0x1E89080", VA = "0x181E8A680")]
|
||||
internal void Init(TlsContext context)
|
||||
{
|
||||
TlsNullCipher tlsNullCipher = new TlsNullCipher(context);
|
||||
this.mReadCipher = tlsNullCipher;
|
||||
this.mWriteCipher = tlsNullCipher;
|
||||
DeferredHash deferredHash = new DeferredHash();
|
||||
this.mHandshakeHash = deferredHash;
|
||||
this.mPlaintextLimit = (int)((ulong)16384L);
|
||||
this.mCompressedLimit = (int)((ulong)17408L);
|
||||
this.mCiphertextLimit = (int)((ulong)18432L);
|
||||
}
|
||||
|
||||
// Token: 0x060091B4 RID: 37300 RVA: 0x002051AC File Offset: 0x002033AC
|
||||
[Token(Token = "0x60091B4")]
|
||||
[Address(RVA = "0x91C8E0", Offset = "0x91B2E0", VA = "0x18091C8E0")]
|
||||
internal int GetPlaintextLimit()
|
||||
{
|
||||
return this.mPlaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x060091B5 RID: 37301 RVA: 0x002051C0 File Offset: 0x002033C0
|
||||
[Token(Token = "0x60091B5")]
|
||||
[Address(RVA = "0x1E8AC90", Offset = "0x1E89690", VA = "0x181E8AC90")]
|
||||
internal void SetPlaintextLimit(int plaintextLimit)
|
||||
{
|
||||
this.mPlaintextLimit = plaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x17001778 RID: 6008
|
||||
// (get) Token: 0x060091B6 RID: 37302 RVA: 0x002051D4 File Offset: 0x002033D4
|
||||
// (set) Token: 0x060091B7 RID: 37303 RVA: 0x002051E8 File Offset: 0x002033E8
|
||||
[Token(Token = "0x17001778")]
|
||||
internal ProtocolVersion ReadVersion
|
||||
{
|
||||
[Token(Token = "0x60091B6")]
|
||||
[Address(RVA = "0x52F5A0", Offset = "0x52DFA0", VA = "0x18052F5A0")]
|
||||
get
|
||||
{
|
||||
return this.mReadVersion;
|
||||
}
|
||||
[Token(Token = "0x60091B7")]
|
||||
[Address(RVA = "0x52F840", Offset = "0x52E240", VA = "0x18052F840")]
|
||||
set
|
||||
{
|
||||
this.mReadVersion = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091B8 RID: 37304 RVA: 0x002051FC File Offset: 0x002033FC
|
||||
[Token(Token = "0x60091B8")]
|
||||
[Address(RVA = "0x636220", Offset = "0x634C20", VA = "0x180636220")]
|
||||
internal void SetWriteVersion(ProtocolVersion writeVersion)
|
||||
{
|
||||
this.mWriteVersion = writeVersion;
|
||||
}
|
||||
|
||||
// Token: 0x060091B9 RID: 37305 RVA: 0x00205210 File Offset: 0x00203410
|
||||
[Token(Token = "0x60091B9")]
|
||||
[Address(RVA = "0x7D7B00", Offset = "0x7D6500", VA = "0x1807D7B00")]
|
||||
internal void SetRestrictReadVersion(bool enabled)
|
||||
{
|
||||
this.mRestrictReadVersion = enabled;
|
||||
}
|
||||
|
||||
// Token: 0x060091BA RID: 37306 RVA: 0x00205224 File Offset: 0x00203424
|
||||
[Token(Token = "0x60091BA")]
|
||||
[Address(RVA = "0x1E8AC80", Offset = "0x1E89680", VA = "0x181E8AC80")]
|
||||
internal void SetPendingConnectionState(TlsCompression tlsCompression, TlsCipher tlsCipher)
|
||||
{
|
||||
this.mPendingCompression = tlsCompression;
|
||||
this.mPendingCipher = tlsCipher;
|
||||
}
|
||||
|
||||
// Token: 0x060091BB RID: 37307 RVA: 0x00205240 File Offset: 0x00203440
|
||||
[Token(Token = "0x60091BB")]
|
||||
[Address(RVA = "0x1E8ABE0", Offset = "0x1E895E0", VA = "0x181E8ABE0")]
|
||||
internal void SentWriteCipherSpec()
|
||||
{
|
||||
TlsCompression tlsCompression;
|
||||
TlsCipher tlsCipher;
|
||||
for (;;)
|
||||
{
|
||||
tlsCompression = this.mPendingCompression;
|
||||
if (tlsCompression != 0)
|
||||
{
|
||||
tlsCipher = this.mPendingCipher;
|
||||
if (tlsCipher != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mWriteCompression = tlsCompression;
|
||||
this.mWriteCipher = tlsCipher;
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mWriteSeqNo = sequenceNumber;
|
||||
}
|
||||
|
||||
// Token: 0x060091BC RID: 37308 RVA: 0x00205280 File Offset: 0x00203480
|
||||
[Token(Token = "0x60091BC")]
|
||||
[Address(RVA = "0x1E8AA80", Offset = "0x1E89480", VA = "0x181E8AA80")]
|
||||
internal void ReceivedReadCipherSpec()
|
||||
{
|
||||
TlsCompression tlsCompression;
|
||||
TlsCipher tlsCipher;
|
||||
for (;;)
|
||||
{
|
||||
tlsCompression = this.mPendingCompression;
|
||||
if (tlsCompression != 0)
|
||||
{
|
||||
tlsCipher = this.mPendingCipher;
|
||||
if (tlsCipher != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mReadCompression = tlsCompression;
|
||||
this.mReadCipher = tlsCipher;
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mReadSeqNo = sequenceNumber;
|
||||
}
|
||||
|
||||
// Token: 0x060091BD RID: 37309 RVA: 0x002052C0 File Offset: 0x002034C0
|
||||
[Token(Token = "0x60091BD")]
|
||||
[Address(RVA = "0x1E8A5A0", Offset = "0x1E88FA0", VA = "0x181E8A5A0")]
|
||||
internal void FinaliseHandshake()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
TlsCompression tlsCompression = this.mPendingCompression;
|
||||
if (this.mReadCompression == tlsCompression && this.mWriteCompression == tlsCompression)
|
||||
{
|
||||
TlsCipher tlsCipher = this.mPendingCipher;
|
||||
if (this.mReadCipher == tlsCipher && this.mWriteCipher == tlsCipher)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num = 0;
|
||||
this.mPendingCompression = num;
|
||||
this.mPendingCipher = num;
|
||||
}
|
||||
|
||||
// Token: 0x060091BE RID: 37310 RVA: 0x00205310 File Offset: 0x00203510
|
||||
[Token(Token = "0x60091BE")]
|
||||
[Address(RVA = "0x1E8A060", Offset = "0x1E88A60", VA = "0x181E8A060")]
|
||||
internal void CheckRecordHeader(byte[] recordHeader)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091BE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::CheckRecordHeader(System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_58:
|
||||
stloc:TlsFatalAlert(var_6_5F, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_7)))
|
||||
}
|
||||
|
||||
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: 0x060091BF RID: 37311 RVA: 0x00205380 File Offset: 0x00203580
|
||||
[Token(Token = "0x60091BF")]
|
||||
[Address(RVA = "0x1E8A7F0", Offset = "0x1E891F0", VA = "0x181E8A7F0")]
|
||||
internal bool ReadRecord()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091BF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::ReadRecord()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_D1:
|
||||
stloc:TlsFatalAlert(var_20_D8, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_21)))
|
||||
}
|
||||
|
||||
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: 0x060091C0 RID: 37312 RVA: 0x00205468 File Offset: 0x00203668
|
||||
[Token(Token = "0x60091C0")]
|
||||
[Address(RVA = "0x1E8A310", Offset = "0x1E88D10", VA = "0x181E8A310")]
|
||||
internal byte[] DecodeAndVerify(byte type, Stream input, int len)
|
||||
{
|
||||
byte[] array = TlsUtilities.ReadFully(len, input);
|
||||
RecordStream.SequenceNumber sequenceNumber = this.mReadSeqNo;
|
||||
TlsCipher tlsCipher = this.mReadCipher;
|
||||
int length = array.Length;
|
||||
int num = this.mCompressedLimit;
|
||||
TlsCompression tlsCompression = this.mReadCompression;
|
||||
long num2;
|
||||
if (num2 != this.mBuffer)
|
||||
{
|
||||
MemoryStream memoryStream = this.mBuffer;
|
||||
MemoryStream memoryStream2 = this.mBuffer;
|
||||
}
|
||||
int num3 = this.mPlaintextLimit;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060091C1 RID: 37313 RVA: 0x002054CC File Offset: 0x002036CC
|
||||
[Token(Token = "0x60091C1")]
|
||||
[Address(RVA = "0x1E8ACB0", Offset = "0x1E896B0", VA = "0x181E8ACB0")]
|
||||
internal void WriteRecord(byte type, byte[] plaintext, int plaintextOffset, int plaintextLength)
|
||||
{
|
||||
if (this.mWriteVersion != (ulong)0L)
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
TlsCompression tlsCompression = this.mWriteCompression;
|
||||
ulong num3;
|
||||
long num2 = this.mWriteSeqNo.NextValue((byte)num3);
|
||||
if (type != this.mBuffer)
|
||||
{
|
||||
int num4 = 0;
|
||||
byte[] bufferContents = this.GetBufferContents();
|
||||
ulong num5;
|
||||
RecordStream.CheckLength(bufferContents.Length, num4, (byte)num5);
|
||||
TlsCipher tlsCipher = this.mWriteCipher;
|
||||
int length = bufferContents.Length;
|
||||
}
|
||||
TlsCipher tlsCipher2 = this.mWriteCipher;
|
||||
int num6 = this.mCiphertextLimit;
|
||||
uint num7;
|
||||
ulong num8;
|
||||
RecordStream.CheckLength((int)num7, num6, (byte)num8);
|
||||
ulong num9;
|
||||
byte[] array = VariableSizedBufferPool.Get((long)type, num9 != 0UL);
|
||||
int num10 = 0;
|
||||
TlsUtilities.WriteUint8(type, array, num10);
|
||||
TlsUtilities.WriteVersion(this.mWriteVersion, array, 1);
|
||||
int num11 = this.mOutput.ReadByte();
|
||||
VariableSizedBufferPool.Release(array);
|
||||
Stream stream = this.mOutput;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091C2 RID: 37314 RVA: 0x002055A8 File Offset: 0x002037A8
|
||||
[Token(Token = "0x60091C2")]
|
||||
[Address(RVA = "0x1E8A740", Offset = "0x1E89140", VA = "0x181E8A740")]
|
||||
internal void NotifyHelloComplete()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x17001779 RID: 6009
|
||||
// (get) Token: 0x060091C3 RID: 37315 RVA: 0x002055C4 File Offset: 0x002037C4
|
||||
[Token(Token = "0x17001779")]
|
||||
internal TlsHandshakeHash HandshakeHash
|
||||
{
|
||||
[Token(Token = "0x60091C3")]
|
||||
[Address(RVA = "0x4D2570", Offset = "0x4D0F70", VA = "0x1804D2570")]
|
||||
get
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700177A RID: 6010
|
||||
// (get) Token: 0x060091C4 RID: 37316 RVA: 0x002055D8 File Offset: 0x002037D8
|
||||
[Token(Token = "0x1700177A")]
|
||||
internal Stream HandshakeHashUpdater
|
||||
{
|
||||
[Token(Token = "0x60091C4")]
|
||||
[Address(RVA = "0x501250", Offset = "0x4FFC50", VA = "0x180501250")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091C4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::get_HandshakeHashUpdater()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BaseOutputStream(var_0_06, ldfld:BaseOutputStream(RecordStream::mHandshakeHashUpdater, ldloc:RecordStream(this)))
|
||||
}
|
||||
|
||||
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: 0x060091C5 RID: 37317 RVA: 0x002055EC File Offset: 0x002037EC
|
||||
[Token(Token = "0x60091C5")]
|
||||
[Address(RVA = "0x1E8A790", Offset = "0x1E89190", VA = "0x181E8A790")]
|
||||
internal TlsHandshakeHash PrepareToFinish()
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x060091C6 RID: 37318 RVA: 0x00205608 File Offset: 0x00203808
|
||||
[Token(Token = "0x60091C6")]
|
||||
[Address(RVA = "0x1E8AB20", Offset = "0x1E89520", VA = "0x181E8AB20")]
|
||||
internal void SafeClose()
|
||||
{
|
||||
Platform.Dispose(this.mInput);
|
||||
Platform.Dispose(this.mOutput);
|
||||
}
|
||||
|
||||
// Token: 0x060091C7 RID: 37319 RVA: 0x0020562C File Offset: 0x0020382C
|
||||
[Token(Token = "0x60091C7")]
|
||||
[Address(RVA = "0xBBAD50", Offset = "0xBB9750", VA = "0x180BBAD50")]
|
||||
internal void Flush()
|
||||
{
|
||||
bool canRead = this.mOutput.CanRead;
|
||||
}
|
||||
|
||||
// Token: 0x060091C8 RID: 37320 RVA: 0x0020564C File Offset: 0x0020384C
|
||||
[Token(Token = "0x60091C8")]
|
||||
[Address(RVA = "0x1E8A620", Offset = "0x1E89020", VA = "0x181E8A620")]
|
||||
private byte[] GetBufferContents()
|
||||
{
|
||||
MemoryStream memoryStream = this.mBuffer;
|
||||
MemoryStream memoryStream2 = this.mBuffer;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060091C9 RID: 37321 RVA: 0x0020566C File Offset: 0x0020386C
|
||||
[Token(Token = "0x60091C9")]
|
||||
[Address(RVA = "0x1E8A2A0", Offset = "0x1E88CA0", VA = "0x181E8A2A0")]
|
||||
private static void CheckType(byte type, byte alertDescription)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x060091CA RID: 37322 RVA: 0x00205680 File Offset: 0x00203880
|
||||
[Token(Token = "0x60091CA")]
|
||||
[Address(RVA = "0x1E89FE0", Offset = "0x1E889E0", VA = "0x181E89FE0")]
|
||||
private static void CheckLength(int length, int limit, byte alertDescription)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006137 RID: 24887
|
||||
[Token(Token = "0x4006137")]
|
||||
private const int DEFAULT_PLAINTEXT_LIMIT = 16384;
|
||||
|
||||
// Token: 0x04006138 RID: 24888
|
||||
[Token(Token = "0x4006138")]
|
||||
internal const int TLS_HEADER_SIZE = 5;
|
||||
|
||||
// Token: 0x04006139 RID: 24889
|
||||
[Token(Token = "0x4006139")]
|
||||
internal const int TLS_HEADER_TYPE_OFFSET = 0;
|
||||
|
||||
// Token: 0x0400613A RID: 24890
|
||||
[Token(Token = "0x400613A")]
|
||||
internal const int TLS_HEADER_VERSION_OFFSET = 1;
|
||||
|
||||
// Token: 0x0400613B RID: 24891
|
||||
[Token(Token = "0x400613B")]
|
||||
internal const int TLS_HEADER_LENGTH_OFFSET = 3;
|
||||
|
||||
// Token: 0x0400613C RID: 24892
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400613C")]
|
||||
private TlsProtocol mHandler;
|
||||
|
||||
// Token: 0x0400613D RID: 24893
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400613D")]
|
||||
private Stream mInput;
|
||||
|
||||
// Token: 0x0400613E RID: 24894
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400613E")]
|
||||
private Stream mOutput;
|
||||
|
||||
// Token: 0x0400613F RID: 24895
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400613F")]
|
||||
private TlsCompression mPendingCompression;
|
||||
|
||||
// Token: 0x04006140 RID: 24896
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006140")]
|
||||
private TlsCompression mReadCompression;
|
||||
|
||||
// Token: 0x04006141 RID: 24897
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006141")]
|
||||
private TlsCompression mWriteCompression;
|
||||
|
||||
// Token: 0x04006142 RID: 24898
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006142")]
|
||||
private TlsCipher mPendingCipher;
|
||||
|
||||
// Token: 0x04006143 RID: 24899
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006143")]
|
||||
private TlsCipher mReadCipher;
|
||||
|
||||
// Token: 0x04006144 RID: 24900
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006144")]
|
||||
private TlsCipher mWriteCipher;
|
||||
|
||||
// Token: 0x04006145 RID: 24901
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006145")]
|
||||
private RecordStream.SequenceNumber mReadSeqNo;
|
||||
|
||||
// Token: 0x04006146 RID: 24902
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006146")]
|
||||
private RecordStream.SequenceNumber mWriteSeqNo;
|
||||
|
||||
// Token: 0x04006147 RID: 24903
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006147")]
|
||||
private MemoryStream mBuffer;
|
||||
|
||||
// Token: 0x04006148 RID: 24904
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006148")]
|
||||
private TlsHandshakeHash mHandshakeHash;
|
||||
|
||||
// Token: 0x04006149 RID: 24905
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006149")]
|
||||
private readonly BaseOutputStream mHandshakeHashUpdater;
|
||||
|
||||
// Token: 0x0400614A RID: 24906
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400614A")]
|
||||
private ProtocolVersion mReadVersion;
|
||||
|
||||
// Token: 0x0400614B RID: 24907
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x400614B")]
|
||||
private ProtocolVersion mWriteVersion;
|
||||
|
||||
// Token: 0x0400614C RID: 24908
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x400614C")]
|
||||
private bool mRestrictReadVersion;
|
||||
|
||||
// Token: 0x0400614D RID: 24909
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x94")]
|
||||
[Token(Token = "0x400614D")]
|
||||
private int mPlaintextLimit;
|
||||
|
||||
// Token: 0x0400614E RID: 24910
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x400614E")]
|
||||
private int mCompressedLimit;
|
||||
|
||||
// Token: 0x0400614F RID: 24911
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x9C")]
|
||||
[Token(Token = "0x400614F")]
|
||||
private int mCiphertextLimit;
|
||||
|
||||
// Token: 0x0200156E RID: 5486
|
||||
[Token(Token = "0x200156E")]
|
||||
private class HandshakeHashUpdateStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x060091CB RID: 37323 RVA: 0x00205690 File Offset: 0x00203890
|
||||
[Token(Token = "0x60091CB")]
|
||||
[Address(RVA = "0x1E7DE20", Offset = "0x1E7C820", VA = "0x181E7DE20")]
|
||||
public HandshakeHashUpdateStream(RecordStream mOuter)
|
||||
{
|
||||
this.mOuter = mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x060091CC RID: 37324 RVA: 0x002056AC File Offset: 0x002038AC
|
||||
[Token(Token = "0x60091CC")]
|
||||
[Address(RVA = "0x1E87BB0", Offset = "0x1E865B0", VA = "0x181E87BB0", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
TlsHandshakeHash mHandshakeHash = this.mOuter.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x04006150 RID: 24912
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006150")]
|
||||
private readonly RecordStream mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x0200156F RID: 5487
|
||||
[Token(Token = "0x200156F")]
|
||||
private class SequenceNumber
|
||||
{
|
||||
// Token: 0x060091CD RID: 37325 RVA: 0x002056CC File Offset: 0x002038CC
|
||||
[Token(Token = "0x60091CD")]
|
||||
[Address(RVA = "0x1E8B1F0", Offset = "0x1E89BF0", VA = "0x181E8B1F0")]
|
||||
internal long NextValue(byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091CD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream/SequenceNumber::NextValue(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:TlsFatalAlert(var_2_2A, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription)))
|
||||
}
|
||||
|
||||
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: 0x060091CE RID: 37326 RVA: 0x00205704 File Offset: 0x00203904
|
||||
[Token(Token = "0x60091CE")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public SequenceNumber()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006151 RID: 24913
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006151")]
|
||||
private long value;
|
||||
|
||||
// Token: 0x04006152 RID: 24914
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006152")]
|
||||
private bool exhausted;
|
||||
}
|
||||
}
|
||||
}
|
||||
+265
@@ -0,0 +1,265 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001570 RID: 5488
|
||||
[Token(Token = "0x2001570")]
|
||||
[StructLayout(3)]
|
||||
public class SecurityParameters
|
||||
{
|
||||
// Token: 0x060091CF RID: 37327 RVA: 0x00205718 File Offset: 0x00203918
|
||||
[Token(Token = "0x60091CF")]
|
||||
[Address(RVA = "0x1E8B160", Offset = "0x1E89B60", VA = "0x181E8B160", Slot = "4")]
|
||||
internal virtual void Clear()
|
||||
{
|
||||
byte[] array = this.masterSecret;
|
||||
if (array != 0)
|
||||
{
|
||||
int num = 0;
|
||||
Arrays.Fill(array, (byte)num);
|
||||
this.masterSecret = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700177B RID: 6011
|
||||
// (get) Token: 0x060091D0 RID: 37328 RVA: 0x00205744 File Offset: 0x00203944
|
||||
[Token(Token = "0x1700177B")]
|
||||
public virtual int Entity
|
||||
{
|
||||
[Token(Token = "0x60091D0")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.entity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700177C RID: 6012
|
||||
// (get) Token: 0x060091D1 RID: 37329 RVA: 0x00205758 File Offset: 0x00203958
|
||||
[Token(Token = "0x1700177C")]
|
||||
public virtual int CipherSuite
|
||||
{
|
||||
[Token(Token = "0x60091D1")]
|
||||
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.cipherSuite;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700177D RID: 6013
|
||||
// (get) Token: 0x060091D2 RID: 37330 RVA: 0x0020576C File Offset: 0x0020396C
|
||||
[Token(Token = "0x1700177D")]
|
||||
public virtual byte CompressionAlgorithm
|
||||
{
|
||||
[Token(Token = "0x60091D2")]
|
||||
[Address(RVA = "0x4FBF40", Offset = "0x4FA940", VA = "0x1804FBF40", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.compressionAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700177E RID: 6014
|
||||
// (get) Token: 0x060091D3 RID: 37331 RVA: 0x00205780 File Offset: 0x00203980
|
||||
[Token(Token = "0x1700177E")]
|
||||
public virtual int PrfAlgorithm
|
||||
{
|
||||
[Token(Token = "0x60091D3")]
|
||||
[Address(RVA = "0x4F8C10", Offset = "0x4F7610", VA = "0x1804F8C10", Slot = "8")]
|
||||
get
|
||||
{
|
||||
return this.prfAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700177F RID: 6015
|
||||
// (get) Token: 0x060091D4 RID: 37332 RVA: 0x00205794 File Offset: 0x00203994
|
||||
[Token(Token = "0x1700177F")]
|
||||
public virtual int VerifyDataLength
|
||||
{
|
||||
[Token(Token = "0x60091D4")]
|
||||
[Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return this.verifyDataLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001780 RID: 6016
|
||||
// (get) Token: 0x060091D5 RID: 37333 RVA: 0x002057A8 File Offset: 0x002039A8
|
||||
[Token(Token = "0x17001780")]
|
||||
public virtual byte[] MasterSecret
|
||||
{
|
||||
[Token(Token = "0x60091D5")]
|
||||
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return this.masterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001781 RID: 6017
|
||||
// (get) Token: 0x060091D6 RID: 37334 RVA: 0x002057BC File Offset: 0x002039BC
|
||||
[Token(Token = "0x17001781")]
|
||||
public virtual byte[] ClientRandom
|
||||
{
|
||||
[Token(Token = "0x60091D6")]
|
||||
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return this.clientRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001782 RID: 6018
|
||||
// (get) Token: 0x060091D7 RID: 37335 RVA: 0x002057D0 File Offset: 0x002039D0
|
||||
[Token(Token = "0x17001782")]
|
||||
public virtual byte[] ServerRandom
|
||||
{
|
||||
[Token(Token = "0x60091D7")]
|
||||
[Address(RVA = "0x3EE8E0", Offset = "0x3ED2E0", VA = "0x1803EE8E0", Slot = "12")]
|
||||
get
|
||||
{
|
||||
return this.serverRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001783 RID: 6019
|
||||
// (get) Token: 0x060091D8 RID: 37336 RVA: 0x002057E4 File Offset: 0x002039E4
|
||||
[Token(Token = "0x17001783")]
|
||||
public virtual byte[] SessionHash
|
||||
{
|
||||
[Token(Token = "0x60091D8")]
|
||||
[Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return this.sessionHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001784 RID: 6020
|
||||
// (get) Token: 0x060091D9 RID: 37337 RVA: 0x002057F8 File Offset: 0x002039F8
|
||||
[Token(Token = "0x17001784")]
|
||||
public virtual byte[] PskIdentity
|
||||
{
|
||||
[Token(Token = "0x60091D9")]
|
||||
[Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return this.pskIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001785 RID: 6021
|
||||
// (get) Token: 0x060091DA RID: 37338 RVA: 0x0020580C File Offset: 0x00203A0C
|
||||
[Token(Token = "0x17001785")]
|
||||
public virtual byte[] SrpIdentity
|
||||
{
|
||||
[Token(Token = "0x60091DA")]
|
||||
[Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return this.srpIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001786 RID: 6022
|
||||
// (get) Token: 0x060091DB RID: 37339 RVA: 0x00205820 File Offset: 0x00203A20
|
||||
[Token(Token = "0x17001786")]
|
||||
public virtual bool IsExtendedMasterSecret
|
||||
{
|
||||
[Token(Token = "0x60091DB")]
|
||||
[Address(RVA = "0x9EF5F0", Offset = "0x9EDFF0", VA = "0x1809EF5F0", Slot = "16")]
|
||||
get
|
||||
{
|
||||
return this.extendedMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091DC RID: 37340 RVA: 0x00205834 File Offset: 0x00203A34
|
||||
[Token(Token = "0x60091DC")]
|
||||
[Address(RVA = "0x1E8B1D0", Offset = "0x1E89BD0", VA = "0x181E8B1D0")]
|
||||
public SecurityParameters()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006153 RID: 24915
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006153")]
|
||||
internal int entity = (int)((ulong)(-1L));
|
||||
|
||||
// Token: 0x04006154 RID: 24916
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006154")]
|
||||
internal int cipherSuite;
|
||||
|
||||
// Token: 0x04006155 RID: 24917
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006155")]
|
||||
internal byte compressionAlgorithm;
|
||||
|
||||
// Token: 0x04006156 RID: 24918
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4006156")]
|
||||
internal int prfAlgorithm = (int)((ulong)(-1L));
|
||||
|
||||
// Token: 0x04006157 RID: 24919
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006157")]
|
||||
internal int verifyDataLength;
|
||||
|
||||
// Token: 0x04006158 RID: 24920
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006158")]
|
||||
internal byte[] masterSecret;
|
||||
|
||||
// Token: 0x04006159 RID: 24921
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006159")]
|
||||
internal byte[] clientRandom;
|
||||
|
||||
// Token: 0x0400615A RID: 24922
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400615A")]
|
||||
internal byte[] serverRandom;
|
||||
|
||||
// Token: 0x0400615B RID: 24923
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400615B")]
|
||||
internal byte[] sessionHash;
|
||||
|
||||
// Token: 0x0400615C RID: 24924
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400615C")]
|
||||
internal byte[] pskIdentity;
|
||||
|
||||
// Token: 0x0400615D RID: 24925
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x400615D")]
|
||||
internal byte[] srpIdentity;
|
||||
|
||||
// Token: 0x0400615E RID: 24926
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x400615E")]
|
||||
internal short maxFragmentLength = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x0400615F RID: 24927
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x400615F")]
|
||||
internal bool truncatedHMac;
|
||||
|
||||
// Token: 0x04006160 RID: 24928
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x4006160")]
|
||||
internal bool encryptThenMac;
|
||||
|
||||
// Token: 0x04006161 RID: 24929
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5C")]
|
||||
[Token(Token = "0x4006161")]
|
||||
internal bool extendedMasterSecret;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001571 RID: 5489
|
||||
[Token(Token = "0x2001571")]
|
||||
[StructLayout(3)]
|
||||
public class ServerName
|
||||
{
|
||||
// Token: 0x060091DD RID: 37341 RVA: 0x00205864 File Offset: 0x00203A64
|
||||
[Token(Token = "0x60091DD")]
|
||||
[Address(RVA = "0x1E8BEC0", Offset = "0x1E8A8C0", VA = "0x181E8BEC0")]
|
||||
public ServerName(byte nameType, object name)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091DD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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: 0x17001787 RID: 6023
|
||||
// (get) Token: 0x060091DE RID: 37342 RVA: 0x002058A0 File Offset: 0x00203AA0
|
||||
[Token(Token = "0x17001787")]
|
||||
public virtual byte NameType
|
||||
{
|
||||
[Token(Token = "0x60091DE")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mNameType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001788 RID: 6024
|
||||
// (get) Token: 0x060091DF RID: 37343 RVA: 0x002058B4 File Offset: 0x00203AB4
|
||||
[Token(Token = "0x17001788")]
|
||||
public virtual object Name
|
||||
{
|
||||
[Token(Token = "0x60091DF")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mName;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091E0 RID: 37344 RVA: 0x002058C8 File Offset: 0x00203AC8
|
||||
[Token(Token = "0x60091E0")]
|
||||
[Address(RVA = "0x1E8BBE0", Offset = "0x1E8A5E0", VA = "0x181E8BBE0", Slot = "6")]
|
||||
public virtual string GetHostName()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091E0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::GetHostName()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_20:
|
||||
stloc:InvalidOperationException(var_3_2A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'name' is not a HostName string")))
|
||||
}
|
||||
|
||||
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: 0x060091E1 RID: 37345 RVA: 0x00205900 File Offset: 0x00203B00
|
||||
[Token(Token = "0x60091E1")]
|
||||
[Address(RVA = "0x1E8BAA0", Offset = "0x1E8A4A0", VA = "0x181E8BAA0", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
int num;
|
||||
do
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mNameType, output);
|
||||
obj = this.mName;
|
||||
num = 0;
|
||||
}
|
||||
while (obj != 0 && obj == 0);
|
||||
TlsUtilities.WriteOpaque16(Strings.ToAsciiByteArray(num), output);
|
||||
}
|
||||
|
||||
// Token: 0x060091E2 RID: 37346 RVA: 0x00205938 File Offset: 0x00203B38
|
||||
[Token(Token = "0x60091E2")]
|
||||
[Address(RVA = "0x1E8BD30", Offset = "0x1E8A730", VA = "0x181E8BD30")]
|
||||
public static ServerName Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091E2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_35:
|
||||
stloc:ArgumentException(var_4_44, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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: 0x060091E3 RID: 37347 RVA: 0x0020598C File Offset: 0x00203B8C
|
||||
[Token(Token = "0x60091E3")]
|
||||
[Address(RVA = "0x1E8BCA0", Offset = "0x1E8A6A0", VA = "0x181E8BCA0")]
|
||||
protected static bool IsCorrectType(byte nameType, object name)
|
||||
{
|
||||
int num = 0;
|
||||
if (name != 0)
|
||||
{
|
||||
}
|
||||
return num != 0;
|
||||
}
|
||||
|
||||
// Token: 0x04006162 RID: 24930
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006162")]
|
||||
protected readonly byte mNameType;
|
||||
|
||||
// Token: 0x04006163 RID: 24931
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006163")]
|
||||
protected readonly object mName;
|
||||
}
|
||||
}
|
||||
+146
@@ -0,0 +1,146 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001572 RID: 5490
|
||||
[Token(Token = "0x2001572")]
|
||||
[StructLayout(3)]
|
||||
public class ServerNameList
|
||||
{
|
||||
// Token: 0x060091E4 RID: 37348 RVA: 0x002059B8 File Offset: 0x00203BB8
|
||||
[Token(Token = "0x60091E4")]
|
||||
[Address(RVA = "0x1E8BA20", Offset = "0x1E8A420", VA = "0x181E8BA20")]
|
||||
public ServerNameList(IList serverNameList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091E4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList::.ctor(System.Collections.IList)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("serverNameList")))
|
||||
}
|
||||
|
||||
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: 0x17001789 RID: 6025
|
||||
// (get) Token: 0x060091E5 RID: 37349 RVA: 0x002059E4 File Offset: 0x00203BE4
|
||||
[Token(Token = "0x17001789")]
|
||||
public virtual IList ServerNames
|
||||
{
|
||||
[Token(Token = "0x60091E5")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mServerNameList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091E6 RID: 37350 RVA: 0x002059F8 File Offset: 0x00203BF8
|
||||
[Token(Token = "0x60091E6")]
|
||||
[Address(RVA = "0x1E8B320", Offset = "0x1E89D20", VA = "0x181E8B320", Slot = "5")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
MemoryStream memoryStream;
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
memoryStream = new MemoryStream();
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
string text = this.ToString();
|
||||
if (text != 0)
|
||||
{
|
||||
if (text == 0)
|
||||
{
|
||||
goto IL_63;
|
||||
}
|
||||
string text2 = text.ToString();
|
||||
byte[] array;
|
||||
if (array == 0)
|
||||
{
|
||||
goto IL_63;
|
||||
}
|
||||
if (text.GetTypeCode() != TypeCode.Empty)
|
||||
{
|
||||
}
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
TlsUtilities.CheckUint16(memoryStream.CanWrite ? 1L : 0L);
|
||||
TlsUtilities.WriteUint16(memoryStream.CanWrite ? 1 : 0, output);
|
||||
Streams.WriteBufTo(memoryStream, output);
|
||||
return;
|
||||
IL_63:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x060091E7 RID: 37351 RVA: 0x00205A74 File Offset: 0x00203C74
|
||||
[Token(Token = "0x60091E7")]
|
||||
[Address(RVA = "0x1E8B630", Offset = "0x1E8A030", VA = "0x181E8B630")]
|
||||
public static ServerNameList Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (060091E7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_8F:
|
||||
stloc:ArgumentException(var_14_9E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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: 0x060091E8 RID: 37352 RVA: 0x00205B20 File Offset: 0x00203D20
|
||||
[Token(Token = "0x60091E8")]
|
||||
[Address(RVA = "0x1E8B280", Offset = "0x1E89C80", VA = "0x181E8B280")]
|
||||
private static byte[] CheckNameType(byte[] nameTypesSeen, byte nameType)
|
||||
{
|
||||
int num = 0;
|
||||
if (!Arrays.Contains(nameTypesSeen, (byte)num))
|
||||
{
|
||||
int num2 = 0;
|
||||
return Arrays.Append(nameTypesSeen, (byte)num2);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006164 RID: 24932
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006164")]
|
||||
protected readonly IList mServerNameList;
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001573 RID: 5491
|
||||
[Token(Token = "0x2001573")]
|
||||
[StructLayout(3)]
|
||||
public abstract class ServerOnlyTlsAuthentication : TlsAuthentication
|
||||
{
|
||||
// Token: 0x060091E9 RID: 37353
|
||||
[Token(Token = "0x60091E9")]
|
||||
[Address(Slot = "6")]
|
||||
public abstract void NotifyServerCertificate(Certificate serverCertificate);
|
||||
|
||||
// Token: 0x060091EA RID: 37354 RVA: 0x00205B44 File Offset: 0x00203D44
|
||||
[Token(Token = "0x60091EA")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "5")]
|
||||
public TlsCredentials GetClientCredentials(TlsContext context, CertificateRequest certificateRequest)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x060091EB RID: 37355 RVA: 0x00205B54 File Offset: 0x00203D54
|
||||
[Token(Token = "0x60091EB")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected ServerOnlyTlsAuthentication()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001574 RID: 5492
|
||||
[Token(Token = "0x2001574")]
|
||||
[StructLayout(3)]
|
||||
public class ServerSrpParams
|
||||
{
|
||||
// Token: 0x060091EC RID: 37356 RVA: 0x00205B68 File Offset: 0x00203D68
|
||||
[Token(Token = "0x60091EC")]
|
||||
[Address(RVA = "0x1E8C120", Offset = "0x1E8AB20", VA = "0x181E8C120")]
|
||||
public ServerSrpParams(BigInteger N, BigInteger g, byte[] s, BigInteger B)
|
||||
{
|
||||
this.m_N = N;
|
||||
this.m_g = g;
|
||||
byte[] array = Arrays.Clone(s);
|
||||
this.m_s = array;
|
||||
this.m_B = 0;
|
||||
}
|
||||
|
||||
// Token: 0x1700178A RID: 6026
|
||||
// (get) Token: 0x060091ED RID: 37357 RVA: 0x00205BA0 File Offset: 0x00203DA0
|
||||
[Token(Token = "0x1700178A")]
|
||||
public virtual BigInteger B
|
||||
{
|
||||
[Token(Token = "0x60091ED")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.m_B;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700178B RID: 6027
|
||||
// (get) Token: 0x060091EE RID: 37358 RVA: 0x00205BB4 File Offset: 0x00203DB4
|
||||
[Token(Token = "0x1700178B")]
|
||||
public virtual BigInteger G
|
||||
{
|
||||
[Token(Token = "0x60091EE")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.m_g;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700178C RID: 6028
|
||||
// (get) Token: 0x060091EF RID: 37359 RVA: 0x00205BC8 File Offset: 0x00203DC8
|
||||
[Token(Token = "0x1700178C")]
|
||||
public virtual BigInteger N
|
||||
{
|
||||
[Token(Token = "0x60091EF")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_N;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700178D RID: 6029
|
||||
// (get) Token: 0x060091F0 RID: 37360 RVA: 0x00205BDC File Offset: 0x00203DDC
|
||||
[Token(Token = "0x1700178D")]
|
||||
public virtual byte[] S
|
||||
{
|
||||
[Token(Token = "0x60091F0")]
|
||||
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.m_s;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091F1 RID: 37361 RVA: 0x00205BF0 File Offset: 0x00203DF0
|
||||
[Token(Token = "0x60091F1")]
|
||||
[Address(RVA = "0x1E8BF60", Offset = "0x1E8A960", VA = "0x181E8BF60", Slot = "8")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_N, output);
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_g, output);
|
||||
TlsUtilities.WriteOpaque8(this.m_s, output);
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_B, output);
|
||||
}
|
||||
|
||||
// Token: 0x060091F2 RID: 37362 RVA: 0x00205C30 File Offset: 0x00203E30
|
||||
[Token(Token = "0x60091F2")]
|
||||
[Address(RVA = "0x1E8C000", Offset = "0x1E8AA00", VA = "0x181E8C000")]
|
||||
public static ServerSrpParams Parse(Stream input)
|
||||
{
|
||||
BigInteger bigInteger = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
BigInteger bigInteger2 = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
byte[] array = TlsUtilities.ReadOpaque8(input);
|
||||
BigInteger bigInteger3 = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
ServerSrpParams serverSrpParams;
|
||||
serverSrpParams.m_N = bigInteger;
|
||||
serverSrpParams.m_g = bigInteger2;
|
||||
byte[] array2 = Arrays.Clone(array);
|
||||
serverSrpParams.m_s = array2;
|
||||
serverSrpParams.m_B = bigInteger3;
|
||||
return serverSrpParams;
|
||||
}
|
||||
|
||||
// Token: 0x04006165 RID: 24933
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006165")]
|
||||
protected BigInteger m_N;
|
||||
|
||||
// Token: 0x04006166 RID: 24934
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006166")]
|
||||
protected BigInteger m_g;
|
||||
|
||||
// Token: 0x04006167 RID: 24935
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006167")]
|
||||
protected BigInteger m_B;
|
||||
|
||||
// Token: 0x04006168 RID: 24936
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006168")]
|
||||
protected byte[] m_s;
|
||||
}
|
||||
}
|
||||
+388
@@ -0,0 +1,388 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001575 RID: 5493
|
||||
[Token(Token = "0x2001575")]
|
||||
[StructLayout(3)]
|
||||
public sealed class SessionParameters
|
||||
{
|
||||
// Token: 0x060091F3 RID: 37363 RVA: 0x00205C84 File Offset: 0x00203E84
|
||||
[Token(Token = "0x60091F3")]
|
||||
[Address(RVA = "0x1E8C370", Offset = "0x1E8AD70", VA = "0x181E8C370")]
|
||||
private SessionParameters(int cipherSuite, byte compressionAlgorithm, byte[] masterSecret, Certificate peerCertificate, byte[] pskIdentity, byte[] srpIdentity, byte[] encodedServerExtensions, bool extendedMasterSecret)
|
||||
{
|
||||
this.mCipherSuite = cipherSuite;
|
||||
this.mCompressionAlgorithm = compressionAlgorithm;
|
||||
byte[] array = Arrays.Clone(masterSecret);
|
||||
this.mMasterSecret = array;
|
||||
this.mPeerCertificate = 0;
|
||||
byte[] array2;
|
||||
this.mPskIdentity = array2;
|
||||
byte[] array3;
|
||||
this.mSrpIdentity = array3;
|
||||
this.mEncodedServerExtensions = 0;
|
||||
this.mExtendedMasterSecret = false;
|
||||
}
|
||||
|
||||
// Token: 0x060091F4 RID: 37364 RVA: 0x00205CD8 File Offset: 0x00203ED8
|
||||
[Token(Token = "0x60091F4")]
|
||||
[Address(RVA = "0x1E8C1C0", Offset = "0x1E8ABC0", VA = "0x181E8C1C0")]
|
||||
public void Clear()
|
||||
{
|
||||
byte[] array = this.mMasterSecret;
|
||||
if (array != 0)
|
||||
{
|
||||
int num = 0;
|
||||
Arrays.Fill(array, (byte)num);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091F5 RID: 37365 RVA: 0x00205CFC File Offset: 0x00203EFC
|
||||
[Token(Token = "0x60091F5")]
|
||||
[Address(RVA = "0x1E8C230", Offset = "0x1E8AC30", VA = "0x181E8C230")]
|
||||
public SessionParameters Copy()
|
||||
{
|
||||
int num = this.mCipherSuite;
|
||||
byte b = this.mCompressionAlgorithm;
|
||||
byte[] array = this.mMasterSecret;
|
||||
Certificate certificate = this.mPeerCertificate;
|
||||
byte[] array2 = this.mPskIdentity;
|
||||
byte[] array3 = this.mSrpIdentity;
|
||||
byte[] array4 = this.mEncodedServerExtensions;
|
||||
bool flag = this.mExtendedMasterSecret;
|
||||
return new SessionParameters(num, b, array, certificate, array2, array3, array4, flag);
|
||||
}
|
||||
|
||||
// Token: 0x1700178E RID: 6030
|
||||
// (get) Token: 0x060091F6 RID: 37366 RVA: 0x00205D58 File Offset: 0x00203F58
|
||||
[Token(Token = "0x1700178E")]
|
||||
public int CipherSuite
|
||||
{
|
||||
[Token(Token = "0x60091F6")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
|
||||
get
|
||||
{
|
||||
return this.mCipherSuite;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700178F RID: 6031
|
||||
// (get) Token: 0x060091F7 RID: 37367 RVA: 0x00205D6C File Offset: 0x00203F6C
|
||||
[Token(Token = "0x1700178F")]
|
||||
public byte CompressionAlgorithm
|
||||
{
|
||||
[Token(Token = "0x60091F7")]
|
||||
[Address(RVA = "0x4F5380", Offset = "0x4F3D80", VA = "0x1804F5380")]
|
||||
get
|
||||
{
|
||||
return this.mCompressionAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001790 RID: 6032
|
||||
// (get) Token: 0x060091F8 RID: 37368 RVA: 0x00205D80 File Offset: 0x00203F80
|
||||
[Token(Token = "0x17001790")]
|
||||
public bool IsExtendedMasterSecret
|
||||
{
|
||||
[Token(Token = "0x60091F8")]
|
||||
[Address(RVA = "0x421DE0", Offset = "0x4207E0", VA = "0x180421DE0")]
|
||||
get
|
||||
{
|
||||
return this.mExtendedMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001791 RID: 6033
|
||||
// (get) Token: 0x060091F9 RID: 37369 RVA: 0x00205D94 File Offset: 0x00203F94
|
||||
[Token(Token = "0x17001791")]
|
||||
public byte[] MasterSecret
|
||||
{
|
||||
[Token(Token = "0x60091F9")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
|
||||
get
|
||||
{
|
||||
return this.mMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001792 RID: 6034
|
||||
// (get) Token: 0x060091FA RID: 37370 RVA: 0x00205DA8 File Offset: 0x00203FA8
|
||||
[Token(Token = "0x17001792")]
|
||||
public Certificate PeerCertificate
|
||||
{
|
||||
[Token(Token = "0x60091FA")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
|
||||
get
|
||||
{
|
||||
return this.mPeerCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001793 RID: 6035
|
||||
// (get) Token: 0x060091FB RID: 37371 RVA: 0x00205DBC File Offset: 0x00203FBC
|
||||
[Token(Token = "0x17001793")]
|
||||
public byte[] PskIdentity
|
||||
{
|
||||
[Token(Token = "0x60091FB")]
|
||||
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
|
||||
get
|
||||
{
|
||||
return this.mPskIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001794 RID: 6036
|
||||
// (get) Token: 0x060091FC RID: 37372 RVA: 0x00205DD0 File Offset: 0x00203FD0
|
||||
[Token(Token = "0x17001794")]
|
||||
public byte[] SrpIdentity
|
||||
{
|
||||
[Token(Token = "0x60091FC")]
|
||||
[Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")]
|
||||
get
|
||||
{
|
||||
return this.mSrpIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060091FD RID: 37373 RVA: 0x00205DE4 File Offset: 0x00203FE4
|
||||
[Token(Token = "0x60091FD")]
|
||||
[Address(RVA = "0x1E8C300", Offset = "0x1E8AD00", VA = "0x181E8C300")]
|
||||
public IDictionary ReadServerExtensions()
|
||||
{
|
||||
byte[] array = this.mEncodedServerExtensions;
|
||||
if (array != 0)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(array, num != 0);
|
||||
num = 0;
|
||||
return TlsProtocol.ReadExtensions(memoryStream);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006169 RID: 24937
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006169")]
|
||||
private int mCipherSuite;
|
||||
|
||||
// Token: 0x0400616A RID: 24938
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x400616A")]
|
||||
private byte mCompressionAlgorithm;
|
||||
|
||||
// Token: 0x0400616B RID: 24939
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400616B")]
|
||||
private byte[] mMasterSecret;
|
||||
|
||||
// Token: 0x0400616C RID: 24940
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400616C")]
|
||||
private Certificate mPeerCertificate;
|
||||
|
||||
// Token: 0x0400616D RID: 24941
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400616D")]
|
||||
private byte[] mPskIdentity;
|
||||
|
||||
// Token: 0x0400616E RID: 24942
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400616E")]
|
||||
private byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x0400616F RID: 24943
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400616F")]
|
||||
private byte[] mEncodedServerExtensions;
|
||||
|
||||
// Token: 0x04006170 RID: 24944
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006170")]
|
||||
private bool mExtendedMasterSecret;
|
||||
|
||||
// Token: 0x02001576 RID: 5494
|
||||
[Token(Token = "0x2001576")]
|
||||
public sealed class Builder
|
||||
{
|
||||
// Token: 0x060091FE RID: 37374 RVA: 0x00205E10 File Offset: 0x00204010
|
||||
[Token(Token = "0x60091FE")]
|
||||
[Address(RVA = "0x1E87780", Offset = "0x1E86180", VA = "0x181E87780")]
|
||||
public Builder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x060091FF RID: 37375 RVA: 0x00205E34 File Offset: 0x00204034
|
||||
[Token(Token = "0x60091FF")]
|
||||
[Address(RVA = "0x1E874F0", Offset = "0x1E85EF0", VA = "0x181E874F0")]
|
||||
public SessionParameters Build()
|
||||
{
|
||||
int num = this.mCipherSuite;
|
||||
this.Validate(num != 0, "cipherSuite");
|
||||
short num2 = this.mCompressionAlgorithm;
|
||||
this.Validate(num2 != 0, "compressionAlgorithm");
|
||||
this.Validate(num2 != 0, "masterSecret");
|
||||
int num3 = this.mCipherSuite;
|
||||
short num4 = this.mCompressionAlgorithm;
|
||||
byte[] array = this.mMasterSecret;
|
||||
Certificate certificate = this.mPeerCertificate;
|
||||
byte[] array2 = this.mPskIdentity;
|
||||
byte[] array3 = this.mSrpIdentity;
|
||||
byte[] array4 = this.mEncodedServerExtensions;
|
||||
bool flag = this.mExtendedMasterSecret;
|
||||
return new SessionParameters(num3, (byte)num4, array, certificate, array2, array3, array4, flag);
|
||||
}
|
||||
|
||||
// Token: 0x06009200 RID: 37376 RVA: 0x00205EC4 File Offset: 0x002040C4
|
||||
[Token(Token = "0x6009200")]
|
||||
[Address(RVA = "0x1E87610", Offset = "0x1E86010", VA = "0x181E87610")]
|
||||
public SessionParameters.Builder SetCipherSuite(int cipherSuite)
|
||||
{
|
||||
this.mCipherSuite = cipherSuite;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06009201 RID: 37377 RVA: 0x00205EDC File Offset: 0x002040DC
|
||||
[Token(Token = "0x6009201")]
|
||||
[Address(RVA = "0x1E87620", Offset = "0x1E86020", VA = "0x181E87620")]
|
||||
public SessionParameters.Builder SetCompressionAlgorithm(byte compressionAlgorithm)
|
||||
{
|
||||
this.mCompressionAlgorithm = (short)compressionAlgorithm;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06009202 RID: 37378 RVA: 0x00205EF4 File Offset: 0x002040F4
|
||||
[Token(Token = "0x6009202")]
|
||||
[Address(RVA = "0x1E87630", Offset = "0x1E86030", VA = "0x181E87630")]
|
||||
public SessionParameters.Builder SetExtendedMasterSecret(bool extendedMasterSecret)
|
||||
{
|
||||
this.mExtendedMasterSecret = extendedMasterSecret;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06009203 RID: 37379 RVA: 0x00205F0C File Offset: 0x0020410C
|
||||
[Token(Token = "0x6009203")]
|
||||
[Address(RVA = "0x4E1CF0", Offset = "0x4E06F0", VA = "0x1804E1CF0")]
|
||||
public SessionParameters.Builder SetMasterSecret(byte[] masterSecret)
|
||||
{
|
||||
this.mMasterSecret = masterSecret;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06009204 RID: 37380 RVA: 0x00205F24 File Offset: 0x00204124
|
||||
[Token(Token = "0x6009204")]
|
||||
[Address(RVA = "0x665670", Offset = "0x664070", VA = "0x180665670")]
|
||||
public SessionParameters.Builder SetPeerCertificate(Certificate peerCertificate)
|
||||
{
|
||||
this.mPeerCertificate = peerCertificate;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06009205 RID: 37381 RVA: 0x00205F3C File Offset: 0x0020413C
|
||||
[Token(Token = "0x6009205")]
|
||||
[Address(RVA = "0x1E87640", Offset = "0x1E86040", VA = "0x181E87640")]
|
||||
public SessionParameters.Builder SetPskIdentity(byte[] pskIdentity)
|
||||
{
|
||||
this.mPskIdentity = pskIdentity;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06009206 RID: 37382 RVA: 0x00205F54 File Offset: 0x00204154
|
||||
[Token(Token = "0x6009206")]
|
||||
[Address(RVA = "0x12D4620", Offset = "0x12D3020", VA = "0x1812D4620")]
|
||||
public SessionParameters.Builder SetSrpIdentity(byte[] srpIdentity)
|
||||
{
|
||||
this.mSrpIdentity = srpIdentity;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06009207 RID: 37383 RVA: 0x00205F6C File Offset: 0x0020416C
|
||||
[Token(Token = "0x6009207")]
|
||||
[Address(RVA = "0x1E87650", Offset = "0x1E86050", VA = "0x181E87650")]
|
||||
public SessionParameters.Builder SetServerExtensions(IDictionary serverExtensions)
|
||||
{
|
||||
if (serverExtensions != 0)
|
||||
{
|
||||
TlsProtocol.WriteExtensions(new MemoryStream(), serverExtensions);
|
||||
}
|
||||
int num = 0;
|
||||
this.mEncodedServerExtensions = num;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06009208 RID: 37384 RVA: 0x00205F98 File Offset: 0x00204198
|
||||
[Token(Token = "0x6009208")]
|
||||
[Address(RVA = "0x1E876F0", Offset = "0x1E860F0", VA = "0x181E876F0")]
|
||||
private void Validate(bool condition, string parameter)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009208)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SessionParameters/Builder::Validate(System.Boolean,System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_05:
|
||||
stloc:InvalidOperationException(var_0_1A, newobj:InvalidOperationException(InvalidOperationException::.ctor, call:string(string::Concat, ldstr:string("Required session parameter '"), ldloc:string(parameter), ldstr:string("' not configured"))))
|
||||
}
|
||||
|
||||
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: 0x04006171 RID: 24945
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006171")]
|
||||
private int mCipherSuite = (int)((uint)(-1));
|
||||
|
||||
// Token: 0x04006172 RID: 24946
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006172")]
|
||||
private short mCompressionAlgorithm = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x04006173 RID: 24947
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006173")]
|
||||
private byte[] mMasterSecret;
|
||||
|
||||
// Token: 0x04006174 RID: 24948
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006174")]
|
||||
private Certificate mPeerCertificate;
|
||||
|
||||
// Token: 0x04006175 RID: 24949
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006175")]
|
||||
private byte[] mPskIdentity;
|
||||
|
||||
// Token: 0x04006176 RID: 24950
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006176")]
|
||||
private byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x04006177 RID: 24951
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006177")]
|
||||
private byte[] mEncodedServerExtensions;
|
||||
|
||||
// Token: 0x04006178 RID: 24952
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006178")]
|
||||
private bool mExtendedMasterSecret;
|
||||
}
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001577 RID: 5495
|
||||
[Token(Token = "0x2001577")]
|
||||
[StructLayout(3)]
|
||||
public abstract class SignatureAlgorithm
|
||||
{
|
||||
// Token: 0x06009209 RID: 37385 RVA: 0x00205FC0 File Offset: 0x002041C0
|
||||
[Token(Token = "0x6009209")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected SignatureAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006179 RID: 24953
|
||||
[Token(Token = "0x4006179")]
|
||||
public const byte anonymous = 0;
|
||||
|
||||
// Token: 0x0400617A RID: 24954
|
||||
[Token(Token = "0x400617A")]
|
||||
public const byte rsa = 1;
|
||||
|
||||
// Token: 0x0400617B RID: 24955
|
||||
[Token(Token = "0x400617B")]
|
||||
public const byte dsa = 2;
|
||||
|
||||
// Token: 0x0400617C RID: 24956
|
||||
[Token(Token = "0x400617C")]
|
||||
public const byte ecdsa = 3;
|
||||
}
|
||||
}
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001578 RID: 5496
|
||||
[Token(Token = "0x2001578")]
|
||||
[StructLayout(3)]
|
||||
public class SignatureAndHashAlgorithm
|
||||
{
|
||||
// Token: 0x0600920A RID: 37386 RVA: 0x00205FD4 File Offset: 0x002041D4
|
||||
[Token(Token = "0x600920A")]
|
||||
[Address(RVA = "0x1E8C920", Offset = "0x1E8B320", VA = "0x181E8C920")]
|
||||
public SignatureAndHashAlgorithm(byte hash, byte signature)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600920A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::.ctor(System.Byte,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_27:
|
||||
stloc:ArgumentException(var_0_36, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("should be a uint8"), ldstr:string("hash")))
|
||||
stloc:ArgumentException(var_1_46, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("MUST NOT be \"anonymous\""), ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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: 0x17001795 RID: 6037
|
||||
// (get) Token: 0x0600920B RID: 37387 RVA: 0x00206028 File Offset: 0x00204228
|
||||
[Token(Token = "0x17001795")]
|
||||
public virtual byte Hash
|
||||
{
|
||||
[Token(Token = "0x600920B")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001796 RID: 6038
|
||||
// (get) Token: 0x0600920C RID: 37388 RVA: 0x0020603C File Offset: 0x0020423C
|
||||
[Token(Token = "0x17001796")]
|
||||
public virtual byte Signature
|
||||
{
|
||||
[Token(Token = "0x600920C")]
|
||||
[Address(RVA = "0x6E4A50", Offset = "0x6E3450", VA = "0x1806E4A50", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSignature;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600920D RID: 37389 RVA: 0x00206050 File Offset: 0x00204250
|
||||
[Token(Token = "0x600920D")]
|
||||
[Address(RVA = "0x1E8C5D0", Offset = "0x1E8AFD0", VA = "0x181E8C5D0", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
while (obj != 0 && obj != 0)
|
||||
{
|
||||
if (obj != 0)
|
||||
{
|
||||
string text = obj.ToString();
|
||||
string text2 = this.ToString();
|
||||
if (text == text2)
|
||||
{
|
||||
byte hash = this.Hash;
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600920E RID: 37390 RVA: 0x0020608C File Offset: 0x0020428C
|
||||
[Token(Token = "0x600920E")]
|
||||
[Address(RVA = "0x1E8C710", Offset = "0x1E8B110", VA = "0x181E8C710", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600920E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::GetHashCode()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:string(var_0_06, callvirt:string(object::ToString, ldloc:SignatureAndHashAlgorithm[exp:object](this)))
|
||||
stloc:uint8(var_1_0D, callvirtgetter:uint8(SignatureAndHashAlgorithm::get_Hash, ldloc:SignatureAndHashAlgorithm(this)))
|
||||
}
|
||||
|
||||
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: 0x0600920F RID: 37391 RVA: 0x002060A8 File Offset: 0x002042A8
|
||||
[Token(Token = "0x600920F")]
|
||||
[Address(RVA = "0x1E8C520", Offset = "0x1E8AF20", VA = "0x181E8C520", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
string text = this.ToString();
|
||||
TlsUtilities.WriteUint8(this.Hash, output);
|
||||
}
|
||||
|
||||
// Token: 0x06009210 RID: 37392 RVA: 0x002060C8 File Offset: 0x002042C8
|
||||
[Token(Token = "0x6009210")]
|
||||
[Address(RVA = "0x1E8C760", Offset = "0x1E8B160", VA = "0x181E8C760")]
|
||||
public static SignatureAndHashAlgorithm Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009210)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30:
|
||||
stloc:ArgumentException(var_3_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("should be a uint8"), ldstr:string("hash")))
|
||||
stloc:ArgumentException(var_4_4F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("MUST NOT be \"anonymous\""), ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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: 0x0400617D RID: 24957
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400617D")]
|
||||
protected readonly byte mHash;
|
||||
|
||||
// Token: 0x0400617E RID: 24958
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x11")]
|
||||
[Token(Token = "0x400617E")]
|
||||
protected readonly byte mSignature;
|
||||
}
|
||||
}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001579 RID: 5497
|
||||
[Token(Token = "0x2001579")]
|
||||
[StructLayout(3)]
|
||||
internal class SignerInputBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x06009211 RID: 37393 RVA: 0x00206128 File Offset: 0x00204328
|
||||
[Token(Token = "0x6009211")]
|
||||
[Address(RVA = "0x1E8CA80", Offset = "0x1E8B480", VA = "0x181E8CA80")]
|
||||
internal void UpdateSigner(ISigner s)
|
||||
{
|
||||
SignerInputBuffer.SigStream sigStream;
|
||||
sigStream.s = s;
|
||||
Streams.WriteBufTo(this, sigStream);
|
||||
}
|
||||
|
||||
// Token: 0x06009212 RID: 37394 RVA: 0x00206144 File Offset: 0x00204344
|
||||
[Token(Token = "0x6009212")]
|
||||
[Address(RVA = "0x1E39980", Offset = "0x1E38380", VA = "0x181E39980")]
|
||||
public SignerInputBuffer()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0200157A RID: 5498
|
||||
[Token(Token = "0x200157A")]
|
||||
private class SigStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x06009213 RID: 37395 RVA: 0x00206158 File Offset: 0x00204358
|
||||
[Token(Token = "0x6009213")]
|
||||
[Address(RVA = "0x1E7DE20", Offset = "0x1E7C820", VA = "0x181E7DE20")]
|
||||
internal SigStream(ISigner s)
|
||||
{
|
||||
this.s = s;
|
||||
}
|
||||
|
||||
// Token: 0x06009214 RID: 37396 RVA: 0x00206174 File Offset: 0x00204374
|
||||
[Token(Token = "0x6009214")]
|
||||
[Address(RVA = "0x1E8C440", Offset = "0x1E8AE40", VA = "0x181E8C440", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
ISigner signer = this.s;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009215 RID: 37397 RVA: 0x00206190 File Offset: 0x00204390
|
||||
[Token(Token = "0x6009215")]
|
||||
[Address(RVA = "0x1E8C4A0", Offset = "0x1E8AEA0", VA = "0x181E8C4A0", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
ISigner signer = this.s;
|
||||
}
|
||||
|
||||
// Token: 0x0400617F RID: 24959
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400617F")]
|
||||
private readonly ISigner s;
|
||||
}
|
||||
}
|
||||
}
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200157B RID: 5499
|
||||
[Token(Token = "0x200157B")]
|
||||
[StructLayout(3)]
|
||||
public class SimulatedTlsSrpIdentityManager : TlsSrpIdentityManager
|
||||
{
|
||||
// Token: 0x06009216 RID: 37398 RVA: 0x002061AC File Offset: 0x002043AC
|
||||
[Token(Token = "0x6009216")]
|
||||
[Address(RVA = "0x1E8CD60", Offset = "0x1E8B760", VA = "0x181E8CD60")]
|
||||
public static SimulatedTlsSrpIdentityManager GetRfc5054Default(Srp6GroupParameters group, byte[] seedKey)
|
||||
{
|
||||
Srp6VerifierGenerator srp6VerifierGenerator = new Srp6VerifierGenerator();
|
||||
IDigest digest;
|
||||
HMac hmac = new HMac(digest);
|
||||
KeyParameter keyParameter = new KeyParameter(seedKey);
|
||||
IDigest underlyingDigest = hmac.GetUnderlyingDigest();
|
||||
SimulatedTlsSrpIdentityManager simulatedTlsSrpIdentityManager;
|
||||
simulatedTlsSrpIdentityManager.mGroup = group;
|
||||
simulatedTlsSrpIdentityManager.mVerifierGenerator = srp6VerifierGenerator;
|
||||
simulatedTlsSrpIdentityManager.mMac = hmac;
|
||||
return simulatedTlsSrpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x06009217 RID: 37399 RVA: 0x002061F8 File Offset: 0x002043F8
|
||||
[Token(Token = "0x6009217")]
|
||||
[Address(RVA = "0x74BD80", Offset = "0x74A780", VA = "0x18074BD80")]
|
||||
public SimulatedTlsSrpIdentityManager(Srp6GroupParameters group, Srp6VerifierGenerator verifierGenerator, IMac mac)
|
||||
{
|
||||
this.mGroup = group;
|
||||
this.mVerifierGenerator = verifierGenerator;
|
||||
this.mMac = mac;
|
||||
}
|
||||
|
||||
// Token: 0x06009218 RID: 37400 RVA: 0x00206220 File Offset: 0x00204420
|
||||
[Token(Token = "0x6009218")]
|
||||
[Address(RVA = "0x1E8CAF0", Offset = "0x1E8B4F0", VA = "0x181E8CAF0", Slot = "5")]
|
||||
public virtual TlsSrpLoginParameters GetLoginParameters(byte[] identity)
|
||||
{
|
||||
IMac mac = this.mMac;
|
||||
int length = SimulatedTlsSrpIdentityManager.PREFIX_SALT.Length;
|
||||
IMac mac2 = this.mMac;
|
||||
int length2 = identity.Length;
|
||||
IMac mac3 = this.mMac;
|
||||
byte[] array = new byte[length2];
|
||||
IMac mac4 = this.mMac;
|
||||
byte[] prefix_PASSWORD = SimulatedTlsSrpIdentityManager.PREFIX_PASSWORD;
|
||||
IMac mac5 = this.mMac;
|
||||
int length3 = prefix_PASSWORD.Length;
|
||||
IMac mac6 = this.mMac;
|
||||
int length4 = identity.Length;
|
||||
IMac mac7 = this.mMac;
|
||||
byte[] array2 = new byte[length4];
|
||||
IMac mac8 = this.mMac;
|
||||
Srp6VerifierGenerator srp6VerifierGenerator = this.mVerifierGenerator;
|
||||
TlsSrpLoginParameters tlsSrpLoginParameters;
|
||||
return tlsSrpLoginParameters;
|
||||
}
|
||||
|
||||
// Token: 0x04006180 RID: 24960
|
||||
[Token(Token = "0x4006180")]
|
||||
private static readonly byte[] PREFIX_PASSWORD = Strings.ToByteArray("password");
|
||||
|
||||
// Token: 0x04006181 RID: 24961
|
||||
[Token(Token = "0x4006181")]
|
||||
private static readonly byte[] PREFIX_SALT = Strings.ToByteArray("salt");
|
||||
|
||||
// Token: 0x04006182 RID: 24962
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006182")]
|
||||
protected readonly Srp6GroupParameters mGroup;
|
||||
|
||||
// Token: 0x04006183 RID: 24963
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006183")]
|
||||
protected readonly Srp6VerifierGenerator mVerifierGenerator;
|
||||
|
||||
// Token: 0x04006184 RID: 24964
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006184")]
|
||||
protected readonly IMac mMac;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200157C RID: 5500
|
||||
[Token(Token = "0x200157C")]
|
||||
[StructLayout(3)]
|
||||
public class SrpTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x0600921A RID: 37402 RVA: 0x002062E8 File Offset: 0x002044E8
|
||||
[Token(Token = "0x600921A")]
|
||||
[Address(RVA = "0x1E8D300", Offset = "0x1E8BD00", VA = "0x181E8D300")]
|
||||
public SrpTlsClient(byte[] identity, byte[] password)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsSrpGroupVerifier defaultTlsSrpGroupVerifier = new DefaultTlsSrpGroupVerifier();
|
||||
}
|
||||
|
||||
// Token: 0x0600921B RID: 37403 RVA: 0x00206304 File Offset: 0x00204504
|
||||
[Token(Token = "0x600921B")]
|
||||
[Address(RVA = "0x1E8D3B0", Offset = "0x1E8BDB0", VA = "0x181E8D3B0")]
|
||||
public SrpTlsClient(TlsCipherFactory cipherFactory, byte[] identity, byte[] password)
|
||||
{
|
||||
DefaultTlsSrpGroupVerifier defaultTlsSrpGroupVerifier = new DefaultTlsSrpGroupVerifier();
|
||||
}
|
||||
|
||||
// Token: 0x0600921C RID: 37404 RVA: 0x00206318 File Offset: 0x00204518
|
||||
[Token(Token = "0x600921C")]
|
||||
[Address(RVA = "0x1E8D260", Offset = "0x1E8BC60", VA = "0x181E8D260")]
|
||||
public SrpTlsClient(TlsCipherFactory cipherFactory, TlsSrpGroupVerifier groupVerifier, byte[] identity, byte[] password)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mGroupVerifier = groupVerifier;
|
||||
byte[] array = Arrays.Clone(identity);
|
||||
this.mIdentity = array;
|
||||
byte[] array2;
|
||||
this.mPassword = array2;
|
||||
}
|
||||
|
||||
// Token: 0x17001797 RID: 6039
|
||||
// (get) Token: 0x0600921D RID: 37405 RVA: 0x00206348 File Offset: 0x00204548
|
||||
[Token(Token = "0x17001797")]
|
||||
protected virtual bool RequireSrpServerExtension
|
||||
{
|
||||
[Token(Token = "0x600921D")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "61")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600921E RID: 37406 RVA: 0x00206358 File Offset: 0x00204558
|
||||
[Token(Token = "0x600921E")]
|
||||
[Address(RVA = "0x1E8D010", Offset = "0x1E8BA10", VA = "0x181E8D010", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
return new int[] { (int)((ulong)49182L) };
|
||||
}
|
||||
|
||||
// Token: 0x0600921F RID: 37407 RVA: 0x00206384 File Offset: 0x00204584
|
||||
[Token(Token = "0x600921F")]
|
||||
[Address(RVA = "0x1E8D070", Offset = "0x1E8BA70", VA = "0x181E8D070", Slot = "47")]
|
||||
public override IDictionary GetClientExtensions()
|
||||
{
|
||||
IDictionary clientExtensions = base.GetClientExtensions();
|
||||
if (clientExtensions == 0)
|
||||
{
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
}
|
||||
byte[] array = this.mIdentity;
|
||||
TlsSrpUtilities.AddSrpExtension(clientExtensions, array);
|
||||
return clientExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x06009220 RID: 37408 RVA: 0x002063B4 File Offset: 0x002045B4
|
||||
[Token(Token = "0x6009220")]
|
||||
[Address(RVA = "0x1E8D1A0", Offset = "0x1E8BBA0", VA = "0x181E8D1A0", Slot = "55")]
|
||||
public override void ProcessServerExtensions(IDictionary serverExtensions)
|
||||
{
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
}
|
||||
base.ProcessServerExtensions(serverExtensions);
|
||||
}
|
||||
|
||||
// Token: 0x06009221 RID: 37409 RVA: 0x002063CC File Offset: 0x002045CC
|
||||
[Token(Token = "0x6009221")]
|
||||
[Address(RVA = "0x1E8D0F0", Offset = "0x1E8BAF0", VA = "0x181E8D0F0", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009221)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32[](var_2_18, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:SrpTlsClient[exp:AbstractTlsClient](this)))
|
||||
}
|
||||
|
||||
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: 0x06009222 RID: 37410 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009222")]
|
||||
[Address(RVA = "0x1E8CFC0", Offset = "0x1E8B9C0", VA = "0x181E8CFC0", Slot = "58")]
|
||||
public override TlsAuthentication GetAuthentication()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009223 RID: 37411 RVA: 0x002063F4 File Offset: 0x002045F4
|
||||
[Token(Token = "0x6009223")]
|
||||
[Address(RVA = "0x1E8CF20", Offset = "0x1E8B920", VA = "0x181E8CF20", Slot = "62")]
|
||||
protected virtual TlsKeyExchange CreateSrpKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009223)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsClient::CreateSrpKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:SrpTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsSrpGroupVerifier(var_1_0D, ldfld:TlsSrpGroupVerifier(SrpTlsClient::mGroupVerifier, ldloc:SrpTlsClient(this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](SrpTlsClient::mIdentity, ldloc:SrpTlsClient(this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](SrpTlsClient::mPassword, ldloc:SrpTlsClient(this)))
|
||||
stloc:TlsSrpKeyExchange(var_4_26, newobj:TlsSrpKeyExchange(TlsSrpKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsSrpGroupVerifier(var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x04006185 RID: 24965
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006185")]
|
||||
protected TlsSrpGroupVerifier mGroupVerifier;
|
||||
|
||||
// Token: 0x04006186 RID: 24966
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006186")]
|
||||
protected byte[] mIdentity;
|
||||
|
||||
// Token: 0x04006187 RID: 24967
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006187")]
|
||||
protected byte[] mPassword;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,197 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200157D RID: 5501
|
||||
[Token(Token = "0x200157D")]
|
||||
[StructLayout(3)]
|
||||
public class SrpTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x06009224 RID: 37412 RVA: 0x00206428 File Offset: 0x00204628
|
||||
[Token(Token = "0x6009224")]
|
||||
[Address(RVA = "0x1E8D8F0", Offset = "0x1E8C2F0", VA = "0x181E8D8F0")]
|
||||
public SrpTlsServer(TlsSrpIdentityManager srpIdentityManager)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mSrpIdentityManager = srpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x06009225 RID: 37413 RVA: 0x0020644C File Offset: 0x0020464C
|
||||
[Token(Token = "0x6009225")]
|
||||
[Address(RVA = "0x1E89FB0", Offset = "0x1E889B0", VA = "0x181E89FB0")]
|
||||
public SrpTlsServer(TlsCipherFactory cipherFactory, TlsSrpIdentityManager srpIdentityManager)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mSrpIdentityManager = srpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x06009226 RID: 37414 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009226")]
|
||||
[Address(RVA = "0x1E8D620", Offset = "0x1E8C020", VA = "0x181E8D620", Slot = "63")]
|
||||
protected virtual TlsSignerCredentials GetDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009227 RID: 37415 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009227")]
|
||||
[Address(RVA = "0x1E8D720", Offset = "0x1E8C120", VA = "0x181E8D720", Slot = "64")]
|
||||
protected virtual TlsSignerCredentials GetRsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009228 RID: 37416 RVA: 0x00206468 File Offset: 0x00204668
|
||||
[Token(Token = "0x6009228")]
|
||||
[Address(RVA = "0x1E8D4F0", Offset = "0x1E8BEF0", VA = "0x181E8D4F0", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[6];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.A6BA6E61D8DC7245D265FDFACD05778F1F6FA238).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009229 RID: 37417 RVA: 0x00206488 File Offset: 0x00204688
|
||||
[Token(Token = "0x6009229")]
|
||||
[Address(RVA = "0x1E8D8B0", Offset = "0x1E8C2B0", VA = "0x181E8D8B0", Slot = "50")]
|
||||
public override void ProcessClientExtensions(IDictionary clientExtensions)
|
||||
{
|
||||
base.ProcessClientExtensions(clientExtensions);
|
||||
byte[] srpExtension = TlsSrpUtilities.GetSrpExtension(clientExtensions);
|
||||
this.mSrpIdentity = srpExtension;
|
||||
}
|
||||
|
||||
// Token: 0x0600922A RID: 37418 RVA: 0x002064AC File Offset: 0x002046AC
|
||||
[Token(Token = "0x600922A")]
|
||||
[Address(RVA = "0x1E8D770", Offset = "0x1E8C170", VA = "0x181E8D770", Slot = "52")]
|
||||
public override int GetSelectedCipherSuite()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600922A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetSelectedCipherSuite()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4C:
|
||||
stloc:TlsFatalAlert(var_5_53, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_6)))
|
||||
}
|
||||
|
||||
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: 0x0600922B RID: 37419 RVA: 0x00206510 File Offset: 0x00204710
|
||||
[Token(Token = "0x600922B")]
|
||||
[Address(RVA = "0x1E8D540", Offset = "0x1E8BF40", VA = "0x181E8D540", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600922B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCredentials BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetCredentials()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:TlsFatalAlert(var_2_1D, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](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.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: 0x0600922C RID: 37420 RVA: 0x0020653C File Offset: 0x0020473C
|
||||
[Token(Token = "0x600922C")]
|
||||
[Address(RVA = "0x1E8D670", Offset = "0x1E8C070", VA = "0x181E8D670", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600922C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsCompression(var_2_18, call:TlsCompression(AbstractTlsPeer::GetCompression, ldloc:SrpTlsServer[exp:AbstractTlsPeer](this)))
|
||||
}
|
||||
|
||||
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: 0x0600922D RID: 37421 RVA: 0x00206564 File Offset: 0x00204764
|
||||
[Token(Token = "0x600922D")]
|
||||
[Address(RVA = "0x1E8D450", Offset = "0x1E8BE50", VA = "0x181E8D450", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreateSrpKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600922D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::CreateSrpKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:SrpTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_1_0D, ldfld:uint8[](SrpTlsServer::mSrpIdentity, ldloc:SrpTlsServer(this)))
|
||||
stloc:TlsSrpLoginParameters(var_2_14, ldfld:TlsSrpLoginParameters(SrpTlsServer::mLoginParameters, ldloc:SrpTlsServer(this)))
|
||||
stloc:TlsSrpKeyExchange(var_3_1E, newobj:TlsSrpKeyExchange(TlsSrpKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:uint8[](var_1_0D), ldloc:TlsSrpLoginParameters(var_2_14)))
|
||||
}
|
||||
|
||||
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: 0x04006188 RID: 24968
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4006188")]
|
||||
protected TlsSrpIdentityManager mSrpIdentityManager;
|
||||
|
||||
// Token: 0x04006189 RID: 24969
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x4006189")]
|
||||
protected byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x0400618A RID: 24970
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x400618A")]
|
||||
protected TlsSrpLoginParameters mLoginParameters;
|
||||
}
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200157E RID: 5502
|
||||
[Token(Token = "0x200157E")]
|
||||
[StructLayout(3)]
|
||||
public abstract class SrtpProtectionProfile
|
||||
{
|
||||
// Token: 0x0600922E RID: 37422 RVA: 0x00206590 File Offset: 0x00204790
|
||||
[Token(Token = "0x600922E")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected SrtpProtectionProfile()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400618B RID: 24971
|
||||
[Token(Token = "0x400618B")]
|
||||
public const int SRTP_AES128_CM_HMAC_SHA1_80 = 1;
|
||||
|
||||
// Token: 0x0400618C RID: 24972
|
||||
[Token(Token = "0x400618C")]
|
||||
public const int SRTP_AES128_CM_HMAC_SHA1_32 = 2;
|
||||
|
||||
// Token: 0x0400618D RID: 24973
|
||||
[Token(Token = "0x400618D")]
|
||||
public const int SRTP_NULL_HMAC_SHA1_80 = 5;
|
||||
|
||||
// Token: 0x0400618E RID: 24974
|
||||
[Token(Token = "0x400618E")]
|
||||
public const int SRTP_NULL_HMAC_SHA1_32 = 6;
|
||||
|
||||
// Token: 0x0400618F RID: 24975
|
||||
[Token(Token = "0x400618F")]
|
||||
public const int SRTP_AEAD_AES_128_GCM = 7;
|
||||
|
||||
// Token: 0x04006190 RID: 24976
|
||||
[Token(Token = "0x4006190")]
|
||||
public const int SRTP_AEAD_AES_256_GCM = 8;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x0200157F RID: 5503
|
||||
[Token(Token = "0x200157F")]
|
||||
[StructLayout(3)]
|
||||
public class Ssl3Mac : IMac
|
||||
{
|
||||
// Token: 0x0600922F RID: 37423 RVA: 0x002065A4 File Offset: 0x002047A4
|
||||
[Token(Token = "0x600922F")]
|
||||
[Address(RVA = "0x1E8DFE0", Offset = "0x1E8C9E0", VA = "0x181E8DFE0")]
|
||||
public Ssl3Mac(IDigest digest)
|
||||
{
|
||||
this.digest = digest;
|
||||
this.padLength = (int)((uint)48);
|
||||
}
|
||||
|
||||
// Token: 0x17001798 RID: 6040
|
||||
// (get) Token: 0x06009230 RID: 37424 RVA: 0x002065D0 File Offset: 0x002047D0
|
||||
[Token(Token = "0x17001798")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009230")]
|
||||
[Address(RVA = "0x1E8E060", Offset = "0x1E8CA60", VA = "0x181E8E060", Slot = "11")]
|
||||
get
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
string text;
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009231 RID: 37425 RVA: 0x002065F8 File Offset: 0x002047F8
|
||||
[Token(Token = "0x6009231")]
|
||||
[Address(RVA = "0x1E8DC60", Offset = "0x1E8C660", VA = "0x181E8DC60", Slot = "12")]
|
||||
public virtual void Init(ICipherParameters parameters)
|
||||
{
|
||||
while (parameters == 0 || parameters == 0)
|
||||
{
|
||||
}
|
||||
byte[] array2;
|
||||
byte[] array = Arrays.Clone(array2);
|
||||
this.secret = array;
|
||||
string algorithmName = ((IMac)this).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x06009232 RID: 37426 RVA: 0x00206630 File Offset: 0x00204830
|
||||
[Token(Token = "0x6009232")]
|
||||
[Address(RVA = "0x1E8DC10", Offset = "0x1E8C610", VA = "0x181E8DC10", Slot = "13")]
|
||||
public virtual int GetMacSize()
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009233 RID: 37427 RVA: 0x0020664C File Offset: 0x0020484C
|
||||
[Token(Token = "0x6009233")]
|
||||
[Address(RVA = "0x1E8DE80", Offset = "0x1E8C880", VA = "0x181E8DE80", Slot = "14")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009234 RID: 37428 RVA: 0x00206668 File Offset: 0x00204868
|
||||
[Token(Token = "0x6009234")]
|
||||
[Address(RVA = "0x1E8D960", Offset = "0x1E8C360", VA = "0x181E8D960", Slot = "15")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
}
|
||||
|
||||
// Token: 0x06009235 RID: 37429 RVA: 0x00206684 File Offset: 0x00204884
|
||||
[Token(Token = "0x6009235")]
|
||||
[Address(RVA = "0x1E8D9E0", Offset = "0x1E8C3E0", VA = "0x181E8D9E0", Slot = "16")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
byte[] array = new byte[0];
|
||||
IDigest digest2 = this.digest;
|
||||
byte[] array2 = this.secret;
|
||||
IDigest digest3 = this.digest;
|
||||
int length = array2.Length;
|
||||
IDigest digest4 = this.digest;
|
||||
int num = this.padLength;
|
||||
IDigest digest5 = this.digest;
|
||||
int length2 = array.Length;
|
||||
IDigest digest6 = this.digest;
|
||||
return length2;
|
||||
}
|
||||
|
||||
// Token: 0x06009236 RID: 37430 RVA: 0x002066F4 File Offset: 0x002048F4
|
||||
[Token(Token = "0x6009236")]
|
||||
[Address(RVA = "0x1E8DD80", Offset = "0x1E8C780", VA = "0x181E8DD80", Slot = "17")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
byte[] array = this.secret;
|
||||
IDigest digest2 = this.digest;
|
||||
int length = array.Length;
|
||||
IDigest digest3 = this.digest;
|
||||
int num = this.padLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009237 RID: 37431 RVA: 0x00206734 File Offset: 0x00204934
|
||||
[Token(Token = "0x6009237")]
|
||||
[Address(RVA = "0x1E8DB90", Offset = "0x1E8C590", VA = "0x181E8DB90")]
|
||||
private static byte[] GenPad(byte b, int count)
|
||||
{
|
||||
byte[] array = new byte[count];
|
||||
Arrays.Fill(array, b);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x04006191 RID: 24977
|
||||
[Token(Token = "0x4006191")]
|
||||
private const byte IPAD_BYTE = 54;
|
||||
|
||||
// Token: 0x04006192 RID: 24978
|
||||
[Token(Token = "0x4006192")]
|
||||
private const byte OPAD_BYTE = 92;
|
||||
|
||||
// Token: 0x04006193 RID: 24979
|
||||
[Token(Token = "0x4006193")]
|
||||
internal static readonly byte[] IPAD = new byte[48];
|
||||
|
||||
// Token: 0x04006194 RID: 24980
|
||||
[Token(Token = "0x4006194")]
|
||||
internal static readonly byte[] OPAD = new byte[48];
|
||||
|
||||
// Token: 0x04006195 RID: 24981
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006195")]
|
||||
private readonly IDigest digest;
|
||||
|
||||
// Token: 0x04006196 RID: 24982
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006196")]
|
||||
private readonly int padLength;
|
||||
|
||||
// Token: 0x04006197 RID: 24983
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006197")]
|
||||
private byte[] secret;
|
||||
}
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001580 RID: 5504
|
||||
[Token(Token = "0x2001580")]
|
||||
[StructLayout(3)]
|
||||
public class SupplementalDataEntry
|
||||
{
|
||||
// Token: 0x06009239 RID: 37433 RVA: 0x00206778 File Offset: 0x00204978
|
||||
[Token(Token = "0x6009239")]
|
||||
[Address(RVA = "0x3C1040", Offset = "0x3BFA40", VA = "0x1803C1040")]
|
||||
public SupplementalDataEntry(int dataType, byte[] data)
|
||||
{
|
||||
this.mDataType = dataType;
|
||||
this.mData = data;
|
||||
}
|
||||
|
||||
// Token: 0x17001799 RID: 6041
|
||||
// (get) Token: 0x0600923A RID: 37434 RVA: 0x0020679C File Offset: 0x0020499C
|
||||
[Token(Token = "0x17001799")]
|
||||
public virtual int DataType
|
||||
{
|
||||
[Token(Token = "0x600923A")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mDataType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700179A RID: 6042
|
||||
// (get) Token: 0x0600923B RID: 37435 RVA: 0x002067B0 File Offset: 0x002049B0
|
||||
[Token(Token = "0x1700179A")]
|
||||
public virtual byte[] Data
|
||||
{
|
||||
[Token(Token = "0x600923B")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mData;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006198 RID: 24984
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006198")]
|
||||
protected readonly int mDataType;
|
||||
|
||||
// Token: 0x04006199 RID: 24985
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006199")]
|
||||
protected readonly byte[] mData;
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001581 RID: 5505
|
||||
[Token(Token = "0x2001581")]
|
||||
[StructLayout(3)]
|
||||
public abstract class SupplementalDataType
|
||||
{
|
||||
// Token: 0x0600923C RID: 37436 RVA: 0x002067C4 File Offset: 0x002049C4
|
||||
[Token(Token = "0x600923C")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected SupplementalDataType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400619A RID: 24986
|
||||
[Token(Token = "0x400619A")]
|
||||
public const int user_mapping_data = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,241 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001582 RID: 5506
|
||||
[Token(Token = "0x2001582")]
|
||||
[StructLayout(3)]
|
||||
public class TlsAeadCipher : TlsCipher
|
||||
{
|
||||
// Token: 0x0600923D RID: 37437 RVA: 0x002067D8 File Offset: 0x002049D8
|
||||
[Token(Token = "0x600923D")]
|
||||
[Address(RVA = "0x1E8EA40", Offset = "0x1E8D440", VA = "0x181E8EA40")]
|
||||
public TlsAeadCipher(TlsContext context, IAeadBlockCipher clientWriteCipher, IAeadBlockCipher serverWriteCipher, int cipherKeySize, int macSize)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600923E RID: 37438 RVA: 0x002067E8 File Offset: 0x002049E8
|
||||
[Token(Token = "0x600923E")]
|
||||
[Address(RVA = "0x1E8EA70", Offset = "0x1E8D470", VA = "0x181E8EA70")]
|
||||
internal TlsAeadCipher(TlsContext context, IAeadBlockCipher clientWriteCipher, IAeadBlockCipher serverWriteCipher, int cipherKeySize, int macSize, int nonceMode)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600923E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsAeadCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher,System.Int32,System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_82:
|
||||
stloc:TlsFatalAlert(var_12_89, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_13)))
|
||||
stloc:TlsFatalAlert(var_14_92, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_15)))
|
||||
}
|
||||
|
||||
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: 0x0600923F RID: 37439 RVA: 0x00206888 File Offset: 0x00204A88
|
||||
[Token(Token = "0x600923F")]
|
||||
[Address(RVA = "0x1E8EA30", Offset = "0x1E8D430", VA = "0x181E8EA30", Slot = "7")]
|
||||
public virtual int GetPlaintextLimit(int ciphertextLimit)
|
||||
{
|
||||
return ciphertextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x06009240 RID: 37440 RVA: 0x00206898 File Offset: 0x00204A98
|
||||
[Token(Token = "0x6009240")]
|
||||
[Address(RVA = "0x1E8E530", Offset = "0x1E8CF30", VA = "0x181E8E530", Slot = "8")]
|
||||
public virtual byte[] EncodePlaintext(long seqNo, byte type, byte[] plaintext, int offset, int len)
|
||||
{
|
||||
byte[] array2;
|
||||
byte[] array4;
|
||||
for (;;)
|
||||
{
|
||||
byte[] array = this.encryptImplicitNonce;
|
||||
int num = this.record_iv_length;
|
||||
int length = array.Length;
|
||||
num += length;
|
||||
array2 = new byte[num];
|
||||
int num2 = this.nonceMode;
|
||||
if (num2 == 1)
|
||||
{
|
||||
byte[] array3 = this.encryptImplicitNonce;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(array3, num4, array2, num3, length2);
|
||||
int length3 = this.encryptImplicitNonce.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length3);
|
||||
IAeadBlockCipher aeadBlockCipher = this.encryptCipher;
|
||||
int num5 = this.record_iv_length;
|
||||
num5 += num2;
|
||||
array4 = new byte[num5];
|
||||
int num6 = this.record_iv_length;
|
||||
if (num6 != 0)
|
||||
{
|
||||
int num7 = array2.Length;
|
||||
num7 -= num6;
|
||||
int num8 = 0;
|
||||
Array.Copy(array2, num7, array4, num8, num6);
|
||||
}
|
||||
int num9 = this.macSize;
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.encryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher3 = this.encryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher4 = this.encryptCipher;
|
||||
AeadParameters aeadParameters;
|
||||
num9 += aeadParameters;
|
||||
if (num9 == array4.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (num2 == 2)
|
||||
{
|
||||
goto Block_3;
|
||||
}
|
||||
}
|
||||
return array4;
|
||||
Block_3:
|
||||
int length4 = array2.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length4);
|
||||
int num10 = 0;
|
||||
int i = 0;
|
||||
byte[] array5 = this.encryptImplicitNonce;
|
||||
while (i >= array5.Length)
|
||||
{
|
||||
}
|
||||
num10++;
|
||||
byte[] array6 = this.encryptImplicitNonce;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009241 RID: 37441 RVA: 0x002069E0 File Offset: 0x00204BE0
|
||||
[Token(Token = "0x6009241")]
|
||||
[Address(RVA = "0x1E8E110", Offset = "0x1E8CB10", VA = "0x181E8E110", Slot = "9")]
|
||||
public virtual byte[] DecodeCiphertext(long seqNo, byte type, byte[] ciphertext, int offset, int len)
|
||||
{
|
||||
byte[] array6;
|
||||
for (;;)
|
||||
{
|
||||
byte[] array = this.decryptImplicitNonce;
|
||||
int num = this.record_iv_length;
|
||||
int length = array.Length;
|
||||
num += length;
|
||||
byte[] array2 = new byte[num];
|
||||
int num2 = this.nonceMode;
|
||||
if (num2 == 1)
|
||||
{
|
||||
byte[] array3 = this.decryptImplicitNonce;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(array3, num4, array2, num3, length2);
|
||||
int num5 = this.record_iv_length;
|
||||
int num6 = array2.Length;
|
||||
num6 -= num5;
|
||||
Array.Copy(ciphertext, (int)seqNo, array2, num6, num5);
|
||||
}
|
||||
if (num2 == 2)
|
||||
{
|
||||
int length3 = array2.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length3);
|
||||
int num7 = 0;
|
||||
int num8 = 0;
|
||||
byte[] array4 = this.decryptImplicitNonce;
|
||||
if (num8 < array4.Length)
|
||||
{
|
||||
num7++;
|
||||
byte[] array5 = this.decryptImplicitNonce;
|
||||
}
|
||||
int num9 = this.record_iv_length;
|
||||
IAeadBlockCipher aeadBlockCipher = this.decryptCipher;
|
||||
array6 = new byte[num9];
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.decryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher3 = this.decryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher4 = this.decryptCipher;
|
||||
AeadParameters aeadParameters;
|
||||
aeadParameters += aeadParameters;
|
||||
if (aeadParameters == array6.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return array6;
|
||||
}
|
||||
|
||||
// Token: 0x06009242 RID: 37442 RVA: 0x00206B00 File Offset: 0x00204D00
|
||||
[Token(Token = "0x6009242")]
|
||||
[Address(RVA = "0x1E8E930", Offset = "0x1E8D330", VA = "0x181E8E930", Slot = "10")]
|
||||
protected virtual byte[] GetAdditionalData(long seqNo, byte type, int len)
|
||||
{
|
||||
byte[] array = new byte[13];
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint64(seqNo, array, num);
|
||||
TlsUtilities.WriteUint8(type, array, 8);
|
||||
TlsContext tlsContext = this.context;
|
||||
PngHelperInternal.WriteInt2tobytes(len, array, 11);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0400619B RID: 24987
|
||||
[Token(Token = "0x400619B")]
|
||||
public const int NONCE_RFC5288 = 1;
|
||||
|
||||
// Token: 0x0400619C RID: 24988
|
||||
[Token(Token = "0x400619C")]
|
||||
internal const int NONCE_DRAFT_CHACHA20_POLY1305 = 2;
|
||||
|
||||
// Token: 0x0400619D RID: 24989
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400619D")]
|
||||
protected readonly TlsContext context;
|
||||
|
||||
// Token: 0x0400619E RID: 24990
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400619E")]
|
||||
protected readonly int macSize;
|
||||
|
||||
// Token: 0x0400619F RID: 24991
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x400619F")]
|
||||
protected readonly int record_iv_length;
|
||||
|
||||
// Token: 0x040061A0 RID: 24992
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40061A0")]
|
||||
protected readonly IAeadBlockCipher encryptCipher;
|
||||
|
||||
// Token: 0x040061A1 RID: 24993
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40061A1")]
|
||||
protected readonly IAeadBlockCipher decryptCipher;
|
||||
|
||||
// Token: 0x040061A2 RID: 24994
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40061A2")]
|
||||
protected readonly byte[] encryptImplicitNonce;
|
||||
|
||||
// Token: 0x040061A3 RID: 24995
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40061A3")]
|
||||
protected readonly byte[] decryptImplicitNonce;
|
||||
|
||||
// Token: 0x040061A4 RID: 24996
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40061A4")]
|
||||
protected readonly int nonceMode;
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001583 RID: 5507
|
||||
[Token(Token = "0x2001583")]
|
||||
[StructLayout(3)]
|
||||
public interface TlsAgreementCredentials : TlsCredentials
|
||||
{
|
||||
// Token: 0x06009243 RID: 37443
|
||||
[Token(Token = "0x6009243")]
|
||||
[Address(Slot = "0")]
|
||||
byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user