scripts
This commit is contained in:
+316
@@ -0,0 +1,316 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x020014DD RID: 5341
|
||||
[Token(Token = "0x20014DD")]
|
||||
[StructLayout(3)]
|
||||
internal class Curve25519 : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x06008DE8 RID: 36328 RVA: 0x001FA05C File Offset: 0x001F825C
|
||||
[Token(Token = "0x6008DE8")]
|
||||
[Address(RVA = "0x21D7B30", Offset = "0x21D6530", VA = "0x1821D7B30")]
|
||||
public Curve25519()
|
||||
{
|
||||
IFiniteField primeField = FiniteFields.GetPrimeField(Curve25519.q);
|
||||
base..ctor(primeField);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
Curve25519Point curve25519Point = new Curve25519Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = curve25519Point;
|
||||
byte[] array = Hex.Decode("2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA984914A144");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("7B425ED097B425ED097B425ED097B425ED097B425ED097B4260B5E9C7710C864");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("1000000000000000000000000000000014DEF9DEA2F79CD65812631A5CF5D3ED");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger bigInteger4;
|
||||
this.m_cofactor = bigInteger4;
|
||||
this.m_coord = (int)((ulong)4L);
|
||||
}
|
||||
|
||||
// Token: 0x06008DE9 RID: 36329 RVA: 0x001FA110 File Offset: 0x001F8310
|
||||
[Token(Token = "0x6008DE9")]
|
||||
[Address(RVA = "0x21D7500", Offset = "0x21D5F00", VA = "0x1821D7500", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008DE9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Curve25519(var_0_05, newobj:Curve25519(Curve25519::.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: 0x06008DEA RID: 36330 RVA: 0x001FA124 File Offset: 0x001F8324
|
||||
[Token(Token = "0x6008DEA")]
|
||||
[Address(RVA = "0x21D7AB0", Offset = "0x21D64B0", VA = "0x1821D7AB0", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 4;
|
||||
}
|
||||
|
||||
// Token: 0x17001703 RID: 5891
|
||||
// (get) Token: 0x06008DEB RID: 36331 RVA: 0x001FA138 File Offset: 0x001F8338
|
||||
[Token(Token = "0x17001703")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x6008DEB")]
|
||||
[Address(RVA = "0x21D7DC0", Offset = "0x21D67C0", VA = "0x1821D7DC0", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return Curve25519.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001704 RID: 5892
|
||||
// (get) Token: 0x06008DEC RID: 36332 RVA: 0x001FA14C File Offset: 0x001F834C
|
||||
[Token(Token = "0x17001704")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x6008DEC")]
|
||||
[Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008DEC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Curve25519Point(var_0_06, ldfld:Curve25519Point(Curve25519::m_infinity, ldloc:Curve25519(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: 0x17001705 RID: 5893
|
||||
// (get) Token: 0x06008DED RID: 36333 RVA: 0x001FA160 File Offset: 0x001F8360
|
||||
[Token(Token = "0x17001705")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x6008DED")]
|
||||
[Address(RVA = "0x21D7D50", Offset = "0x21D6750", VA = "0x1821D7D50", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return Curve25519.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008DEE RID: 36334 RVA: 0x001FA180 File Offset: 0x001F8380
|
||||
[Token(Token = "0x6008DEE")]
|
||||
[Address(RVA = "0x21D78E0", Offset = "0x21D62E0", VA = "0x1821D78E0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008DEE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_45:
|
||||
stloc:ArgumentException(var_6_54, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for Curve25519FieldElement"), ldstr:string("x")))
|
||||
}
|
||||
|
||||
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: 0x06008DEF RID: 36335 RVA: 0x001FA1E4 File Offset: 0x001F83E4
|
||||
[Token(Token = "0x6008DEF")]
|
||||
[Address(RVA = "0x21D77B0", Offset = "0x21D61B0", VA = "0x1821D77B0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008DEF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Curve25519Point(var_0_09, newobj:Curve25519Point(Curve25519Point::.ctor, ldloc:Curve25519[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
|
||||
}
|
||||
|
||||
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: 0x06008DF0 RID: 36336 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008DF0")]
|
||||
[Address(RVA = "0x21D7840", Offset = "0x21D6240", VA = "0x1821D7840", Slot = "14")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008DF1 RID: 36337 RVA: 0x001FA1FC File Offset: 0x001F83FC
|
||||
[Token(Token = "0x6008DF1")]
|
||||
[Address(RVA = "0x21D7550", Offset = "0x21D5F50", VA = "0x1821D7550", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 16;
|
||||
IL_4A:
|
||||
Curve25519.Curve25519LookupTable curve25519LookupTable;
|
||||
curve25519LookupTable.m_outer = 0;
|
||||
curve25519LookupTable.m_table = array;
|
||||
curve25519LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04005E34 RID: 24116
|
||||
[Token(Token = "0x4005E34")]
|
||||
public static readonly BigInteger q = Nat256.ToBigInteger(Curve25519Field.P);
|
||||
|
||||
// Token: 0x04005E35 RID: 24117
|
||||
[Token(Token = "0x4005E35")]
|
||||
private const int Curve25519_DEFAULT_COORDS = 4;
|
||||
|
||||
// Token: 0x04005E36 RID: 24118
|
||||
[Token(Token = "0x4005E36")]
|
||||
private const int CURVE25519_FE_INTS = 8;
|
||||
|
||||
// Token: 0x04005E37 RID: 24119
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4005E37")]
|
||||
protected readonly Curve25519Point m_infinity;
|
||||
|
||||
// Token: 0x020014DE RID: 5342
|
||||
[Token(Token = "0x20014DE")]
|
||||
private class Curve25519LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x06008DF3 RID: 36339 RVA: 0x001FA28C File Offset: 0x001F848C
|
||||
[Token(Token = "0x6008DF3")]
|
||||
[Address(RVA = "0x602F40", Offset = "0x601940", VA = "0x180602F40")]
|
||||
internal Curve25519LookupTable(Curve25519 outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001706 RID: 5894
|
||||
// (get) Token: 0x06008DF4 RID: 36340 RVA: 0x001FA2B4 File Offset: 0x001F84B4
|
||||
[Token(Token = "0x17001706")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x6008DF4")]
|
||||
[Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008DF5 RID: 36341 RVA: 0x001FA2C8 File Offset: 0x001F84C8
|
||||
[Token(Token = "0x6008DF5")]
|
||||
[Address(RVA = "0x21D5DF0", Offset = "0x21D47F0", VA = "0x1821D5DF0", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 16;
|
||||
num2++;
|
||||
}
|
||||
Curve25519 outer = this.m_outer;
|
||||
new Curve25519FieldElement().x = array;
|
||||
new Curve25519FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04005E38 RID: 24120
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E38")]
|
||||
private readonly Curve25519 m_outer;
|
||||
|
||||
// Token: 0x04005E39 RID: 24121
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E39")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04005E3A RID: 24122
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E3A")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+362
@@ -0,0 +1,362 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x020014DF RID: 5343
|
||||
[Token(Token = "0x20014DF")]
|
||||
[StructLayout(3)]
|
||||
internal class Curve25519Field
|
||||
{
|
||||
// Token: 0x06008DF6 RID: 36342 RVA: 0x001FA348 File Offset: 0x001F8548
|
||||
[Token(Token = "0x6008DF6")]
|
||||
[Address(RVA = "0x21D5000", Offset = "0x21D3A00", VA = "0x1821D5000")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint num = Nat256.Add(x, y, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008DF7 RID: 36343 RVA: 0x001FA378 File Offset: 0x001F8578
|
||||
[Token(Token = "0x6008DF7")]
|
||||
[Address(RVA = "0x21D4BF0", Offset = "0x21D35F0", VA = "0x1821D4BF0")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
uint num = Nat.Add(16, xx, yy, zz);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, zz, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008DF8 RID: 36344 RVA: 0x001FA3AC File Offset: 0x001F85AC
|
||||
[Token(Token = "0x6008DF8")]
|
||||
[Address(RVA = "0x21D4CC0", Offset = "0x21D36C0", VA = "0x1821D4CC0")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
uint num = Nat.Inc(8, x, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008DF9 RID: 36345 RVA: 0x001FA3DC File Offset: 0x001F85DC
|
||||
[Token(Token = "0x6008DF9")]
|
||||
[Address(RVA = "0x21D50C0", Offset = "0x21D3AC0", VA = "0x1821D50C0")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat256.FromBigInteger(x);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Nat256.SubFrom(Curve25519Field.P, array);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06008DFA RID: 36346 RVA: 0x001FA410 File Offset: 0x001F8610
|
||||
[Token(Token = "0x6008DFA")]
|
||||
[Address(RVA = "0x21D5190", Offset = "0x21D3B90", VA = "0x1821D5190")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = Curve25519Field.P;
|
||||
uint num = Nat256.Add(x, p, z);
|
||||
int num2 = 0;
|
||||
uint num3 = Nat.ShiftDownBit(8, z, (uint)num2);
|
||||
return;
|
||||
}
|
||||
int num4 = 0;
|
||||
uint num5 = Nat.ShiftDownBit(8, x, (uint)num4, z);
|
||||
}
|
||||
|
||||
// Token: 0x06008DFB RID: 36347 RVA: 0x001FA458 File Offset: 0x001F8658
|
||||
[Token(Token = "0x6008DFB")]
|
||||
[Address(RVA = "0x21D5340", Offset = "0x21D3D40", VA = "0x1821D5340")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Mul(x, y, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x06008DFC RID: 36348 RVA: 0x001FA47C File Offset: 0x001F867C
|
||||
[Token(Token = "0x6008DFC")]
|
||||
[Address(RVA = "0x21D5270", Offset = "0x21D3C70", VA = "0x1821D5270")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
uint num = Nat256.MulAddTo(x, y, zz);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, zz, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008DFD RID: 36349 RVA: 0x001FA4AC File Offset: 0x001F86AC
|
||||
[Token(Token = "0x6008DFD")]
|
||||
[Address(RVA = "0x21D53E0", Offset = "0x21D3DE0", VA = "0x1821D53E0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat256.IsZero(x))
|
||||
{
|
||||
int num = Nat256.Sub(Curve25519Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat256.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x06008DFE RID: 36350 RVA: 0x001FA4D8 File Offset: 0x001F86D8
|
||||
[Token(Token = "0x6008DFE")]
|
||||
[Address(RVA = "0x21D55A0", Offset = "0x21D3FA0", VA = "0x1821D55A0")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
uint num = xx[3];
|
||||
int num2 = 0;
|
||||
uint num4;
|
||||
uint num3 = Nat.ShiftUpBit((int)num4, xx, (int)num4, num, z, num2);
|
||||
uint num5 = Nat256.MulByWordAddTo((uint)19, xx, z);
|
||||
uint num6 = z[3];
|
||||
long num7 = (long)((uint)19 * (uint)19);
|
||||
uint num8 = Nat.AddWordTo(7, (uint)num7, z);
|
||||
num8 += num6;
|
||||
z[3] = num8;
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num9 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008DFF RID: 36351 RVA: 0x001FA558 File Offset: 0x001F8758
|
||||
[Token(Token = "0x6008DFF")]
|
||||
[Address(RVA = "0x21D5480", Offset = "0x21D3E80", VA = "0x1821D5480")]
|
||||
public static void Reduce27(uint x, uint[] z)
|
||||
{
|
||||
uint num = z[3];
|
||||
long num2 = (long)(num * (uint)19);
|
||||
uint num3 = Nat.AddWordTo(7, (uint)num2, z);
|
||||
num3 += num;
|
||||
z[3] = num3;
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num4 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E00 RID: 36352 RVA: 0x001FA5A8 File Offset: 0x001F87A8
|
||||
[Token(Token = "0x6008E00")]
|
||||
[Address(RVA = "0x21D5800", Offset = "0x21D4200", VA = "0x1821D5800")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x06008E01 RID: 36353 RVA: 0x001FA5CC File Offset: 0x001F87CC
|
||||
[Token(Token = "0x6008E01")]
|
||||
[Address(RVA = "0x21D5720", Offset = "0x21D4120", VA = "0x1821D5720")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat256.Square(z, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E02 RID: 36354 RVA: 0x001FA604 File Offset: 0x001F8804
|
||||
[Token(Token = "0x6008E02")]
|
||||
[Address(RVA = "0x21D5BA0", Offset = "0x21D45A0", VA = "0x1821D5BA0")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Sub(x, y, z) != 0)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num2 = Nat.DecAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
uint num4;
|
||||
num3 += num4;
|
||||
num += num3;
|
||||
z[3] = num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E03 RID: 36355 RVA: 0x001FA658 File Offset: 0x001F8858
|
||||
[Token(Token = "0x6008E03")]
|
||||
[Address(RVA = "0x21D5B10", Offset = "0x21D4510", VA = "0x1821D5B10")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(16, xx, yy, zz) != 0)
|
||||
{
|
||||
uint num = Curve25519Field.AddPExtTo(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E04 RID: 36356 RVA: 0x001FA67C File Offset: 0x001F887C
|
||||
[Token(Token = "0x6008E04")]
|
||||
[Address(RVA = "0x21D5C90", Offset = "0x21D4690", VA = "0x1821D5C90")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
uint num2 = Nat.ShiftUpBit(8, x, (uint)num, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num3 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E05 RID: 36357 RVA: 0x001FA6B0 File Offset: 0x001F88B0
|
||||
[Token(Token = "0x6008E05")]
|
||||
[Address(RVA = "0x21D4F70", Offset = "0x21D3970", VA = "0x1821D4F70")]
|
||||
private static uint AddPTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num2 = Nat.DecAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
uint num4;
|
||||
num4 += num;
|
||||
num4 += num3;
|
||||
z[3] = num4;
|
||||
return num4;
|
||||
}
|
||||
|
||||
// Token: 0x06008E06 RID: 36358 RVA: 0x001FA6FC File Offset: 0x001F88FC
|
||||
[Token(Token = "0x6008E06")]
|
||||
[Address(RVA = "0x21D4D80", Offset = "0x21D3780", VA = "0x1821D4D80")]
|
||||
private static uint AddPExtTo(uint[] zz)
|
||||
{
|
||||
uint num = zz[0];
|
||||
uint num2 = Curve25519Field.PExt[0];
|
||||
num2 += num;
|
||||
zz[0] = num2;
|
||||
if (num2 != (uint)0)
|
||||
{
|
||||
uint num3 = Nat.IncAt(8, zz, 1);
|
||||
}
|
||||
uint num4 = zz[4];
|
||||
num4 += (uint)(-19);
|
||||
num4 += num2;
|
||||
zz[4] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
int num5 = Nat.DecAt(15, zz, 9);
|
||||
}
|
||||
uint num6 = Curve25519Field.PExt[7];
|
||||
num6 += (uint)1;
|
||||
zz[7] = zz;
|
||||
return zz;
|
||||
}
|
||||
|
||||
// Token: 0x06008E07 RID: 36359 RVA: 0x001FA788 File Offset: 0x001F8988
|
||||
[Token(Token = "0x6008E07")]
|
||||
[Address(RVA = "0x21D5A80", Offset = "0x21D4480", VA = "0x1821D5A80")]
|
||||
private static int SubPFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)19;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = Nat.IncAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
num3 += (uint)int.MinValue;
|
||||
num += num3;
|
||||
z[3] = num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E08 RID: 36360 RVA: 0x001FA7E0 File Offset: 0x001F89E0
|
||||
[Token(Token = "0x6008E08")]
|
||||
[Address(RVA = "0x21D5890", Offset = "0x21D4290", VA = "0x1821D5890")]
|
||||
private static int SubPExtFrom(uint[] zz)
|
||||
{
|
||||
uint num = zz[0];
|
||||
uint num2 = Curve25519Field.PExt[0];
|
||||
num -= num2;
|
||||
zz[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num3 = Nat.DecAt(8, zz, 1);
|
||||
}
|
||||
uint num4 = zz[4];
|
||||
num4 += (uint)19;
|
||||
num4 += num;
|
||||
zz[4] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
num4 = Nat.IncAt(15, zz, 9);
|
||||
}
|
||||
uint num5 = zz[7];
|
||||
uint num6 = Curve25519Field.PExt[7];
|
||||
num6 += (uint)1;
|
||||
num5 -= num6;
|
||||
num4 += num5;
|
||||
zz[7] = num4;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E09 RID: 36361 RVA: 0x001FA880 File Offset: 0x001F8A80
|
||||
[Token(Token = "0x6008E09")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public Curve25519Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008E0A RID: 36362 RVA: 0x001FA894 File Offset: 0x001F8A94
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6008E0A")]
|
||||
[Address(RVA = "0x21D5D50", Offset = "0x21D4750", VA = "0x1821D5D50")]
|
||||
static Curve25519Field()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.86B0F85AC13B58F88DEFFD8FD6EE095438B98F10).FieldHandle);
|
||||
Curve25519Field.P = array;
|
||||
uint[] array2 = new uint[16];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.EAEB85AB6D40E0AB7CE0F65EF7EDF588A4DD81C9).FieldHandle);
|
||||
Curve25519Field.PExt = array2;
|
||||
}
|
||||
|
||||
// Token: 0x04005E3B RID: 24123
|
||||
[Token(Token = "0x4005E3B")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04005E3C RID: 24124
|
||||
[Token(Token = "0x4005E3C")]
|
||||
private const uint P7 = 2147483647U;
|
||||
|
||||
// Token: 0x04005E3D RID: 24125
|
||||
[Token(Token = "0x4005E3D")]
|
||||
private static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04005E3E RID: 24126
|
||||
[Token(Token = "0x4005E3E")]
|
||||
private const uint PInv = 19U;
|
||||
}
|
||||
}
|
||||
+454
@@ -0,0 +1,454 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x020014E0 RID: 5344
|
||||
[Token(Token = "0x20014E0")]
|
||||
[StructLayout(3)]
|
||||
internal class Curve25519FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x06008E0B RID: 36363 RVA: 0x001FA8D4 File Offset: 0x001F8AD4
|
||||
[Token(Token = "0x6008E0B")]
|
||||
[Address(RVA = "0x21D4950", Offset = "0x21D3350", VA = "0x1821D4950")]
|
||||
public Curve25519FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E0B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_44:
|
||||
stloc:ArgumentException(var_5_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for Curve25519FieldElement"), ldstr:string("x")))
|
||||
}
|
||||
|
||||
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: 0x06008E0C RID: 36364 RVA: 0x001FA938 File Offset: 0x001F8B38
|
||||
[Token(Token = "0x6008E0C")]
|
||||
[Address(RVA = "0x21D4B00", Offset = "0x21D3500", VA = "0x1821D4B00")]
|
||||
public Curve25519FieldElement()
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x06008E0D RID: 36365 RVA: 0x001FA95C File Offset: 0x001F8B5C
|
||||
[Token(Token = "0x6008E0D")]
|
||||
[Address(RVA = "0x579A20", Offset = "0x578420", VA = "0x180579A20")]
|
||||
protected internal Curve25519FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001707 RID: 5895
|
||||
// (get) Token: 0x06008E0E RID: 36366 RVA: 0x001FA978 File Offset: 0x001F8B78
|
||||
[Token(Token = "0x17001707")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x6008E0E")]
|
||||
[Address(RVA = "0x21D4BE0", Offset = "0x21D35E0", VA = "0x1821D4BE0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001708 RID: 5896
|
||||
// (get) Token: 0x06008E0F RID: 36367 RVA: 0x001FA990 File Offset: 0x001F8B90
|
||||
[Token(Token = "0x17001708")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x6008E0F")]
|
||||
[Address(RVA = "0x21D4BD0", Offset = "0x21D35D0", VA = "0x1821D4BD0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E10 RID: 36368 RVA: 0x001FA9A8 File Offset: 0x001F8BA8
|
||||
[Token(Token = "0x6008E10")]
|
||||
[Address(RVA = "0x21D4870", Offset = "0x21D3270", VA = "0x1821D4870", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat256.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x06008E11 RID: 36369 RVA: 0x001FA9CC File Offset: 0x001F8BCC
|
||||
[Token(Token = "0x6008E11")]
|
||||
[Address(RVA = "0x21D4890", Offset = "0x21D3290", VA = "0x1821D4890", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001709 RID: 5897
|
||||
// (get) Token: 0x06008E12 RID: 36370 RVA: 0x001FA9E4 File Offset: 0x001F8BE4
|
||||
[Token(Token = "0x17001709")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x6008E12")]
|
||||
[Address(RVA = "0x21D4B30", Offset = "0x21D3530", VA = "0x1821D4B30", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "Curve25519Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700170A RID: 5898
|
||||
// (get) Token: 0x06008E13 RID: 36371 RVA: 0x001FA9F8 File Offset: 0x001F8BF8
|
||||
[Token(Token = "0x1700170A")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x6008E13")]
|
||||
[Address(RVA = "0x21D4B60", Offset = "0x21D3560", VA = "0x1821D4B60", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return Curve25519FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E14 RID: 36372 RVA: 0x001FAA18 File Offset: 0x001F8C18
|
||||
[Token(Token = "0x6008E14")]
|
||||
[Address(RVA = "0x21D3BA0", Offset = "0x21D25A0", VA = "0x1821D3BA0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Curve25519Field.SubPFrom(array);
|
||||
}
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E15 RID: 36373 RVA: 0x001FAA78 File Offset: 0x001F8C78
|
||||
[Token(Token = "0x6008E15")]
|
||||
[Address(RVA = "0x21D3A80", Offset = "0x21D2480", VA = "0x1821D3A80", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E15)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::AddOne()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_32:
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x06008E16 RID: 36374 RVA: 0x001FAAC4 File Offset: 0x001F8CC4
|
||||
[Token(Token = "0x6008E16")]
|
||||
[Address(RVA = "0x21D4730", Offset = "0x21D3130", VA = "0x1821D4730", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E17 RID: 36375 RVA: 0x001FAB0C File Offset: 0x001F8D0C
|
||||
[Token(Token = "0x6008E17")]
|
||||
[Address(RVA = "0x21D41C0", Offset = "0x21D2BC0", VA = "0x1821D41C0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E18 RID: 36376 RVA: 0x001FAB54 File Offset: 0x001F8D54
|
||||
[Token(Token = "0x6008E18")]
|
||||
[Address(RVA = "0x21D3D70", Offset = "0x21D2770", VA = "0x1821D3D70", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] p = Curve25519Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
Curve25519Field.Multiply(array, array2, array);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E19 RID: 36377 RVA: 0x001FABAC File Offset: 0x001F8DAC
|
||||
[Token(Token = "0x6008E19")]
|
||||
[Address(RVA = "0x21D4300", Offset = "0x21D2D00", VA = "0x1821D4300", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E19)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(Curve25519Field::Negate, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x06008E1A RID: 36378 RVA: 0x001FABD8 File Offset: 0x001F8DD8
|
||||
[Token(Token = "0x6008E1A")]
|
||||
[Address(RVA = "0x21D46A0", Offset = "0x21D30A0", VA = "0x1821D46A0", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E1A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(Curve25519Field::Square, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x06008E1B RID: 36379 RVA: 0x001FAC04 File Offset: 0x001F8E04
|
||||
[Token(Token = "0x6008E1B")]
|
||||
[Address(RVA = "0x21D40F0", Offset = "0x21D2AF0", VA = "0x1821D40F0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E1B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](Curve25519Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x06008E1C RID: 36380 RVA: 0x001FAC38 File Offset: 0x001F8E38
|
||||
[Token(Token = "0x6008E1C")]
|
||||
[Address(RVA = "0x21D4390", Offset = "0x21D2D90", VA = "0x1821D4390", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E1C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_148:
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_2_20))
|
||||
}
|
||||
|
||||
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: 0x06008E1D RID: 36381 RVA: 0x001FAD98 File Offset: 0x001F8F98
|
||||
[Token(Token = "0x6008E1D")]
|
||||
[Address(RVA = "0x21D3F10", Offset = "0x21D2910", VA = "0x1821D3F10", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E1D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:Curve25519FieldElement[exp:ECFieldElement](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: 0x06008E1E RID: 36382 RVA: 0x001FADB4 File Offset: 0x001F8FB4
|
||||
[Token(Token = "0x6008E1E")]
|
||||
[Address(RVA = "0x21D3FA0", Offset = "0x21D29A0", VA = "0x1821D3FA0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E1E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:Curve25519FieldElement[exp:ECFieldElement](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: 0x06008E1F RID: 36383 RVA: 0x001FADD0 File Offset: 0x001F8FD0
|
||||
[Token(Token = "0x6008E1F")]
|
||||
[Address(RVA = "0x21D3EF0", Offset = "0x21D28F0", VA = "0x1821D3EF0", Slot = "27")]
|
||||
public virtual bool Equals(Curve25519FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat256.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x06008E20 RID: 36384 RVA: 0x001FADFC File Offset: 0x001F8FFC
|
||||
[Token(Token = "0x6008E20")]
|
||||
[Address(RVA = "0x21D4030", Offset = "0x21D2A30", VA = "0x1821D4030", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
Curve25519FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 8);
|
||||
}
|
||||
|
||||
// Token: 0x06008E21 RID: 36385 RVA: 0x001FAE2C File Offset: 0x001F902C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6008E21")]
|
||||
[Address(RVA = "0x21D48A0", Offset = "0x21D32A0", VA = "0x1821D48A0")]
|
||||
static Curve25519FieldElement()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6AAC0DB543C50F09E879F5B9F757319773564CE1).FieldHandle);
|
||||
Curve25519FieldElement.PRECOMP_POW2 = array;
|
||||
}
|
||||
|
||||
// Token: 0x04005E3F RID: 24127
|
||||
[Token(Token = "0x4005E3F")]
|
||||
public static readonly BigInteger Q = Curve25519.q;
|
||||
|
||||
// Token: 0x04005E40 RID: 24128
|
||||
[Token(Token = "0x4005E40")]
|
||||
private static readonly uint[] PRECOMP_POW2;
|
||||
|
||||
// Token: 0x04005E41 RID: 24129
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E41")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+399
@@ -0,0 +1,399 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x020014E1 RID: 5345
|
||||
[Token(Token = "0x20014E1")]
|
||||
[StructLayout(3)]
|
||||
internal class Curve25519Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x06008E22 RID: 36386 RVA: 0x001FAE5C File Offset: 0x001F905C
|
||||
[Token(Token = "0x6008E22")]
|
||||
[Address(RVA = "0x21D74E0", Offset = "0x21D5EE0", VA = "0x1821D74E0")]
|
||||
public Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008E23 RID: 36387 RVA: 0x001FAE6C File Offset: 0x001F906C
|
||||
[Token(Token = "0x6008E23")]
|
||||
[Address(RVA = "0x21D7420", Offset = "0x21D5E20", VA = "0x1821D7420")]
|
||||
public Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E23)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x06008E24 RID: 36388 RVA: 0x001FAE94 File Offset: 0x001F9094
|
||||
[Token(Token = "0x6008E24")]
|
||||
[Address(RVA = "0x21C5930", Offset = "0x21C4330", VA = "0x1821C5930")]
|
||||
internal Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008E25 RID: 36389 RVA: 0x001FAEA4 File Offset: 0x001F90A4
|
||||
[Token(Token = "0x6008E25")]
|
||||
[Address(RVA = "0x21D6950", Offset = "0x21D5350", VA = "0x1821D6950", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E25)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:Curve25519Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:Curve25519Point[exp:ECPoint](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: 0x06008E26 RID: 36390 RVA: 0x001FAEC0 File Offset: 0x001F90C0
|
||||
[Token(Token = "0x6008E26")]
|
||||
[Address(RVA = "0x21D6B80", Offset = "0x21D5580", VA = "0x1821D6B80", Slot = "13")]
|
||||
public override ECFieldElement GetZCoord(int index)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E26)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::GetZCoord(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0C:
|
||||
stloc:bool(var_0_12, call:bool(ECPoint::SatisfiesCurveEquation, ldloc:Curve25519Point[exp:ECPoint](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.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: 0x06008E27 RID: 36391 RVA: 0x001FAEE0 File Offset: 0x001F90E0
|
||||
[Token(Token = "0x6008E27")]
|
||||
[Address(RVA = "0x21D5FC0", Offset = "0x21D49C0", VA = "0x1821D5FC0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat256.CreateExt();
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
uint[] array4 = Nat256.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
Curve25519Field.Square(array4, array3);
|
||||
Curve25519Field.Multiply(array3, array3, array2);
|
||||
Curve25519Field.Multiply(array3, array3, array3);
|
||||
Curve25519Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
Curve25519Field.Multiply(array4, array4, array);
|
||||
Curve25519Field.Multiply(array4, array4, array4);
|
||||
Curve25519Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
if (!Nat256.IsZero(array5))
|
||||
{
|
||||
uint[] array6 = Nat256.Create();
|
||||
Curve25519Field.Square(array5, array6);
|
||||
uint[] array7 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array6, array5, array7);
|
||||
Curve25519Field.Negate(array7, array7);
|
||||
Curve25519Field.Reduce27(Nat256.AddBothTo(array3, array3, array7), array7);
|
||||
Curve25519FieldElement curve25519FieldElement = new Curve25519FieldElement();
|
||||
curve25519FieldElement.x = array4;
|
||||
Curve25519Field.Square(array2, array4);
|
||||
uint[] x = curve25519FieldElement.x;
|
||||
Curve25519Field.Subtract(x, array7, x);
|
||||
Curve25519FieldElement curve25519FieldElement2 = new Curve25519FieldElement();
|
||||
curve25519FieldElement2.x = array7;
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
Curve25519Field.Subtract(array3, x2, array7);
|
||||
uint[] x3 = curve25519FieldElement2.x;
|
||||
uint num = Nat256.MulAddTo(x3, array2, array);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, array, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(array);
|
||||
}
|
||||
uint[] x4 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Reduce(array, x4);
|
||||
Curve25519FieldElement curve25519FieldElement3 = new Curve25519FieldElement();
|
||||
curve25519FieldElement3.x = array5;
|
||||
Curve25519Field.Multiply(array5, x3, array5);
|
||||
uint[] x5 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Multiply(x5, array, x5);
|
||||
ECPoint ecpoint = this.ThreeTimes();
|
||||
ECFieldElement[] array8 = new ECFieldElement[2];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06008E28 RID: 36392 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008E28")]
|
||||
[Address(RVA = "0x21D7380", Offset = "0x21D5D80", VA = "0x1821D7380", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008E29 RID: 36393 RVA: 0x001FB0FC File Offset: 0x001F92FC
|
||||
[Token(Token = "0x6008E29")]
|
||||
[Address(RVA = "0x21D7290", Offset = "0x21D5C90", VA = "0x1821D7290", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
BigInteger bigInteger = this.GetJacobianModifiedW().ToBigInteger();
|
||||
}
|
||||
bool flag = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E2A RID: 36394 RVA: 0x001FB150 File Offset: 0x001F9350
|
||||
[Token(Token = "0x6008E2A")]
|
||||
[Address(RVA = "0x21D6CA0", Offset = "0x21D56A0", VA = "0x1821D6CA0", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
BigInteger bigInteger = this.GetJacobianModifiedW().ToBigInteger();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E2B RID: 36395 RVA: 0x001FB188 File Offset: 0x001F9388
|
||||
[Token(Token = "0x6008E2B")]
|
||||
[Address(RVA = "0x21D6BA0", Offset = "0x21D55A0", VA = "0x1821D6BA0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E2C RID: 36396 RVA: 0x001FB1C0 File Offset: 0x001F93C0
|
||||
[Token(Token = "0x6008E2C")]
|
||||
[Address(RVA = "0x21D67A0", Offset = "0x21D51A0", VA = "0x1821D67A0", Slot = "34")]
|
||||
protected virtual Curve25519FieldElement CalculateJacobianModifiedW(Curve25519FieldElement Z, uint[] ZSquared)
|
||||
{
|
||||
bool flag2;
|
||||
do
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (!flag2);
|
||||
if (Z.BitLength == 0)
|
||||
{
|
||||
Curve25519FieldElement curve25519FieldElement = new Curve25519FieldElement();
|
||||
uint[] array = Nat256.Create();
|
||||
curve25519FieldElement.x = array;
|
||||
if (ZSquared == 0)
|
||||
{
|
||||
Curve25519Field.Square(Z.x, array);
|
||||
}
|
||||
uint[] x = curve25519FieldElement.x;
|
||||
Curve25519Field.Square(array, x);
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
Curve25519Field.Multiply(x2, x, x2);
|
||||
return curve25519FieldElement;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E2D RID: 36397 RVA: 0x001FB23C File Offset: 0x001F943C
|
||||
[Token(Token = "0x6008E2D")]
|
||||
[Address(RVA = "0x21D69F0", Offset = "0x21D53F0", VA = "0x1821D69F0", Slot = "35")]
|
||||
protected virtual Curve25519FieldElement GetJacobianModifiedW()
|
||||
{
|
||||
ECFieldElement[] zs;
|
||||
for (;;)
|
||||
{
|
||||
zs = this.m_zs;
|
||||
int length = zs.Length;
|
||||
ECFieldElement ecfieldElement = zs[1];
|
||||
if (ecfieldElement == 0 || ecfieldElement != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement2 = zs[0];
|
||||
if (ecfieldElement2 == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement2 != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
ECPoint ecpoint = this.ThreeTimes();
|
||||
if (ecpoint != 0)
|
||||
{
|
||||
}
|
||||
zs[1] = ecpoint;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E2E RID: 36398 RVA: 0x001FB29C File Offset: 0x001F949C
|
||||
[Token(Token = "0x6008E2E")]
|
||||
[Address(RVA = "0x21D6D20", Offset = "0x21D5720", VA = "0x1821D6D20", Slot = "36")]
|
||||
protected virtual Curve25519Point TwiceJacobianModified(bool calculateW)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y == 0)
|
||||
{
|
||||
}
|
||||
if (y != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
uint[] array = Nat256.Create();
|
||||
uint num = Nat256.AddBothTo(array, array, array);
|
||||
Curve25519FieldElement curve25519FieldElement;
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
uint num2 = Nat256.AddTo(x2, array);
|
||||
Curve25519Field.Reduce27(x2, array);
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array2, array2, array3);
|
||||
uint[] array4 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array3, array2, array4);
|
||||
Curve25519Field.Twice(array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
Curve25519Field.Square(array3, array5);
|
||||
Curve25519Field.Twice(array5, array5);
|
||||
Curve25519FieldElement curve25519FieldElement2 = new Curve25519FieldElement();
|
||||
curve25519FieldElement2.x = array3;
|
||||
Curve25519Field.Square(array, array3);
|
||||
uint[] x3 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(x3, array4, x3);
|
||||
uint[] x4 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(x4, array4, x4);
|
||||
Curve25519FieldElement curve25519FieldElement3 = new Curve25519FieldElement();
|
||||
curve25519FieldElement3.x = array4;
|
||||
uint[] x5 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(array4, x5, array4);
|
||||
uint[] x6 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Multiply(x6, array, x6);
|
||||
uint[] x7 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Subtract(x7, array5, x7);
|
||||
Curve25519FieldElement curve25519FieldElement4 = new Curve25519FieldElement();
|
||||
curve25519FieldElement4.x = array2;
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
uint[] x8 = curve25519FieldElement4.x;
|
||||
}
|
||||
Curve25519FieldElement curve25519FieldElement5;
|
||||
if (calculateW)
|
||||
{
|
||||
curve25519FieldElement5 = new Curve25519FieldElement();
|
||||
curve25519FieldElement5.x = array5;
|
||||
uint[] x9 = curve25519FieldElement.x;
|
||||
Curve25519Field.Multiply(array5, x9, array5);
|
||||
uint[] x10 = curve25519FieldElement5.x;
|
||||
Curve25519Field.Twice(x10, x10);
|
||||
}
|
||||
bool flag2 = this.SatisfiesOrder();
|
||||
ECFieldElement[] array6 = new ECFieldElement[2];
|
||||
array6[0] = curve25519FieldElement4;
|
||||
if (curve25519FieldElement5 != 0)
|
||||
{
|
||||
}
|
||||
array6[1] = curve25519FieldElement5;
|
||||
bool withCompression = this.m_withCompression;
|
||||
Curve25519Point curve25519Point;
|
||||
return curve25519Point;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user