oh dear
This commit is contained in:
+240
@@ -0,0 +1,240 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1
|
||||
{
|
||||
// Token: 0x02001DA1 RID: 7585
|
||||
[Token(Token = "0x2001DA1")]
|
||||
public class DerApplicationSpecific : Asn1Object
|
||||
{
|
||||
// Token: 0x0600BFE1 RID: 49121 RVA: 0x002BAF20 File Offset: 0x002B9120
|
||||
[Token(Token = "0x600BFE1")]
|
||||
[Address(RVA = "0x1877A50", Offset = "0x1876850", VA = "0x181877A50")]
|
||||
internal DerApplicationSpecific(bool isConstructed, int tag, byte[] octets)
|
||||
{
|
||||
this.isConstructed = isConstructed;
|
||||
this.tag = tag;
|
||||
this.octets = octets;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE2 RID: 49122 RVA: 0x002BAF48 File Offset: 0x002B9148
|
||||
[Token(Token = "0x600BFE2")]
|
||||
[Address(RVA = "0x1877A10", Offset = "0x1876810", VA = "0x181877A10")]
|
||||
public DerApplicationSpecific(int tag, byte[] octets)
|
||||
{
|
||||
this.tag = tag;
|
||||
this.octets = octets;
|
||||
this.isConstructed = false;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE3 RID: 49123 RVA: 0x002BAF70 File Offset: 0x002B9170
|
||||
[Token(Token = "0x600BFE3")]
|
||||
[Address(RVA = "0x1877970", Offset = "0x1876770", VA = "0x181877970")]
|
||||
public DerApplicationSpecific(int tag, Asn1Encodable obj)
|
||||
{
|
||||
Asn1Object asn1Object = obj.ToAsn1Object();
|
||||
byte[] derEncoded = asn1Object.GetDerEncoded();
|
||||
bool flag = Asn1TaggedObject.IsConstructed(true, asn1Object);
|
||||
this.tag = tag;
|
||||
this.octets = derEncoded;
|
||||
this.isConstructed = flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE4 RID: 49124 RVA: 0x002BAFB4 File Offset: 0x002B91B4
|
||||
[Token(Token = "0x600BFE4")]
|
||||
[Address(RVA = "0x1877650", Offset = "0x1876450", VA = "0x181877650")]
|
||||
public DerApplicationSpecific(bool isExplicit, int tag, Asn1Encodable obj)
|
||||
{
|
||||
Asn1Object asn1Object = obj.ToAsn1Object();
|
||||
byte[] derEncoded = asn1Object.GetDerEncoded();
|
||||
bool flag = Asn1TaggedObject.IsConstructed(isExplicit, asn1Object);
|
||||
this.isConstructed = flag;
|
||||
this.tag = tag;
|
||||
if (!isExplicit)
|
||||
{
|
||||
int num = derEncoded.Length;
|
||||
byte b = derEncoded[0];
|
||||
uint num2;
|
||||
num -= (int)num2;
|
||||
byte[] array = new byte[num];
|
||||
int length = array.Length;
|
||||
int num3 = 0;
|
||||
Array.Copy(derEncoded, (int)num2, array, num3, length);
|
||||
this.octets = array;
|
||||
return;
|
||||
}
|
||||
this.octets = derEncoded;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE5 RID: 49125 RVA: 0x002BB050 File Offset: 0x002B9250
|
||||
[Token(Token = "0x600BFE5")]
|
||||
[Address(RVA = "0x1877800", Offset = "0x1876600", VA = "0x181877800")]
|
||||
public DerApplicationSpecific(int tagNo, Asn1EncodableVector vec)
|
||||
{
|
||||
this.tag = tagNo;
|
||||
this.isConstructed = true;
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
int num = 0;
|
||||
int count = vec.Count;
|
||||
if (num != count)
|
||||
{
|
||||
byte[] derEncoded = vec[num].GetDerEncoded();
|
||||
int num2 = memoryStream.ReadByte();
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE6 RID: 49126 RVA: 0x002BB0C8 File Offset: 0x002B92C8
|
||||
[Token(Token = "0x600BFE6")]
|
||||
[Address(RVA = "0x18771D0", Offset = "0x1875FD0", VA = "0x1818771D0")]
|
||||
private int GetLengthOfHeader(byte[] data)
|
||||
{
|
||||
byte b = data[0];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE7 RID: 49127 RVA: 0x002BB0F4 File Offset: 0x002B92F4
|
||||
[Token(Token = "0x600BFE7")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0")]
|
||||
public bool IsConstructed()
|
||||
{
|
||||
return this.isConstructed;
|
||||
}
|
||||
|
||||
// Token: 0x0600BFE8 RID: 49128 RVA: 0x002BB108 File Offset: 0x002B9308
|
||||
[Token(Token = "0x600BFE8")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
||||
public byte[] GetContents()
|
||||
{
|
||||
return this.octets;
|
||||
}
|
||||
|
||||
// Token: 0x17001DAB RID: 7595
|
||||
// (get) Token: 0x0600BFE9 RID: 49129 RVA: 0x002BB11C File Offset: 0x002B931C
|
||||
[Token(Token = "0x17001DAB")]
|
||||
public int ApplicationTag
|
||||
{
|
||||
[Token(Token = "0x600BFE9")]
|
||||
[Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080")]
|
||||
get
|
||||
{
|
||||
return this.tag;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEA RID: 49130 RVA: 0x002BB130 File Offset: 0x002B9330
|
||||
[Token(Token = "0x600BFEA")]
|
||||
[Address(RVA = "0x18772B0", Offset = "0x18760B0", VA = "0x1818772B0")]
|
||||
public Asn1Object GetObject()
|
||||
{
|
||||
return Asn1Object.FromByteArray(this.octets);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEB RID: 49131 RVA: 0x002BB148 File Offset: 0x002B9348
|
||||
[Token(Token = "0x600BFEB")]
|
||||
[Address(RVA = "0x18772C0", Offset = "0x18760C0", VA = "0x1818772C0")]
|
||||
public Asn1Object GetObject(int derTagNo)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BFEB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Object BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerApplicationSpecific::GetObject(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_61:
|
||||
stloc:IOException(var_9_6B, newobj:IOException(IOException::.ctor, ldstr:string("unsupported tag number")))
|
||||
}
|
||||
|
||||
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: 0x0600BFEC RID: 49132 RVA: 0x002BB1C4 File Offset: 0x002B93C4
|
||||
[Token(Token = "0x600BFEC")]
|
||||
[Address(RVA = "0x1877150", Offset = "0x1875F50", VA = "0x181877150", Slot = "6")]
|
||||
internal override void Encode(DerOutputStream derOut)
|
||||
{
|
||||
byte[] array = this.octets;
|
||||
int num = this.tag;
|
||||
derOut.WriteTag(64, num);
|
||||
int length = array.Length;
|
||||
derOut.WriteLength(length);
|
||||
int num2 = derOut.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x0600BFED RID: 49133 RVA: 0x002BB204 File Offset: 0x002B9404
|
||||
[Token(Token = "0x600BFED")]
|
||||
[Address(RVA = "0x1876FE0", Offset = "0x1875DE0", VA = "0x181876FE0", Slot = "7")]
|
||||
protected override bool Asn1Equals(Asn1Object asn1Object)
|
||||
{
|
||||
if (asn1Object == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
int num = 0;
|
||||
if (asn1Object != 0 && (this.isConstructed ? 1 : 0) == num && this.tag == num)
|
||||
{
|
||||
byte[] array = this.octets;
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEE RID: 49134 RVA: 0x002BB238 File Offset: 0x002B9438
|
||||
[Token(Token = "0x600BFEE")]
|
||||
[Address(RVA = "0x18770B0", Offset = "0x1875EB0", VA = "0x1818770B0", Slot = "8")]
|
||||
protected override int Asn1GetHashCode()
|
||||
{
|
||||
bool flag = this.isConstructed;
|
||||
int num = this.tag;
|
||||
return Arrays.GetHashCode(this.octets);
|
||||
}
|
||||
|
||||
// Token: 0x0600BFEF RID: 49135 RVA: 0x002BB260 File Offset: 0x002B9460
|
||||
[Token(Token = "0x600BFEF")]
|
||||
[Address(RVA = "0x18774E0", Offset = "0x18762E0", VA = "0x1818774E0")]
|
||||
private byte[] ReplaceTagNumber(int newTag, byte[] input)
|
||||
{
|
||||
int num = input.Length;
|
||||
byte b = input[0];
|
||||
byte b2 = input[0];
|
||||
uint num2;
|
||||
num2 += (uint)1;
|
||||
uint num3;
|
||||
num -= (int)num3;
|
||||
byte[] array = new byte[num + 1];
|
||||
array[0] = (byte)newTag;
|
||||
uint num4;
|
||||
Array.Copy(input, (int)num3, array, (int)num4, num);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x040079AC RID: 31148
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40079AC")]
|
||||
private readonly bool isConstructed;
|
||||
|
||||
// Token: 0x040079AD RID: 31149
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x40079AD")]
|
||||
private readonly int tag;
|
||||
|
||||
// Token: 0x040079AE RID: 31150
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40079AE")]
|
||||
private readonly byte[] octets;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user