m
This commit is contained in:
+549
@@ -0,0 +1,549 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C01 RID: 7169
|
||||
[Token(Token = "0x2001C01")]
|
||||
public class DtlsClientProtocol : DtlsProtocol
|
||||
{
|
||||
// Token: 0x0600B08E RID: 45198 RVA: 0x00261FCC File Offset: 0x002601CC
|
||||
[Token(Token = "0x600B08E")]
|
||||
[Address(RVA = "0x233B100", Offset = "0x233A100", VA = "0x18233B100")]
|
||||
public DtlsClientProtocol(SecureRandom secureRandom)
|
||||
: base(secureRandom)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B08F RID: 45199 RVA: 0x00261FE0 File Offset: 0x002601E0
|
||||
[Token(Token = "0x600B08F")]
|
||||
[Address(RVA = "0x2339240", Offset = "0x2338240", VA = "0x182339240", Slot = "5")]
|
||||
public virtual DtlsTransport Connect(TlsClient client, DatagramTransport transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B08F)
|
||||
|
||||
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_BE:
|
||||
stloc:ArgumentNullException(var_18_C8, 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: 0x0600B090 RID: 45200 RVA: 0x002620B8 File Offset: 0x002602B8
|
||||
[Token(Token = "0x600B090")]
|
||||
[Address(RVA = "0x23382E0", Offset = "0x23372E0", VA = "0x1823382E0", Slot = "6")]
|
||||
internal virtual void AbortClientHandshake(DtlsClientProtocol.ClientHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription)
|
||||
{
|
||||
recordLayer.Failed();
|
||||
}
|
||||
|
||||
// Token: 0x0600B091 RID: 45201 RVA: 0x002620D4 File Offset: 0x002602D4
|
||||
[Token(Token = "0x600B091")]
|
||||
[Address(RVA = "0x2338340", Offset = "0x2337340", VA = "0x182338340", Slot = "7")]
|
||||
internal virtual DtlsTransport ClientHandshake(DtlsClientProtocol.ClientHandshakeState state, DtlsRecordLayer recordLayer)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B091)
|
||||
|
||||
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: 0x0600B092 RID: 45202 RVA: 0x0026254C File Offset: 0x0026074C
|
||||
[Token(Token = "0x600B092")]
|
||||
[Address(RVA = "0x2339660", Offset = "0x2338660", VA = "0x182339660", 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: 0x0600B093 RID: 45203 RVA: 0x00262574 File Offset: 0x00260774
|
||||
[Token(Token = "0x600B093")]
|
||||
[Address(RVA = "0x23396F0", Offset = "0x23386F0", VA = "0x1823396F0", Slot = "9")]
|
||||
protected virtual byte[] GenerateClientHello(DtlsClientProtocol.ClientHandshakeState state, TlsClient client)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B093)
|
||||
|
||||
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: 0x0600B094 RID: 45204 RVA: 0x002626EC File Offset: 0x002608EC
|
||||
[Token(Token = "0x600B094")]
|
||||
[Address(RVA = "0x2339C50", Offset = "0x2338C50", VA = "0x182339C50", Slot = "10")]
|
||||
protected virtual byte[] GenerateClientKeyExchange(DtlsClientProtocol.ClientHandshakeState state)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B095 RID: 45205 RVA: 0x00262714 File Offset: 0x00260914
|
||||
[Token(Token = "0x600B095")]
|
||||
[Address(RVA = "0x2339CE0", Offset = "0x2338CE0", VA = "0x182339CE0", 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: 0x0600B096 RID: 45206 RVA: 0x00262754 File Offset: 0x00260954
|
||||
[Token(Token = "0x600B096")]
|
||||
[Address(RVA = "0x2339E90", Offset = "0x2338E90", VA = "0x182339E90", 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: 0x0600B097 RID: 45207 RVA: 0x0026279C File Offset: 0x0026099C
|
||||
[Token(Token = "0x600B097")]
|
||||
[Address(RVA = "0x2339F70", Offset = "0x2338F70", VA = "0x182339F70", Slot = "13")]
|
||||
protected virtual void ProcessCertificateStatus(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B097)
|
||||
|
||||
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: 0x0600B098 RID: 45208 RVA: 0x00262810 File Offset: 0x00260A10
|
||||
[Token(Token = "0x600B098")]
|
||||
[Address(RVA = "0x233A170", Offset = "0x2339170", VA = "0x18233A170", 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: 0x0600B099 RID: 45209 RVA: 0x00262864 File Offset: 0x00260A64
|
||||
[Token(Token = "0x600B099")]
|
||||
[Address(RVA = "0x233A320", Offset = "0x2339320", VA = "0x18233A320", 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: 0x0600B09A RID: 45210 RVA: 0x002628B8 File Offset: 0x00260AB8
|
||||
[Token(Token = "0x600B09A")]
|
||||
[Address(RVA = "0x233A430", Offset = "0x2339430", VA = "0x18233A430", 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: 0x0600B09B RID: 45211 RVA: 0x002628FC File Offset: 0x00260AFC
|
||||
[Token(Token = "0x600B09B")]
|
||||
[Address(RVA = "0x233A530", Offset = "0x2339530", VA = "0x18233A530", Slot = "17")]
|
||||
protected virtual void ProcessServerHello(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
SecureRandom secureRandom;
|
||||
int num6;
|
||||
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_237;
|
||||
}
|
||||
TlsClient client4 = state.client;
|
||||
if (state.serverExtensions != 0)
|
||||
{
|
||||
long num5 = num4;
|
||||
byte[] extensionData = TlsUtilities.GetExtensionData(state.clientExtensions, (int)num5);
|
||||
if (extensionData == 0)
|
||||
{
|
||||
goto IL_231;
|
||||
}
|
||||
if (extensionData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
num6 = 0;
|
||||
dictionary2 = sessionParameters.ReadServerExtensions();
|
||||
}
|
||||
secureRandom.inextp = num3;
|
||||
secureRandom.SeedArray = b;
|
||||
if (dictionary2 == 0 || dictionary2 <= 0)
|
||||
{
|
||||
goto IL_204;
|
||||
}
|
||||
if (!TlsExtensionsUtilities.HasEncryptThenMacExtension(dictionary2))
|
||||
{
|
||||
break;
|
||||
}
|
||||
int num7;
|
||||
num3 = num7;
|
||||
if (TlsUtilities.IsBlockCipherSuite(num3))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bool resumedSession = state.resumedSession;
|
||||
bool flag4 = TlsExtensionsUtilities.HasTruncatedHMacExtension(dictionary2);
|
||||
if (state.resumedSession)
|
||||
{
|
||||
}
|
||||
if (state.resumedSession)
|
||||
{
|
||||
}
|
||||
IL_204:
|
||||
if (num6 != 0)
|
||||
{
|
||||
TlsClient client6 = state.client;
|
||||
}
|
||||
int num8;
|
||||
int prfAlgorithm = TlsProtocol.GetPrfAlgorithm(state.clientContext, num8);
|
||||
secureRandom.generator = (ulong)12L;
|
||||
return;
|
||||
IL_231:
|
||||
throw new NullReferenceException();
|
||||
IL_237:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B09C RID: 45212 RVA: 0x00262B54 File Offset: 0x00260D54
|
||||
[Token(Token = "0x600B09C")]
|
||||
[Address(RVA = "0x233AEE0", Offset = "0x2339EE0", VA = "0x18233AEE0", 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: 0x0600B09D RID: 45213 RVA: 0x00262B80 File Offset: 0x00260D80
|
||||
[Token(Token = "0x600B09D")]
|
||||
[Address(RVA = "0x233AF80", Offset = "0x2339F80", VA = "0x18233AF80", 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: 0x0600B09E RID: 45214 RVA: 0x00262BAC File Offset: 0x00260DAC
|
||||
[Token(Token = "0x600B09E")]
|
||||
[Address(RVA = "0x233B020", Offset = "0x233A020", VA = "0x18233B020", 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: 0x0600B09F RID: 45215 RVA: 0x00262BD8 File Offset: 0x00260DD8
|
||||
[Token(Token = "0x600B09F")]
|
||||
[Address(RVA = "0x2339D50", Offset = "0x2338D50", VA = "0x182339D50")]
|
||||
protected static byte[] PatchClientHelloWithCookie(byte[] clientHelloBody, byte[] cookie)
|
||||
{
|
||||
byte b = TlsUtilities.ReadUint8(clientHelloBody, 34);
|
||||
byte b2 = b + 1;
|
||||
byte[] array = new byte[cookie.Length];
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(clientHelloBody, num2, array, num, (int)b);
|
||||
TlsUtilities.CheckUint8(cookie.Length);
|
||||
TlsUtilities.WriteUint8((byte)cookie.Length, array, (int)b);
|
||||
int length = cookie.Length;
|
||||
int num3 = 0;
|
||||
Array.Copy(cookie, num3, array, (int)b2, length);
|
||||
int num4 = clientHelloBody.Length;
|
||||
int num5 = cookie.Length;
|
||||
num4 -= (int)b2;
|
||||
num5 += (int)b2;
|
||||
Array.Copy(clientHelloBody, (int)b2, array, num5, num4);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x02001C02 RID: 7170
|
||||
[Token(Token = "0x2001C02")]
|
||||
protected internal class ClientHandshakeState
|
||||
{
|
||||
// Token: 0x0600B0A0 RID: 45216 RVA: 0x00262C6C File Offset: 0x00260E6C
|
||||
[Token(Token = "0x600B0A0")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public ClientHandshakeState()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400701C RID: 28700
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400701C")]
|
||||
internal TlsClient client;
|
||||
|
||||
// Token: 0x0400701D RID: 28701
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400701D")]
|
||||
internal TlsClientContextImpl clientContext;
|
||||
|
||||
// Token: 0x0400701E RID: 28702
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400701E")]
|
||||
internal TlsSession tlsSession;
|
||||
|
||||
// Token: 0x0400701F RID: 28703
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400701F")]
|
||||
internal SessionParameters sessionParameters;
|
||||
|
||||
// Token: 0x04007020 RID: 28704
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007020")]
|
||||
internal SessionParameters.Builder sessionParametersBuilder;
|
||||
|
||||
// Token: 0x04007021 RID: 28705
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007021")]
|
||||
internal int[] offeredCipherSuites;
|
||||
|
||||
// Token: 0x04007022 RID: 28706
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007022")]
|
||||
internal IDictionary clientExtensions;
|
||||
|
||||
// Token: 0x04007023 RID: 28707
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007023")]
|
||||
internal IDictionary serverExtensions;
|
||||
|
||||
// Token: 0x04007024 RID: 28708
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007024")]
|
||||
internal byte[] selectedSessionID;
|
||||
|
||||
// Token: 0x04007025 RID: 28709
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007025")]
|
||||
internal bool resumedSession;
|
||||
|
||||
// Token: 0x04007026 RID: 28710
|
||||
[FieldOffset(Offset = "0x59")]
|
||||
[Token(Token = "0x4007026")]
|
||||
internal bool secure_renegotiation;
|
||||
|
||||
// Token: 0x04007027 RID: 28711
|
||||
[FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x4007027")]
|
||||
internal bool allowCertificateStatus;
|
||||
|
||||
// Token: 0x04007028 RID: 28712
|
||||
[FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x4007028")]
|
||||
internal bool expectSessionTicket;
|
||||
|
||||
// Token: 0x04007029 RID: 28713
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007029")]
|
||||
internal TlsKeyExchange keyExchange;
|
||||
|
||||
// Token: 0x0400702A RID: 28714
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400702A")]
|
||||
internal TlsAuthentication authentication;
|
||||
|
||||
// Token: 0x0400702B RID: 28715
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400702B")]
|
||||
internal CertificateStatus certificateStatus;
|
||||
|
||||
// Token: 0x0400702C RID: 28716
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x400702C")]
|
||||
internal CertificateRequest certificateRequest;
|
||||
|
||||
// Token: 0x0400702D RID: 28717
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400702D")]
|
||||
internal TlsCredentials clientCredentials;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user