372 lines
16 KiB
C#
372 lines
16 KiB
C#
using System;
|
|
using System.IO;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1
|
|
{
|
|
// Token: 0x02001D98 RID: 7576
|
|
[Token(Token = "0x2001D98")]
|
|
public class DerExternal : Asn1Object
|
|
{
|
|
// Token: 0x0600BFAC RID: 49068 RVA: 0x002BA490 File Offset: 0x002B8690
|
|
[Token(Token = "0x600BFAC")]
|
|
[Address(RVA = "0x187ADA0", Offset = "0x1879BA0", VA = "0x18187ADA0")]
|
|
public DerExternal(Asn1EncodableVector vector)
|
|
{
|
|
for (;;)
|
|
{
|
|
base..ctor();
|
|
int num = 0;
|
|
int num2 = 0;
|
|
Asn1Object objFromVector = DerExternal.GetObjFromVector(vector, num2);
|
|
if (objFromVector == 0)
|
|
{
|
|
goto IL_66;
|
|
}
|
|
Asn1Object objFromVector2;
|
|
if (objFromVector != 0)
|
|
{
|
|
if (objFromVector == 0)
|
|
{
|
|
continue;
|
|
}
|
|
this.directReference = objFromVector;
|
|
objFromVector2 = DerExternal.GetObjFromVector(vector, 1);
|
|
}
|
|
if (objFromVector2 == 0)
|
|
{
|
|
goto IL_66;
|
|
}
|
|
Asn1Object objFromVector3;
|
|
if (objFromVector2 != 0)
|
|
{
|
|
if (objFromVector2 == 0)
|
|
{
|
|
continue;
|
|
}
|
|
this.indirectReference = objFromVector2;
|
|
objFromVector3 = DerExternal.GetObjFromVector(vector, 1);
|
|
}
|
|
if (objFromVector3 == 0 || objFromVector3 == 0)
|
|
{
|
|
goto IL_66;
|
|
}
|
|
IL_7A:
|
|
Asn1Object objFromVector4;
|
|
if (vector.Count == 1 && objFromVector4 != 0 && objFromVector4 != 0 && objFromVector4 != 0 && this.encoding <= 2)
|
|
{
|
|
break;
|
|
}
|
|
continue;
|
|
IL_66:
|
|
num++;
|
|
this.dataValueDescriptor = objFromVector;
|
|
objFromVector4 = DerExternal.GetObjFromVector(vector, num);
|
|
goto IL_7A;
|
|
}
|
|
Asn1Object asn1Object;
|
|
this.externalContent = asn1Object;
|
|
}
|
|
|
|
// Token: 0x0600BFAD RID: 49069 RVA: 0x002BA55C File Offset: 0x002B875C
|
|
[Token(Token = "0x600BFAD")]
|
|
[Address(RVA = "0x187B130", Offset = "0x1879F30", VA = "0x18187B130")]
|
|
public DerExternal(DerObjectIdentifier directReference, DerInteger indirectReference, Asn1Object dataValueDescriptor, DerTaggedObject externalData)
|
|
{
|
|
int num = 0;
|
|
base..ctor();
|
|
this.directReference = directReference;
|
|
this.indirectReference = indirectReference;
|
|
this.dataValueDescriptor = dataValueDescriptor;
|
|
this.Encoding = num;
|
|
}
|
|
|
|
// Token: 0x0600BFAE RID: 49070 RVA: 0x002BA598 File Offset: 0x002B8798
|
|
[Token(Token = "0x600BFAE")]
|
|
[Address(RVA = "0x187AD20", Offset = "0x1879B20", VA = "0x18187AD20")]
|
|
public DerExternal(DerObjectIdentifier directReference, DerInteger indirectReference, Asn1Object dataValueDescriptor, int encoding, Asn1Object externalData)
|
|
{
|
|
this.directReference = directReference;
|
|
this.indirectReference = indirectReference;
|
|
this.dataValueDescriptor = dataValueDescriptor;
|
|
}
|
|
|
|
// Token: 0x0600BFAF RID: 49071 RVA: 0x002BA5C8 File Offset: 0x002B87C8
|
|
[Token(Token = "0x600BFAF")]
|
|
[Address(RVA = "0x187AA00", Offset = "0x1879800", VA = "0x18187AA00", Slot = "6")]
|
|
internal override void Encode(DerOutputStream derOut)
|
|
{
|
|
MemoryStream memoryStream = new MemoryStream();
|
|
DerObjectIdentifier derObjectIdentifier = this.directReference;
|
|
if (derObjectIdentifier != 0)
|
|
{
|
|
byte[] derEncoded = derObjectIdentifier.GetDerEncoded();
|
|
int num = memoryStream.ReadByte();
|
|
}
|
|
DerInteger derInteger = this.indirectReference;
|
|
if (derInteger != 0)
|
|
{
|
|
byte[] derEncoded2 = derInteger.GetDerEncoded();
|
|
int num2 = memoryStream.ReadByte();
|
|
}
|
|
Asn1Object asn1Object = this.dataValueDescriptor;
|
|
if (asn1Object != 0)
|
|
{
|
|
byte[] derEncoded3 = asn1Object.GetDerEncoded();
|
|
int num3 = memoryStream.ReadByte();
|
|
}
|
|
Asn1Object asn1Object2 = this.externalContent;
|
|
DerTaggedObject derTaggedObject = new DerTaggedObject(8, asn1Object2);
|
|
if (derTaggedObject != 0)
|
|
{
|
|
byte[] derEncoded4 = derTaggedObject.GetDerEncoded();
|
|
int num4 = memoryStream.ReadByte();
|
|
}
|
|
derOut.WriteTag(32, 8);
|
|
derOut.WriteLength(32);
|
|
int num5 = derOut.ReadByte();
|
|
}
|
|
|
|
// Token: 0x0600BFB0 RID: 49072 RVA: 0x002BA678 File Offset: 0x002B8878
|
|
[Token(Token = "0x600BFB0")]
|
|
[Address(RVA = "0x187A970", Offset = "0x1879770", VA = "0x18187A970", Slot = "8")]
|
|
protected override int Asn1GetHashCode()
|
|
{
|
|
this.externalContent.Finalize();
|
|
DerObjectIdentifier derObjectIdentifier = this.directReference;
|
|
if (derObjectIdentifier != 0)
|
|
{
|
|
derObjectIdentifier.Finalize();
|
|
}
|
|
DerInteger derInteger = this.indirectReference;
|
|
if (derInteger != 0)
|
|
{
|
|
derInteger.Finalize();
|
|
}
|
|
Asn1Object asn1Object = this.dataValueDescriptor;
|
|
if (asn1Object != 0)
|
|
{
|
|
asn1Object.Finalize();
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600BFB1 RID: 49073 RVA: 0x002BA6C8 File Offset: 0x002B88C8
|
|
[Token(Token = "0x600BFB1")]
|
|
[Address(RVA = "0x187A860", Offset = "0x1879660", VA = "0x18187A860", Slot = "7")]
|
|
protected override bool Asn1Equals(Asn1Object asn1Object)
|
|
{
|
|
if (this != asn1Object)
|
|
{
|
|
if (asn1Object != 0 && asn1Object != 0)
|
|
{
|
|
DerObjectIdentifier derObjectIdentifier = this.directReference;
|
|
bool flag;
|
|
if (flag)
|
|
{
|
|
DerInteger derInteger = this.indirectReference;
|
|
bool flag2;
|
|
if (flag2)
|
|
{
|
|
Asn1Object asn1Object2 = this.dataValueDescriptor;
|
|
bool flag3;
|
|
if (flag3)
|
|
{
|
|
int num = this.externalContent.Asn1GetHashCode();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x17001DA5 RID: 7589
|
|
// (get) Token: 0x0600BFB2 RID: 49074 RVA: 0x002BA720 File Offset: 0x002B8920
|
|
// (set) Token: 0x0600BFB3 RID: 49075 RVA: 0x002BA734 File Offset: 0x002B8934
|
|
[Token(Token = "0x17001DA5")]
|
|
public Asn1Object DataValueDescriptor
|
|
{
|
|
[Token(Token = "0x600BFB2")]
|
|
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
|
|
get
|
|
{
|
|
return this.dataValueDescriptor;
|
|
}
|
|
[Token(Token = "0x600BFB3")]
|
|
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90")]
|
|
set
|
|
{
|
|
this.dataValueDescriptor = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001DA6 RID: 7590
|
|
// (get) Token: 0x0600BFB4 RID: 49076 RVA: 0x002BA748 File Offset: 0x002B8948
|
|
// (set) Token: 0x0600BFB5 RID: 49077 RVA: 0x002BA75C File Offset: 0x002B895C
|
|
[Token(Token = "0x17001DA6")]
|
|
public DerObjectIdentifier DirectReference
|
|
{
|
|
[Token(Token = "0x600BFB4")]
|
|
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
|
|
get
|
|
{
|
|
return this.directReference;
|
|
}
|
|
[Token(Token = "0x600BFB5")]
|
|
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")]
|
|
set
|
|
{
|
|
this.directReference = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001DA7 RID: 7591
|
|
// (get) Token: 0x0600BFB6 RID: 49078 RVA: 0x002BA770 File Offset: 0x002B8970
|
|
// (set) Token: 0x0600BFB7 RID: 49079 RVA: 0x002BA784 File Offset: 0x002B8984
|
|
[Token(Token = "0x17001DA7")]
|
|
public int Encoding
|
|
{
|
|
[Token(Token = "0x600BFB6")]
|
|
[Address(RVA = "0x42EE50", Offset = "0x42DC50", VA = "0x18042EE50")]
|
|
get
|
|
{
|
|
return this.encoding;
|
|
}
|
|
[Token(Token = "0x600BFB7")]
|
|
[Address(RVA = "0x187B1E0", Offset = "0x1879FE0", VA = "0x18187B1E0")]
|
|
set
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BFB7)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerExternal::set_Encoding(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_11:
|
|
stloc:InvalidOperationException(var_1_17, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldloc:string(var_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.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: 0x17001DA8 RID: 7592
|
|
// (get) Token: 0x0600BFB8 RID: 49080 RVA: 0x002BA7A8 File Offset: 0x002B89A8
|
|
// (set) Token: 0x0600BFB9 RID: 49081 RVA: 0x002BA7BC File Offset: 0x002B89BC
|
|
[Token(Token = "0x17001DA8")]
|
|
public Asn1Object ExternalContent
|
|
{
|
|
[Token(Token = "0x600BFB8")]
|
|
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
|
|
get
|
|
{
|
|
return this.externalContent;
|
|
}
|
|
[Token(Token = "0x600BFB9")]
|
|
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0")]
|
|
set
|
|
{
|
|
this.externalContent = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001DA9 RID: 7593
|
|
// (get) Token: 0x0600BFBA RID: 49082 RVA: 0x002BA7D0 File Offset: 0x002B89D0
|
|
// (set) Token: 0x0600BFBB RID: 49083 RVA: 0x002BA7E4 File Offset: 0x002B89E4
|
|
[Token(Token = "0x17001DA9")]
|
|
public DerInteger IndirectReference
|
|
{
|
|
[Token(Token = "0x600BFBA")]
|
|
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
|
get
|
|
{
|
|
return this.indirectReference;
|
|
}
|
|
[Token(Token = "0x600BFBB")]
|
|
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210")]
|
|
set
|
|
{
|
|
this.indirectReference = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600BFBC RID: 49084 RVA: 0x002BA7F8 File Offset: 0x002B89F8
|
|
[Token(Token = "0x600BFBC")]
|
|
[Address(RVA = "0x187AC10", Offset = "0x1879A10", VA = "0x18187AC10")]
|
|
private static Asn1Object GetObjFromVector(Asn1EncodableVector v, int index)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600BFBC)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Object BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerExternal::GetObjFromVector(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1EncodableVector,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1C:
|
|
stloc:ArgumentException(var_0_2B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("too few objects in input vector"), ldstr:string("v")))
|
|
}
|
|
|
|
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: 0x0600BFBD RID: 49085 RVA: 0x002BA830 File Offset: 0x002B8A30
|
|
[Token(Token = "0x600BFBD")]
|
|
[Address(RVA = "0x187ACC0", Offset = "0x1879AC0", VA = "0x18187ACC0")]
|
|
private static void WriteEncodable(MemoryStream ms, Asn1Encodable e)
|
|
{
|
|
if (e != 0)
|
|
{
|
|
byte[] derEncoded = e.GetDerEncoded();
|
|
int num = ms.ReadByte();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0400799B RID: 31131
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400799B")]
|
|
private DerObjectIdentifier directReference;
|
|
|
|
// Token: 0x0400799C RID: 31132
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400799C")]
|
|
private DerInteger indirectReference;
|
|
|
|
// Token: 0x0400799D RID: 31133
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400799D")]
|
|
private Asn1Object dataValueDescriptor;
|
|
|
|
// Token: 0x0400799E RID: 31134
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400799E")]
|
|
private int encoding;
|
|
|
|
// Token: 0x0400799F RID: 31135
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400799F")]
|
|
private Asn1Object externalContent;
|
|
}
|
|
}
|