scripts
This commit is contained in:
+127
@@ -0,0 +1,127 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Generators;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x02001728 RID: 5928
|
||||
[Token(Token = "0x2001728")]
|
||||
[StructLayout(3)]
|
||||
public class DHAgreement
|
||||
{
|
||||
// Token: 0x0600A055 RID: 41045 RVA: 0x00253D3C File Offset: 0x00251F3C
|
||||
[Token(Token = "0x600A055")]
|
||||
[Address(RVA = "0x654660", Offset = "0x653060", VA = "0x180654660")]
|
||||
public void Init(ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A055)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.DHAgreement::Init(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_57:
|
||||
stloc:ArgumentException(var_8_61, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("DHEngine expects DHPrivateKeyParameters")))
|
||||
}
|
||||
|
||||
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: 0x0600A056 RID: 41046 RVA: 0x00253DAC File Offset: 0x00251FAC
|
||||
[Token(Token = "0x600A056")]
|
||||
[Address(RVA = "0x654450", Offset = "0x652E50", VA = "0x180654450")]
|
||||
public BigInteger CalculateMessage()
|
||||
{
|
||||
DHKeyPairGenerator dhkeyPairGenerator;
|
||||
for (;;)
|
||||
{
|
||||
dhkeyPairGenerator = new DHKeyPairGenerator();
|
||||
SecureRandom secureRandom = this.random;
|
||||
DHParameters dhparameters = this.dhParams;
|
||||
DHKeyGenerationParameters dhkeyGenerationParameters = new DHKeyGenerationParameters(secureRandom, dhparameters);
|
||||
AsymmetricCipherKeyPair asymmetricCipherKeyPair = dhkeyPairGenerator.GenerateKeyPair();
|
||||
if (dhkeyPairGenerator != 0 && dhkeyPairGenerator != 0)
|
||||
{
|
||||
this.privateValue = dhkeyPairGenerator;
|
||||
if (dhkeyPairGenerator != 0 && dhkeyPairGenerator != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
AsymmetricCipherKeyPair asymmetricCipherKeyPair2 = ((IAsymmetricCipherKeyPairGenerator)dhkeyPairGenerator).GenerateKeyPair();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A057 RID: 41047 RVA: 0x00253E10 File Offset: 0x00252010
|
||||
[Token(Token = "0x600A057")]
|
||||
[Address(RVA = "0x654140", Offset = "0x652B40", VA = "0x180654140")]
|
||||
public BigInteger CalculateAgreement(DHPublicKeyParameters pub, BigInteger message)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A057)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.DHAgreement::CalculateAgreement(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters.DHPublicKeyParameters,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_77:
|
||||
stloc:ArgumentException(var_11_81, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Diffie-Hellman public key is weak")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600A058 RID: 41048 RVA: 0x00253EA0 File Offset: 0x002520A0
|
||||
[Token(Token = "0x600A058")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public DHAgreement()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006949 RID: 26953
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006949")]
|
||||
private DHPrivateKeyParameters key;
|
||||
|
||||
// Token: 0x0400694A RID: 26954
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400694A")]
|
||||
private DHParameters dhParams;
|
||||
|
||||
// Token: 0x0400694B RID: 26955
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400694B")]
|
||||
private BigInteger privateValue;
|
||||
|
||||
// Token: 0x0400694C RID: 26956
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400694C")]
|
||||
private SecureRandom random;
|
||||
}
|
||||
}
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x02001729 RID: 5929
|
||||
[Token(Token = "0x2001729")]
|
||||
[StructLayout(3)]
|
||||
public class DHBasicAgreement : IBasicAgreement
|
||||
{
|
||||
// Token: 0x0600A059 RID: 41049 RVA: 0x00253EB4 File Offset: 0x002520B4
|
||||
[Token(Token = "0x600A059")]
|
||||
[Address(RVA = "0x654BF0", Offset = "0x6535F0", VA = "0x180654BF0", Slot = "7")]
|
||||
public virtual void Init(ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A059)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.DHBasicAgreement::Init(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_37:
|
||||
stloc:ArgumentException(var_5_41, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("DHEngine expects DHPrivateKeyParameters")))
|
||||
}
|
||||
|
||||
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: 0x0600A05A RID: 41050 RVA: 0x00253F04 File Offset: 0x00252104
|
||||
[Token(Token = "0x600A05A")]
|
||||
[Address(RVA = "0x654BB0", Offset = "0x6535B0", VA = "0x180654BB0", Slot = "8")]
|
||||
public virtual int GetFieldSize()
|
||||
{
|
||||
BigInteger p = this.key.parameters.p;
|
||||
int num = 0;
|
||||
int num2 = p.BitLength;
|
||||
num2 += 7;
|
||||
return num2 + num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A05B RID: 41051 RVA: 0x00253F3C File Offset: 0x0025213C
|
||||
[Token(Token = "0x600A05B")]
|
||||
[Address(RVA = "0x6548D0", Offset = "0x6532D0", VA = "0x1806548D0", Slot = "9")]
|
||||
public virtual BigInteger CalculateAgreement(ICipherParameters pubKey)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A05B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.DHBasicAgreement::CalculateAgreement(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_58:
|
||||
stloc:ArgumentException(var_10_62, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Diffie-Hellman public key is weak")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x0600A05C RID: 41052 RVA: 0x00253FAC File Offset: 0x002521AC
|
||||
[Token(Token = "0x600A05C")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public DHBasicAgreement()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400694D RID: 26957
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400694D")]
|
||||
private DHPrivateKeyParameters key;
|
||||
|
||||
// Token: 0x0400694E RID: 26958
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400694E")]
|
||||
private DHParameters dhParams;
|
||||
}
|
||||
}
|
||||
+347
@@ -0,0 +1,347 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x0200172A RID: 5930
|
||||
[Token(Token = "0x200172A")]
|
||||
[StructLayout(3)]
|
||||
public class DHStandardGroups
|
||||
{
|
||||
// Token: 0x0600A05D RID: 41053 RVA: 0x00253FC0 File Offset: 0x002521C0
|
||||
[Token(Token = "0x600A05D")]
|
||||
[Address(RVA = "0x6554F0", Offset = "0x653EF0", VA = "0x1806554F0")]
|
||||
private static BigInteger FromHex(string hex)
|
||||
{
|
||||
byte[] array = Hex.Decode(hex);
|
||||
return new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A05E RID: 41054 RVA: 0x00253FDC File Offset: 0x002521DC
|
||||
[Token(Token = "0x600A05E")]
|
||||
[Address(RVA = "0x655640", Offset = "0x654040", VA = "0x180655640")]
|
||||
private static DHParameters FromPG(string hexP, string hexG)
|
||||
{
|
||||
BigInteger bigInteger = DHStandardGroups.FromHex(hexP);
|
||||
BigInteger bigInteger2 = DHStandardGroups.FromHex(hexG);
|
||||
return new DHParameters(bigInteger, bigInteger2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A05F RID: 41055 RVA: 0x00254000 File Offset: 0x00252200
|
||||
[Token(Token = "0x600A05F")]
|
||||
[Address(RVA = "0x655580", Offset = "0x653F80", VA = "0x180655580")]
|
||||
private static DHParameters FromPGQ(string hexP, string hexG, string hexQ)
|
||||
{
|
||||
BigInteger bigInteger = DHStandardGroups.FromHex(hexP);
|
||||
BigInteger bigInteger2 = DHStandardGroups.FromHex(hexG);
|
||||
BigInteger bigInteger3 = DHStandardGroups.FromHex(hexQ);
|
||||
return new DHParameters(bigInteger, bigInteger2, bigInteger3);
|
||||
}
|
||||
|
||||
// Token: 0x0600A060 RID: 41056 RVA: 0x0025402C File Offset: 0x0025222C
|
||||
[Token(Token = "0x600A060")]
|
||||
[Address(RVA = "0x6556E0", Offset = "0x6540E0", VA = "0x1806556E0")]
|
||||
private static DHParameters Rfc7919Parameters(string hexP, int l)
|
||||
{
|
||||
BigInteger bigInteger = DHStandardGroups.FromHex(hexP);
|
||||
BigInteger two = BigInteger.Two;
|
||||
BigInteger bigInteger2 = bigInteger.ShiftRight(1);
|
||||
return new DHParameters(bigInteger, two, bigInteger2, l);
|
||||
}
|
||||
|
||||
// Token: 0x0600A061 RID: 41057 RVA: 0x00254060 File Offset: 0x00252260
|
||||
[Token(Token = "0x600A061")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public DHStandardGroups()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A062 RID: 41058 RVA: 0x00254074 File Offset: 0x00252274
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A062")]
|
||||
[Address(RVA = "0x6557E0", Offset = "0x6541E0", VA = "0x1806557E0")]
|
||||
static DHStandardGroups()
|
||||
{
|
||||
string text = DHStandardGroups.rfc2409_768_p;
|
||||
string text2 = DHStandardGroups.rfc2409_768_g;
|
||||
DHStandardGroups.rfc2409_768 = DHStandardGroups.FromPG(text, text2);
|
||||
DHStandardGroups.rfc2409_1024_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc2409_1024_g = "02";
|
||||
string text3 = DHStandardGroups.rfc2409_1024_p;
|
||||
string text4 = DHStandardGroups.rfc2409_1024_g;
|
||||
DHStandardGroups.rfc2409_1024 = DHStandardGroups.FromPG(text3, text4);
|
||||
DHStandardGroups.rfc3526_1536_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc3526_1536_g = "02";
|
||||
string text5 = DHStandardGroups.rfc3526_1536_p;
|
||||
string text6 = DHStandardGroups.rfc3526_1536_g;
|
||||
DHStandardGroups.rfc3526_1536 = DHStandardGroups.FromPG(text5, text6);
|
||||
DHStandardGroups.rfc3526_2048_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc3526_2048_g = "02";
|
||||
string text7 = DHStandardGroups.rfc3526_2048_p;
|
||||
string text8 = DHStandardGroups.rfc3526_2048_g;
|
||||
DHStandardGroups.rfc3526_2048 = DHStandardGroups.FromPG(text7, text8);
|
||||
DHStandardGroups.rfc3526_3072_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc3526_3072_g = "02";
|
||||
string text9 = DHStandardGroups.rfc3526_3072_p;
|
||||
string text10 = DHStandardGroups.rfc3526_3072_g;
|
||||
DHStandardGroups.rfc3526_3072 = DHStandardGroups.FromPG(text9, text10);
|
||||
DHStandardGroups.rfc3526_4096_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199FFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc3526_4096_g = "02";
|
||||
string text11 = DHStandardGroups.rfc3526_4096_p;
|
||||
string text12 = DHStandardGroups.rfc3526_4096_g;
|
||||
DHStandardGroups.rfc3526_4096 = DHStandardGroups.FromPG(text11, text12);
|
||||
DHStandardGroups.rfc3526_6144_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DCC4024FFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc3526_6144_g = "02";
|
||||
string text13 = DHStandardGroups.rfc3526_6144_p;
|
||||
string text14 = DHStandardGroups.rfc3526_6144_g;
|
||||
DHStandardGroups.rfc3526_6144 = DHStandardGroups.FromPG(text13, text14);
|
||||
DHStandardGroups.rfc3526_8192_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DBE115974A3926F12FEE5E438777CB6A932DF8CD8BEC4D073B931BA3BC832B68D9DD300741FA7BF8AFC47ED2576F6936BA424663AAB639C5AE4F5683423B4742BF1C978238F16CBE39D652DE3FDB8BEFC848AD922222E04A4037C0713EB57A81A23F0C73473FC646CEA306B4BCBC8862F8385DDFA9D4B7FA2C087E879683303ED5BDD3A062B3CF5B3A278A66D2A13F83F44F82DDF310EE074AB6A364597E899A0255DC164F31CC50846851DF9AB48195DED7EA1B1D510BD7EE74D73FAF36BC31ECFA268359046F4EB879F924009438B481C6CD7889A002ED5EE382BC9190DA6FC026E479558E4475677E9AA9E3050E2765694DFC81F56E880B96E7160C980DD98EDD3DFFFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc3526_8192_g = "02";
|
||||
string text15 = DHStandardGroups.rfc3526_8192_p;
|
||||
string text16 = DHStandardGroups.rfc3526_8192_g;
|
||||
DHStandardGroups.rfc3526_8192 = DHStandardGroups.FromPG(text15, text16);
|
||||
DHStandardGroups.rfc4306_768 = DHStandardGroups.rfc2409_768;
|
||||
DHStandardGroups.rfc4306_1024 = DHStandardGroups.rfc2409_1024;
|
||||
DHStandardGroups.rfc5114_1024_160_p = "B10B8F96A080E01DDE92DE5EAE5D54EC52C99FBCFB06A3C69A6A9DCA52D23B616073E28675A23D189838EF1E2EE652C013ECB4AEA906112324975C3CD49B83BFACCBDD7D90C4BD7098488E9C219A73724EFFD6FAE5644738FAA31A4FF55BCCC0A151AF5F0DC8B4BD45BF37DF365C1A65E68CFDA76D4DA708DF1FB2BC2E4A4371";
|
||||
DHStandardGroups.rfc5114_1024_160_g = "A4D1CBD5C3FD34126765A442EFB99905F8104DD258AC507FD6406CFF14266D31266FEA1E5C41564B777E690F5504F213160217B4B01B886A5E91547F9E2749F4D7FBD7D3B9A92EE1909D0D2263F80A76A6A24C087A091F531DBF0A0169B6A28AD662A4D18E73AFA32D779D5918D08BC8858F4DCEF97C2A24855E6EEB22B3B2E5";
|
||||
DHStandardGroups.rfc5114_1024_160_q = "F518AA8781A8DF278ABA4E7D64B7CB9D49462353";
|
||||
string text17 = DHStandardGroups.rfc5114_1024_160_p;
|
||||
string text18 = DHStandardGroups.rfc5114_1024_160_g;
|
||||
string text19 = DHStandardGroups.rfc5114_1024_160_q;
|
||||
DHStandardGroups.rfc5114_1024_160 = DHStandardGroups.FromPGQ(text17, text18, text19);
|
||||
DHStandardGroups.rfc5114_2048_224_p = "AD107E1E9123A9D0D660FAA79559C51FA20D64E5683B9FD1B54B1597B61D0A75E6FA141DF95A56DBAF9A3C407BA1DF15EB3D688A309C180E1DE6B85A1274A0A66D3F8152AD6AC2129037C9EDEFDA4DF8D91E8FEF55B7394B7AD5B7D0B6C12207C9F98D11ED34DBF6C6BA0B2C8BBC27BE6A00E0A0B9C49708B3BF8A317091883681286130BC8985DB1602E714415D9330278273C7DE31EFDC7310F7121FD5A07415987D9ADC0A486DCDF93ACC44328387315D75E198C641A480CD86A1B9E587E8BE60E69CC928B2B9C52172E413042E9B23F10B0E16E79763C9B53DCF4BA80A29E3FB73C16B8E75B97EF363E2FFA31F71CF9DE5384E71B81C0AC4DFFE0C10E64F";
|
||||
DHStandardGroups.rfc5114_2048_224_g = "AC4032EF4F2D9AE39DF30B5C8FFDAC506CDEBE7B89998CAF74866A08CFE4FFE3A6824A4E10B9A6F0DD921F01A70C4AFAAB739D7700C29F52C57DB17C620A8652BE5E9001A8D66AD7C17669101999024AF4D027275AC1348BB8A762D0521BC98AE247150422EA1ED409939D54DA7460CDB5F6C6B250717CBEF180EB34118E98D119529A45D6F834566E3025E316A330EFBB77A86F0C1AB15B051AE3D428C8F8ACB70A8137150B8EEB10E183EDD19963DDD9E263E4770589EF6AA21E7F5F2FF381B539CCE3409D13CD566AFBB48D6C019181E1BCFE94B30269EDFE72FE9B6AA4BD7B5A0F1C71CFFF4C19C418E1F6EC017981BC087F2A7065B384B890D3191F2BFA";
|
||||
DHStandardGroups.rfc5114_2048_224_q = "801C0D34C58D93FE997177101F80535A4738CEBCBF389A99B36371EB";
|
||||
string text20 = DHStandardGroups.rfc5114_2048_224_p;
|
||||
string text21 = DHStandardGroups.rfc5114_2048_224_g;
|
||||
string text22 = DHStandardGroups.rfc5114_2048_224_q;
|
||||
DHStandardGroups.rfc5114_2048_224 = DHStandardGroups.FromPGQ(text20, text21, text22);
|
||||
DHStandardGroups.rfc5114_2048_256_p = "87A8E61DB4B6663CFFBBD19C651959998CEEF608660DD0F25D2CEED4435E3B00E00DF8F1D61957D4FAF7DF4561B2AA3016C3D91134096FAA3BF4296D830E9A7C209E0C6497517ABD5A8A9D306BCF67ED91F9E6725B4758C022E0B1EF4275BF7B6C5BFC11D45F9088B941F54EB1E59BB8BC39A0BF12307F5C4FDB70C581B23F76B63ACAE1CAA6B7902D52526735488A0EF13C6D9A51BFA4AB3AD8347796524D8EF6A167B5A41825D967E144E5140564251CCACB83E6B486F6B3CA3F7971506026C0B857F689962856DED4010ABD0BE621C3A3960A54E710C375F26375D7014103A4B54330C198AF126116D2276E11715F693877FAD7EF09CADB094AE91E1A1597";
|
||||
DHStandardGroups.rfc5114_2048_256_g = "3FB32C9B73134D0B2E77506660EDBD484CA7B18F21EF205407F4793A1A0BA12510DBC15077BE463FFF4FED4AAC0BB555BE3A6C1B0C6B47B1BC3773BF7E8C6F62901228F8C28CBB18A55AE31341000A650196F931C77A57F2DDF463E5E9EC144B777DE62AAAB8A8628AC376D282D6ED3864E67982428EBC831D14348F6F2F9193B5045AF2767164E1DFC967C1FB3F2E55A4BD1BFFE83B9C80D052B985D182EA0ADB2A3B7313D3FE14C8484B1E052588B9B7D2BBD2DF016199ECD06E1557CD0915B3353BBB64E0EC377FD028370DF92B52C7891428CDC67EB6184B523D1DB246C32F63078490F00EF8D647D148D47954515E2327CFEF98C582664B4C0F6CC41659";
|
||||
DHStandardGroups.rfc5114_2048_256_q = "8CF83642A709A097B447997640129DA299B1A47D1EB3750BA308B0FE64F5FBD3";
|
||||
string text23 = DHStandardGroups.rfc5114_2048_256_p;
|
||||
string text24 = DHStandardGroups.rfc5114_2048_256_g;
|
||||
string text25 = DHStandardGroups.rfc5114_2048_256_q;
|
||||
DHStandardGroups.rfc5114_2048_256 = DHStandardGroups.FromPGQ(text23, text24, text25);
|
||||
DHStandardGroups.rfc5996_768 = DHStandardGroups.rfc4306_768;
|
||||
DHStandardGroups.rfc5996_1024 = DHStandardGroups.rfc4306_1024;
|
||||
DHStandardGroups.rfc7919_ffdhe2048_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B423861285C97FFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc7919_ffdhe2048 = DHStandardGroups.Rfc7919Parameters(DHStandardGroups.rfc7919_ffdhe2048_p, 225);
|
||||
DHStandardGroups.rfc7919_ffdhe3072_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE130985139270B4130C93BC437944F4FD4452E2D74DD364F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0DABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF3C1B20EE3FD59D7C25E41D2B66C62E37FFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc7919_ffdhe3072 = DHStandardGroups.Rfc7919Parameters(DHStandardGroups.rfc7919_ffdhe3072_p, 275);
|
||||
DHStandardGroups.rfc7919_ffdhe4096_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE130985139270B4130C93BC437944F4FD4452E2D74DD364F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0DABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB7930E9E4E58857B6AC7D5F42D69F6D187763CF1D5503400487F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832A907600A918130C46DC778F971AD0038092999A333CB8B7A1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E655F6AFFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc7919_ffdhe4096 = DHStandardGroups.Rfc7919Parameters(DHStandardGroups.rfc7919_ffdhe4096_p, 325);
|
||||
DHStandardGroups.rfc7919_ffdhe6144_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE130985139270B4130C93BC437944F4FD4452E2D74DD364F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0DABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB7930E9E4E58857B6AC7D5F42D69F6D187763CF1D5503400487F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832A907600A918130C46DC778F971AD0038092999A333CB8B7A1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E0DD9020BFD64B645036C7A4E677D2C38532A3A23BA4442CAF53EA63BB454329B7624C8917BDD64B1C0FD4CB38E8C334C701C3ACDAD0657FCCFEC719B1F5C3E4E46041F388147FB4CFDB477A52471F7A9A96910B855322EDB6340D8A00EF092350511E30ABEC1FFF9E3A26E7FB29F8C183023C3587E38DA0077D9B4763E4E4B94B2BBC194C6651E77CAF992EEAAC0232A281BF6B3A739C1226116820AE8DB5847A67CBEF9C9091B462D538CD72B03746AE77F5E62292C311562A846505DC82DB854338AE49F5235C95B91178CCF2DD5CACEF403EC9D1810C6272B045B3B71F9DC6B80D63FDD4A8E9ADB1E6962A69526D43161C1A41D570D7938DAD4A40E329CD0E40E65FFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc7919_ffdhe6144 = DHStandardGroups.Rfc7919Parameters(DHStandardGroups.rfc7919_ffdhe6144_p, 375);
|
||||
DHStandardGroups.rfc7919_ffdhe8192_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE130985139270B4130C93BC437944F4FD4452E2D74DD364F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0DABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB7930E9E4E58857B6AC7D5F42D69F6D187763CF1D5503400487F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832A907600A918130C46DC778F971AD0038092999A333CB8B7A1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E0DD9020BFD64B645036C7A4E677D2C38532A3A23BA4442CAF53EA63BB454329B7624C8917BDD64B1C0FD4CB38E8C334C701C3ACDAD0657FCCFEC719B1F5C3E4E46041F388147FB4CFDB477A52471F7A9A96910B855322EDB6340D8A00EF092350511E30ABEC1FFF9E3A26E7FB29F8C183023C3587E38DA0077D9B4763E4E4B94B2BBC194C6651E77CAF992EEAAC0232A281BF6B3A739C1226116820AE8DB5847A67CBEF9C9091B462D538CD72B03746AE77F5E62292C311562A846505DC82DB854338AE49F5235C95B91178CCF2DD5CACEF403EC9D1810C6272B045B3B71F9DC6B80D63FDD4A8E9ADB1E6962A69526D43161C1A41D570D7938DAD4A40E329CCFF46AAA36AD004CF600C8381E425A31D951AE64FDB23FCEC9509D43687FEB69EDD1CC5E0B8CC3BDF64B10EF86B63142A3AB8829555B2F747C932665CB2C0F1CC01BD70229388839D2AF05E454504AC78B7582822846C0BA35C35F5C59160CC046FD8251541FC68C9C86B022BB7099876A460E7451A8A93109703FEE1C217E6C3826E52C51AA691E0E423CFC99E9E31650C1217B624816CDAD9A95F9D5B8019488D9C0A0A1FE3075A577E23183F81D4A3F2FA4571EFC8CE0BA8A4FE8B6855DFE72B0A66EDED2FBABFBE58A30FAFABE1C5D71A87E2F741EF8C1FE86FEA6BBFDE530677F0D97D11D49F7A8443D0822E506A9F4614E011E2A94838FF88CD68C8BB7C5C6424CFFFFFFFFFFFFFFFF";
|
||||
DHStandardGroups.rfc7919_ffdhe8192 = DHStandardGroups.Rfc7919Parameters(DHStandardGroups.rfc7919_ffdhe8192_p, 400);
|
||||
}
|
||||
|
||||
// Token: 0x0400694F RID: 26959
|
||||
[Token(Token = "0x400694F")]
|
||||
private static readonly string rfc2409_768_p = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF";
|
||||
|
||||
// Token: 0x04006950 RID: 26960
|
||||
[Token(Token = "0x4006950")]
|
||||
private static readonly string rfc2409_768_g = "02";
|
||||
|
||||
// Token: 0x04006951 RID: 26961
|
||||
[Token(Token = "0x4006951")]
|
||||
public static readonly DHParameters rfc2409_768;
|
||||
|
||||
// Token: 0x04006952 RID: 26962
|
||||
[Token(Token = "0x4006952")]
|
||||
private static readonly string rfc2409_1024_p;
|
||||
|
||||
// Token: 0x04006953 RID: 26963
|
||||
[Token(Token = "0x4006953")]
|
||||
private static readonly string rfc2409_1024_g;
|
||||
|
||||
// Token: 0x04006954 RID: 26964
|
||||
[Token(Token = "0x4006954")]
|
||||
public static readonly DHParameters rfc2409_1024;
|
||||
|
||||
// Token: 0x04006955 RID: 26965
|
||||
[Token(Token = "0x4006955")]
|
||||
private static readonly string rfc3526_1536_p;
|
||||
|
||||
// Token: 0x04006956 RID: 26966
|
||||
[Token(Token = "0x4006956")]
|
||||
private static readonly string rfc3526_1536_g;
|
||||
|
||||
// Token: 0x04006957 RID: 26967
|
||||
[Token(Token = "0x4006957")]
|
||||
public static readonly DHParameters rfc3526_1536;
|
||||
|
||||
// Token: 0x04006958 RID: 26968
|
||||
[Token(Token = "0x4006958")]
|
||||
private static readonly string rfc3526_2048_p;
|
||||
|
||||
// Token: 0x04006959 RID: 26969
|
||||
[Token(Token = "0x4006959")]
|
||||
private static readonly string rfc3526_2048_g;
|
||||
|
||||
// Token: 0x0400695A RID: 26970
|
||||
[Token(Token = "0x400695A")]
|
||||
public static readonly DHParameters rfc3526_2048;
|
||||
|
||||
// Token: 0x0400695B RID: 26971
|
||||
[Token(Token = "0x400695B")]
|
||||
private static readonly string rfc3526_3072_p;
|
||||
|
||||
// Token: 0x0400695C RID: 26972
|
||||
[Token(Token = "0x400695C")]
|
||||
private static readonly string rfc3526_3072_g;
|
||||
|
||||
// Token: 0x0400695D RID: 26973
|
||||
[Token(Token = "0x400695D")]
|
||||
public static readonly DHParameters rfc3526_3072;
|
||||
|
||||
// Token: 0x0400695E RID: 26974
|
||||
[Token(Token = "0x400695E")]
|
||||
private static readonly string rfc3526_4096_p;
|
||||
|
||||
// Token: 0x0400695F RID: 26975
|
||||
[Token(Token = "0x400695F")]
|
||||
private static readonly string rfc3526_4096_g;
|
||||
|
||||
// Token: 0x04006960 RID: 26976
|
||||
[Token(Token = "0x4006960")]
|
||||
public static readonly DHParameters rfc3526_4096;
|
||||
|
||||
// Token: 0x04006961 RID: 26977
|
||||
[Token(Token = "0x4006961")]
|
||||
private static readonly string rfc3526_6144_p;
|
||||
|
||||
// Token: 0x04006962 RID: 26978
|
||||
[Token(Token = "0x4006962")]
|
||||
private static readonly string rfc3526_6144_g;
|
||||
|
||||
// Token: 0x04006963 RID: 26979
|
||||
[Token(Token = "0x4006963")]
|
||||
public static readonly DHParameters rfc3526_6144;
|
||||
|
||||
// Token: 0x04006964 RID: 26980
|
||||
[Token(Token = "0x4006964")]
|
||||
private static readonly string rfc3526_8192_p;
|
||||
|
||||
// Token: 0x04006965 RID: 26981
|
||||
[Token(Token = "0x4006965")]
|
||||
private static readonly string rfc3526_8192_g;
|
||||
|
||||
// Token: 0x04006966 RID: 26982
|
||||
[Token(Token = "0x4006966")]
|
||||
public static readonly DHParameters rfc3526_8192;
|
||||
|
||||
// Token: 0x04006967 RID: 26983
|
||||
[Token(Token = "0x4006967")]
|
||||
public static readonly DHParameters rfc4306_768;
|
||||
|
||||
// Token: 0x04006968 RID: 26984
|
||||
[Token(Token = "0x4006968")]
|
||||
public static readonly DHParameters rfc4306_1024;
|
||||
|
||||
// Token: 0x04006969 RID: 26985
|
||||
[Token(Token = "0x4006969")]
|
||||
private static readonly string rfc5114_1024_160_p;
|
||||
|
||||
// Token: 0x0400696A RID: 26986
|
||||
[Token(Token = "0x400696A")]
|
||||
private static readonly string rfc5114_1024_160_g;
|
||||
|
||||
// Token: 0x0400696B RID: 26987
|
||||
[Token(Token = "0x400696B")]
|
||||
private static readonly string rfc5114_1024_160_q;
|
||||
|
||||
// Token: 0x0400696C RID: 26988
|
||||
[Token(Token = "0x400696C")]
|
||||
[Obsolete]
|
||||
public static readonly DHParameters rfc5114_1024_160;
|
||||
|
||||
// Token: 0x0400696D RID: 26989
|
||||
[Token(Token = "0x400696D")]
|
||||
private static readonly string rfc5114_2048_224_p;
|
||||
|
||||
// Token: 0x0400696E RID: 26990
|
||||
[Token(Token = "0x400696E")]
|
||||
private static readonly string rfc5114_2048_224_g;
|
||||
|
||||
// Token: 0x0400696F RID: 26991
|
||||
[Token(Token = "0x400696F")]
|
||||
private static readonly string rfc5114_2048_224_q;
|
||||
|
||||
// Token: 0x04006970 RID: 26992
|
||||
[Token(Token = "0x4006970")]
|
||||
[Obsolete]
|
||||
public static readonly DHParameters rfc5114_2048_224;
|
||||
|
||||
// Token: 0x04006971 RID: 26993
|
||||
[Token(Token = "0x4006971")]
|
||||
private static readonly string rfc5114_2048_256_p;
|
||||
|
||||
// Token: 0x04006972 RID: 26994
|
||||
[Token(Token = "0x4006972")]
|
||||
private static readonly string rfc5114_2048_256_g;
|
||||
|
||||
// Token: 0x04006973 RID: 26995
|
||||
[Token(Token = "0x4006973")]
|
||||
private static readonly string rfc5114_2048_256_q;
|
||||
|
||||
// Token: 0x04006974 RID: 26996
|
||||
[Token(Token = "0x4006974")]
|
||||
[Obsolete]
|
||||
public static readonly DHParameters rfc5114_2048_256;
|
||||
|
||||
// Token: 0x04006975 RID: 26997
|
||||
[Token(Token = "0x4006975")]
|
||||
public static readonly DHParameters rfc5996_768;
|
||||
|
||||
// Token: 0x04006976 RID: 26998
|
||||
[Token(Token = "0x4006976")]
|
||||
public static readonly DHParameters rfc5996_1024;
|
||||
|
||||
// Token: 0x04006977 RID: 26999
|
||||
[Token(Token = "0x4006977")]
|
||||
private static readonly string rfc7919_ffdhe2048_p;
|
||||
|
||||
// Token: 0x04006978 RID: 27000
|
||||
[Token(Token = "0x4006978")]
|
||||
public static readonly DHParameters rfc7919_ffdhe2048;
|
||||
|
||||
// Token: 0x04006979 RID: 27001
|
||||
[Token(Token = "0x4006979")]
|
||||
private static readonly string rfc7919_ffdhe3072_p;
|
||||
|
||||
// Token: 0x0400697A RID: 27002
|
||||
[Token(Token = "0x400697A")]
|
||||
public static readonly DHParameters rfc7919_ffdhe3072;
|
||||
|
||||
// Token: 0x0400697B RID: 27003
|
||||
[Token(Token = "0x400697B")]
|
||||
private static readonly string rfc7919_ffdhe4096_p;
|
||||
|
||||
// Token: 0x0400697C RID: 27004
|
||||
[Token(Token = "0x400697C")]
|
||||
public static readonly DHParameters rfc7919_ffdhe4096;
|
||||
|
||||
// Token: 0x0400697D RID: 27005
|
||||
[Token(Token = "0x400697D")]
|
||||
private static readonly string rfc7919_ffdhe6144_p;
|
||||
|
||||
// Token: 0x0400697E RID: 27006
|
||||
[Token(Token = "0x400697E")]
|
||||
public static readonly DHParameters rfc7919_ffdhe6144;
|
||||
|
||||
// Token: 0x0400697F RID: 27007
|
||||
[Token(Token = "0x400697F")]
|
||||
private static readonly string rfc7919_ffdhe8192_p;
|
||||
|
||||
// Token: 0x04006980 RID: 27008
|
||||
[Token(Token = "0x4006980")]
|
||||
public static readonly DHParameters rfc7919_ffdhe8192;
|
||||
}
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x0200172B RID: 5931
|
||||
[Token(Token = "0x200172B")]
|
||||
[StructLayout(3)]
|
||||
public class ECDHBasicAgreement : IBasicAgreement
|
||||
{
|
||||
// Token: 0x0600A063 RID: 41059 RVA: 0x00254380 File Offset: 0x00252580
|
||||
[Token(Token = "0x600A063")]
|
||||
[Address(RVA = "0x6581D0", Offset = "0x656BD0", VA = "0x1806581D0", Slot = "7")]
|
||||
public virtual void Init(ICipherParameters parameters)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (parameters != 0 && ((parameters != 0 && (parameters == 0 || parameters == 0)) || (parameters != 0 && parameters == 0)));
|
||||
this.privKey = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A064 RID: 41060 RVA: 0x002543B8 File Offset: 0x002525B8
|
||||
[Token(Token = "0x600A064")]
|
||||
[Address(RVA = "0x658180", Offset = "0x656B80", VA = "0x180658180", Slot = "8")]
|
||||
public virtual int GetFieldSize()
|
||||
{
|
||||
string text = this.privKey.parameters.curve.ToString();
|
||||
text += 0;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A065 RID: 41061 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A065")]
|
||||
[Address(RVA = "0x657E90", Offset = "0x656890", VA = "0x180657E90", Slot = "9")]
|
||||
public virtual BigInteger CalculateAgreement(ICipherParameters pubKey)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A066 RID: 41062 RVA: 0x002543E4 File Offset: 0x002525E4
|
||||
[Token(Token = "0x600A066")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public ECDHBasicAgreement()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006981 RID: 27009
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006981")]
|
||||
protected internal ECPrivateKeyParameters privKey;
|
||||
}
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x0200172C RID: 5932
|
||||
[Token(Token = "0x200172C")]
|
||||
[StructLayout(3)]
|
||||
public class ECDHCBasicAgreement : IBasicAgreement
|
||||
{
|
||||
// Token: 0x0600A067 RID: 41063 RVA: 0x002543F8 File Offset: 0x002525F8
|
||||
[Token(Token = "0x600A067")]
|
||||
[Address(RVA = "0x658590", Offset = "0x656F90", VA = "0x180658590", Slot = "7")]
|
||||
public virtual void Init(ICipherParameters parameters)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (parameters != 0 && ((parameters != 0 && (parameters == 0 || parameters == 0)) || (parameters != 0 && parameters == 0)));
|
||||
this.privKey = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A068 RID: 41064 RVA: 0x00254430 File Offset: 0x00252630
|
||||
[Token(Token = "0x600A068")]
|
||||
[Address(RVA = "0x658180", Offset = "0x656B80", VA = "0x180658180", Slot = "8")]
|
||||
public virtual int GetFieldSize()
|
||||
{
|
||||
string text = this.privKey.parameters.curve.ToString();
|
||||
text += 0;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A069 RID: 41065 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A069")]
|
||||
[Address(RVA = "0x658330", Offset = "0x656D30", VA = "0x180658330", Slot = "9")]
|
||||
public virtual BigInteger CalculateAgreement(ICipherParameters pubKey)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A06A RID: 41066 RVA: 0x0025445C File Offset: 0x0025265C
|
||||
[Token(Token = "0x600A06A")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public ECDHCBasicAgreement()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006982 RID: 27010
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006982")]
|
||||
private ECPrivateKeyParameters privKey;
|
||||
}
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X9;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Kdf;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x0200172D RID: 5933
|
||||
[Token(Token = "0x200172D")]
|
||||
[StructLayout(3)]
|
||||
public class ECDHWithKdfBasicAgreement : ECDHBasicAgreement
|
||||
{
|
||||
// Token: 0x0600A06B RID: 41067 RVA: 0x00254470 File Offset: 0x00252670
|
||||
[Token(Token = "0x600A06B")]
|
||||
[Address(RVA = "0x658CA0", Offset = "0x6576A0", VA = "0x180658CA0")]
|
||||
public ECDHWithKdfBasicAgreement(string algorithm, IDerivationFunction kdf)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A06B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.ECDHWithKdfBasicAgreement::.ctor(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDerivationFunction)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_28:
|
||||
stloc:ArgumentNullException(var_1_32, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("kdf")))
|
||||
}
|
||||
|
||||
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: 0x0600A06C RID: 41068 RVA: 0x002544B0 File Offset: 0x002526B0
|
||||
[Token(Token = "0x600A06C")]
|
||||
[Address(RVA = "0x658AF0", Offset = "0x6574F0", VA = "0x180658AF0", Slot = "9")]
|
||||
public override BigInteger CalculateAgreement(ICipherParameters pubKey)
|
||||
{
|
||||
BigInteger bigInteger = base.CalculateAgreement(pubKey);
|
||||
int defaultKeySize = GeneratorUtilities.GetDefaultKeySize(this.algorithm);
|
||||
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(this.algorithm);
|
||||
int byteLength = X9IntegerConverter.GetByteLength(this.privKey.parameters.curve);
|
||||
byte[] array = X9IntegerConverter.IntegerToBytes(bigInteger, byteLength);
|
||||
DHKdfParameters dhkdfParameters;
|
||||
dhkdfParameters.z = array;
|
||||
int num = 0;
|
||||
dhkdfParameters.extraInfo = num;
|
||||
dhkdfParameters.algorithm = derObjectIdentifier;
|
||||
dhkdfParameters.keySize = defaultKeySize;
|
||||
IDerivationFunction derivationFunction = this.kdf;
|
||||
byte[] array2 = new byte[0];
|
||||
IDerivationFunction derivationFunction2 = this.kdf;
|
||||
int length = array2.Length;
|
||||
return new BigInteger(1, array2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A06D RID: 41069 RVA: 0x00254550 File Offset: 0x00252750
|
||||
[Token(Token = "0x600A06D")]
|
||||
[Address(RVA = "0x658AB0", Offset = "0x6574B0", VA = "0x180658AB0")]
|
||||
private byte[] BigIntToBytes(BigInteger r)
|
||||
{
|
||||
int byteLength = X9IntegerConverter.GetByteLength(this.privKey.parameters.curve);
|
||||
return X9IntegerConverter.IntegerToBytes(r, byteLength);
|
||||
}
|
||||
|
||||
// Token: 0x04006983 RID: 27011
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006983")]
|
||||
private readonly string algorithm;
|
||||
|
||||
// Token: 0x04006984 RID: 27012
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006984")]
|
||||
private readonly IDerivationFunction kdf;
|
||||
}
|
||||
}
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x0200172E RID: 5934
|
||||
[Token(Token = "0x200172E")]
|
||||
[StructLayout(3)]
|
||||
public class ECMqvBasicAgreement : IBasicAgreement
|
||||
{
|
||||
// Token: 0x0600A06E RID: 41070 RVA: 0x00254580 File Offset: 0x00252780
|
||||
[Token(Token = "0x600A06E")]
|
||||
[Address(RVA = "0x659370", Offset = "0x657D70", VA = "0x180659370", Slot = "7")]
|
||||
public virtual void Init(ICipherParameters parameters)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (parameters != 0 && ((parameters != 0 && (parameters == 0 || parameters == 0)) || (parameters != 0 && parameters == 0)));
|
||||
this.privParams = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A06F RID: 41071 RVA: 0x002545B8 File Offset: 0x002527B8
|
||||
[Token(Token = "0x600A06F")]
|
||||
[Address(RVA = "0x659310", Offset = "0x657D10", VA = "0x180659310", Slot = "8")]
|
||||
public virtual int GetFieldSize()
|
||||
{
|
||||
string text = this.privParams.ToString().m_stringLength.ToString();
|
||||
text += 0;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A070 RID: 41072 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A070")]
|
||||
[Address(RVA = "0x658D70", Offset = "0x657770", VA = "0x180658D70", Slot = "9")]
|
||||
public virtual BigInteger CalculateAgreement(ICipherParameters pubKey)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A071 RID: 41073 RVA: 0x002545E4 File Offset: 0x002527E4
|
||||
[Token(Token = "0x600A071")]
|
||||
[Address(RVA = "0x659000", Offset = "0x657A00", VA = "0x180659000")]
|
||||
private static ECPoint CalculateMqvAgreement(ECDomainParameters parameters, ECPrivateKeyParameters d1U, ECPrivateKeyParameters d2U, ECPublicKeyParameters Q2U, ECPublicKeyParameters Q1V, ECPublicKeyParameters Q2V)
|
||||
{
|
||||
BigInteger n = parameters.n;
|
||||
int num = 0;
|
||||
int num2 = n.BitLength;
|
||||
num2++;
|
||||
num2 -= num;
|
||||
BigInteger bigInteger = BigInteger.One.ShiftLeft(num2);
|
||||
ECCurve curve = parameters.curve;
|
||||
ECPoint q = Q2U.q;
|
||||
string text = ECAlgorithms.CleanPoint(curve, q).CurveCoordinateSystem.ToString();
|
||||
BigInteger bigInteger3;
|
||||
BigInteger bigInteger2 = bigInteger3.SetBit(num2);
|
||||
BigInteger bigInteger4 = d1U.d.Multiply(bigInteger2);
|
||||
BigInteger bigInteger6;
|
||||
BigInteger bigInteger5 = bigInteger6.Mod(n);
|
||||
ECPoint ecpoint;
|
||||
string text2 = ecpoint.CurveCoordinateSystem.ToString();
|
||||
BigInteger bigInteger8;
|
||||
BigInteger bigInteger7 = bigInteger8.SetBit(num2);
|
||||
BigInteger bigInteger9 = parameters.h.Multiply(bigInteger5).Mod(n);
|
||||
BigInteger bigInteger10 = bigInteger7.Multiply(bigInteger9).Mod(n);
|
||||
ECPoint ecpoint2;
|
||||
return ECAlgorithms.SumOfTwoMultiplies(ecpoint2, bigInteger10, ecpoint, bigInteger9);
|
||||
}
|
||||
|
||||
// Token: 0x0600A072 RID: 41074 RVA: 0x002546B0 File Offset: 0x002528B0
|
||||
[Token(Token = "0x600A072")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public ECMqvBasicAgreement()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006985 RID: 27013
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006985")]
|
||||
protected internal MqvPrivateParameters privParams;
|
||||
}
|
||||
}
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X9;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Kdf;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x0200172F RID: 5935
|
||||
[Token(Token = "0x200172F")]
|
||||
[StructLayout(3)]
|
||||
public class ECMqvWithKdfBasicAgreement : ECMqvBasicAgreement
|
||||
{
|
||||
// Token: 0x0600A073 RID: 41075 RVA: 0x002546C4 File Offset: 0x002528C4
|
||||
[Token(Token = "0x600A073")]
|
||||
[Address(RVA = "0x6596F0", Offset = "0x6580F0", VA = "0x1806596F0")]
|
||||
public ECMqvWithKdfBasicAgreement(string algorithm, IDerivationFunction kdf)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A073)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.ECMqvWithKdfBasicAgreement::.ctor(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDerivationFunction)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_28:
|
||||
stloc:ArgumentNullException(var_1_32, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("kdf")))
|
||||
}
|
||||
|
||||
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: 0x0600A074 RID: 41076 RVA: 0x00254704 File Offset: 0x00252904
|
||||
[Token(Token = "0x600A074")]
|
||||
[Address(RVA = "0x659530", Offset = "0x657F30", VA = "0x180659530", Slot = "9")]
|
||||
public override BigInteger CalculateAgreement(ICipherParameters pubKey)
|
||||
{
|
||||
BigInteger bigInteger = base.CalculateAgreement(pubKey);
|
||||
int defaultKeySize = GeneratorUtilities.GetDefaultKeySize(this.algorithm);
|
||||
DerObjectIdentifier derObjectIdentifier = new DerObjectIdentifier(this.algorithm);
|
||||
MqvPrivateParameters privParams = this.privParams;
|
||||
string text = privParams.ToString();
|
||||
ECPrivateKeyParameters staticPrivateKey = privParams.staticPrivateKey;
|
||||
int num;
|
||||
byte[] array = X9IntegerConverter.IntegerToBytes(bigInteger, num);
|
||||
DHKdfParameters dhkdfParameters;
|
||||
dhkdfParameters.z = array;
|
||||
int num2 = 0;
|
||||
dhkdfParameters.extraInfo = num2;
|
||||
dhkdfParameters.algorithm = derObjectIdentifier;
|
||||
dhkdfParameters.keySize = defaultKeySize;
|
||||
IDerivationFunction derivationFunction = this.kdf;
|
||||
byte[] array2 = new byte[0];
|
||||
IDerivationFunction derivationFunction2 = this.kdf;
|
||||
int length = array2.Length;
|
||||
return new BigInteger(1, array2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A075 RID: 41077 RVA: 0x002547A8 File Offset: 0x002529A8
|
||||
[Token(Token = "0x600A075")]
|
||||
[Address(RVA = "0x6594D0", Offset = "0x657ED0", VA = "0x1806594D0")]
|
||||
private byte[] BigIntToBytes(BigInteger r)
|
||||
{
|
||||
MqvPrivateParameters privParams = this.privParams;
|
||||
string text = privParams.ToString();
|
||||
ECPrivateKeyParameters staticPrivateKey = privParams.staticPrivateKey;
|
||||
int num;
|
||||
return X9IntegerConverter.IntegerToBytes(r, num);
|
||||
}
|
||||
|
||||
// Token: 0x04006986 RID: 27014
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006986")]
|
||||
private readonly string algorithm;
|
||||
|
||||
// Token: 0x04006987 RID: 27015
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006987")]
|
||||
private readonly IDerivationFunction kdf;
|
||||
}
|
||||
}
|
||||
+438
@@ -0,0 +1,438 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x0200173C RID: 5948
|
||||
[Token(Token = "0x200173C")]
|
||||
[StructLayout(3)]
|
||||
public class JPakeParticipant
|
||||
{
|
||||
// Token: 0x0600A0C6 RID: 41158 RVA: 0x00256144 File Offset: 0x00254344
|
||||
[Token(Token = "0x600A0C6")]
|
||||
[Address(RVA = "0x65AF50", Offset = "0x659950", VA = "0x18065AF50")]
|
||||
public JPakeParticipant(string participantId, char[] password)
|
||||
{
|
||||
JPakePrimeOrderGroup nist_ = JPakePrimeOrderGroups.NIST_3072;
|
||||
Sha256Digest sha256Digest = new Sha256Digest();
|
||||
SecureRandom secureRandom = new SecureRandom();
|
||||
}
|
||||
|
||||
// Token: 0x0600A0C7 RID: 41159 RVA: 0x00256164 File Offset: 0x00254364
|
||||
[Token(Token = "0x600A0C7")]
|
||||
[Address(RVA = "0x65B050", Offset = "0x659A50", VA = "0x18065B050")]
|
||||
public JPakeParticipant(string participantId, char[] password, JPakePrimeOrderGroup group)
|
||||
{
|
||||
Sha256Digest sha256Digest = new Sha256Digest();
|
||||
SecureRandom secureRandom = new SecureRandom();
|
||||
}
|
||||
|
||||
// Token: 0x0600A0C8 RID: 41160 RVA: 0x00256180 File Offset: 0x00254380
|
||||
[Token(Token = "0x600A0C8")]
|
||||
[Address(RVA = "0x65B100", Offset = "0x659B00", VA = "0x18065B100")]
|
||||
public JPakeParticipant(string participantId, char[] password, JPakePrimeOrderGroup group, IDigest digest, SecureRandom random)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0C8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeParticipant::.ctor(System.String,System.Char[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakePrimeOrderGroup,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A9:
|
||||
stloc:ArgumentNullException(var_6_B3, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("participantId")))
|
||||
}
|
||||
|
||||
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: 0x17001936 RID: 6454
|
||||
// (get) Token: 0x0600A0C9 RID: 41161 RVA: 0x00256244 File Offset: 0x00254444
|
||||
[Token(Token = "0x17001936")]
|
||||
public virtual int State
|
||||
{
|
||||
[Token(Token = "0x600A0C9")]
|
||||
[Address(RVA = "0x54D7F0", Offset = "0x54C1F0", VA = "0x18054D7F0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.state;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A0CA RID: 41162 RVA: 0x00256258 File Offset: 0x00254458
|
||||
[Token(Token = "0x600A0CA")]
|
||||
[Address(RVA = "0x659A80", Offset = "0x658480", VA = "0x180659A80", Slot = "5")]
|
||||
public virtual JPakeRound1Payload CreateRound1PayloadToSend()
|
||||
{
|
||||
int num = this.state;
|
||||
BigInteger bigInteger = this.q;
|
||||
SecureRandom secureRandom = this.random;
|
||||
BigInteger zero = JPakeUtilities.Zero;
|
||||
BigInteger one = JPakeUtilities.One;
|
||||
BigInteger bigInteger2 = bigInteger.Subtract(one);
|
||||
BigInteger bigInteger3 = BigIntegers.CreateRandomInRange(zero, bigInteger2, secureRandom);
|
||||
BigInteger bigInteger4 = this.q;
|
||||
SecureRandom secureRandom2 = this.random;
|
||||
this.x1 = bigInteger3;
|
||||
BigInteger one2 = JPakeUtilities.One;
|
||||
BigInteger bigInteger5 = bigInteger4.Subtract(one2);
|
||||
BigInteger bigInteger6 = BigIntegers.CreateRandomInRange(one2, bigInteger5, secureRandom2);
|
||||
BigInteger bigInteger7 = this.g;
|
||||
this.x2 = bigInteger6;
|
||||
BigInteger bigInteger8 = this.p;
|
||||
BigInteger bigInteger9 = this.x1;
|
||||
BigInteger bigInteger10 = bigInteger7.ModPow(bigInteger9, bigInteger8);
|
||||
BigInteger bigInteger11 = this.g;
|
||||
this.gx1 = bigInteger10;
|
||||
BigInteger bigInteger12 = this.p;
|
||||
BigInteger bigInteger13 = this.x2;
|
||||
BigInteger bigInteger14 = bigInteger11.ModPow(bigInteger13, bigInteger12);
|
||||
IDigest digest = this.digest;
|
||||
string text = this.participantId;
|
||||
BigInteger bigInteger15 = this.x1;
|
||||
BigInteger bigInteger16 = this.gx1;
|
||||
BigInteger bigInteger17 = this.g;
|
||||
BigInteger bigInteger18 = this.q;
|
||||
BigInteger bigInteger19 = this.p;
|
||||
this.gx2 = bigInteger14;
|
||||
SecureRandom secureRandom3 = this.random;
|
||||
BigInteger[] array = JPakeUtilities.CalculateZeroKnowledgeProof(bigInteger19, bigInteger18, bigInteger17, bigInteger16, bigInteger15, text, digest, secureRandom3);
|
||||
SecureRandom secureRandom4 = this.random;
|
||||
IDigest digest2 = this.digest;
|
||||
string text2 = this.participantId;
|
||||
BigInteger bigInteger20 = this.x2;
|
||||
BigInteger bigInteger21 = this.gx2;
|
||||
BigInteger bigInteger22 = this.g;
|
||||
BigInteger bigInteger23 = this.q;
|
||||
BigInteger[] array2 = JPakeUtilities.CalculateZeroKnowledgeProof(this.p, bigInteger23, bigInteger22, bigInteger21, bigInteger20, text2, digest2, secureRandom4);
|
||||
string text3 = this.participantId;
|
||||
BigInteger bigInteger24 = this.gx1;
|
||||
BigInteger bigInteger25 = this.gx2;
|
||||
int state_ROUND_1_CREATED = JPakeParticipant.STATE_ROUND_1_CREATED;
|
||||
this.state = state_ROUND_1_CREATED;
|
||||
return new JPakeRound1Payload(text3, bigInteger24, bigInteger25, array, array2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0CB RID: 41163 RVA: 0x00256420 File Offset: 0x00254620
|
||||
[Token(Token = "0x600A0CB")]
|
||||
[Address(RVA = "0x65A460", Offset = "0x658E60", VA = "0x18065A460", Slot = "6")]
|
||||
public virtual void ValidateRound1PayloadReceived(JPakeRound1Payload round1PayloadReceived)
|
||||
{
|
||||
int num = this.state;
|
||||
string text = round1PayloadReceived.ToString();
|
||||
this.partnerParticipantId = text;
|
||||
string text2 = round1PayloadReceived.ParticipantId;
|
||||
this.gx3 = text2;
|
||||
BigInteger bigInteger = round1PayloadReceived.Gx1;
|
||||
this.gx4 = bigInteger;
|
||||
BigInteger bigInteger2 = round1PayloadReceived.Gx2;
|
||||
BigInteger[] knowledgeProofForX = round1PayloadReceived.KnowledgeProofForX1;
|
||||
string text3 = this.participantId;
|
||||
string text4 = round1PayloadReceived.ToString();
|
||||
JPakeUtilities.ValidateParticipantIdsDiffer(text3, text4);
|
||||
BigInteger bigInteger3 = this.gx4;
|
||||
BigInteger bigInteger4 = this.p;
|
||||
string text5 = round1PayloadReceived.ToString();
|
||||
IDigest digest = this.digest;
|
||||
BigInteger bigInteger5 = this.p;
|
||||
BigInteger bigInteger6 = this.q;
|
||||
BigInteger bigInteger7 = this.g;
|
||||
BigInteger bigInteger8 = this.gx4;
|
||||
string text6 = round1PayloadReceived.ToString();
|
||||
IDigest digest2 = this.digest;
|
||||
JPakeUtilities.ValidateZeroKnowledgeProof(bigInteger5, bigInteger6, bigInteger7, bigInteger8, knowledgeProofForX, text6, digest2);
|
||||
int state_ROUND_1_VALIDATED = JPakeParticipant.STATE_ROUND_1_VALIDATED;
|
||||
this.state = state_ROUND_1_VALIDATED;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0CC RID: 41164 RVA: 0x00256510 File Offset: 0x00254710
|
||||
[Token(Token = "0x600A0CC")]
|
||||
[Address(RVA = "0x659DE0", Offset = "0x6587E0", VA = "0x180659DE0", Slot = "7")]
|
||||
public virtual JPakeRound2Payload CreateRound2PayloadToSend()
|
||||
{
|
||||
BigInteger bigInteger11;
|
||||
BigInteger[] array;
|
||||
string text2;
|
||||
for (;;)
|
||||
{
|
||||
int num = this.state;
|
||||
int num2 = this.state;
|
||||
BigInteger bigInteger = this.p;
|
||||
BigInteger bigInteger2 = this.gx1;
|
||||
BigInteger bigInteger3 = this.gx3;
|
||||
BigInteger bigInteger4 = this.gx4;
|
||||
BigInteger bigInteger5 = bigInteger2.Multiply(bigInteger3).Multiply(bigInteger4).Mod(bigInteger);
|
||||
BigInteger bigInteger6 = JPakeUtilities.CalculateS(this.password);
|
||||
BigInteger bigInteger7 = this.x2;
|
||||
BigInteger bigInteger8 = this.q;
|
||||
BigInteger bigInteger9 = bigInteger7.Multiply(bigInteger6).Mod(bigInteger8);
|
||||
BigInteger bigInteger10 = this.p;
|
||||
bigInteger11 = bigInteger5.ModPow(bigInteger9, bigInteger10);
|
||||
SecureRandom secureRandom = this.random;
|
||||
IDigest digest = this.digest;
|
||||
string text = this.participantId;
|
||||
BigInteger bigInteger12 = this.q;
|
||||
array = JPakeUtilities.CalculateZeroKnowledgeProof(this.p, bigInteger12, bigInteger5, bigInteger11, bigInteger9, text, digest, secureRandom);
|
||||
text2 = this.participantId;
|
||||
int state_ROUND_2_CREATED = JPakeParticipant.STATE_ROUND_2_CREATED;
|
||||
this.state = state_ROUND_2_CREATED;
|
||||
if (text2 != 0)
|
||||
{
|
||||
if ((ulong)1L == 0UL)
|
||||
{
|
||||
}
|
||||
if (bigInteger11 != 0)
|
||||
{
|
||||
if ((ulong)1L == 0UL)
|
||||
{
|
||||
}
|
||||
if (array != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
JPakeRound2Payload jpakeRound2Payload;
|
||||
jpakeRound2Payload.participantId = text2;
|
||||
jpakeRound2Payload.a = bigInteger11;
|
||||
BigInteger[] array2 = new BigInteger[array.Length];
|
||||
jpakeRound2Payload.knowledgeProofForX2s = array2;
|
||||
return jpakeRound2Payload;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0CD RID: 41165 RVA: 0x00256654 File Offset: 0x00254854
|
||||
[Token(Token = "0x600A0CD")]
|
||||
[Address(RVA = "0x65A7A0", Offset = "0x6591A0", VA = "0x18065A7A0", Slot = "8")]
|
||||
public virtual void ValidateRound2PayloadReceived(JPakeRound2Payload round2PayloadReceived)
|
||||
{
|
||||
int num = this.state;
|
||||
int num2 = this.state;
|
||||
BigInteger bigInteger = this.p;
|
||||
BigInteger bigInteger2 = this.gx3;
|
||||
BigInteger bigInteger3 = this.gx1;
|
||||
BigInteger bigInteger4 = this.gx2;
|
||||
BigInteger bigInteger5 = bigInteger2.Multiply(bigInteger3).Multiply(bigInteger4).Mod(bigInteger);
|
||||
string text = round2PayloadReceived.ParticipantId;
|
||||
this.b = text;
|
||||
BigInteger a = round2PayloadReceived.A;
|
||||
string text2 = this.participantId;
|
||||
string text3 = round2PayloadReceived.ToString();
|
||||
JPakeUtilities.ValidateParticipantIdsDiffer(text2, text3);
|
||||
string text4 = this.partnerParticipantId;
|
||||
string text5 = round2PayloadReceived.ToString();
|
||||
JPakeUtilities.ValidateParticipantIdsEqual(text4, text5);
|
||||
BigInteger bigInteger6 = this.p;
|
||||
string text6 = round2PayloadReceived.ToString();
|
||||
IDigest digest = this.digest;
|
||||
int state_ROUND_2_VALIDATED = JPakeParticipant.STATE_ROUND_2_VALIDATED;
|
||||
this.state = state_ROUND_2_VALIDATED;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0CE RID: 41166 RVA: 0x0025672C File Offset: 0x0025492C
|
||||
[Token(Token = "0x600A0CE")]
|
||||
[Address(RVA = "0x6597C0", Offset = "0x6581C0", VA = "0x1806597C0", Slot = "9")]
|
||||
public virtual BigInteger CalculateKeyingMaterial()
|
||||
{
|
||||
int num = this.state;
|
||||
int num2 = this.state;
|
||||
BigInteger bigInteger = JPakeUtilities.CalculateS(this.password);
|
||||
char[] array = this.password;
|
||||
int length = array.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(array, num3, length);
|
||||
BigInteger bigInteger2 = this.x2;
|
||||
int num4 = 0;
|
||||
BigInteger bigInteger3 = this.p;
|
||||
BigInteger bigInteger4 = this.q;
|
||||
BigInteger bigInteger5 = this.b;
|
||||
BigInteger bigInteger6 = this.gx4;
|
||||
this.password = num4;
|
||||
BigInteger bigInteger7 = bigInteger2.Multiply(bigInteger).Negate().Mod(bigInteger4);
|
||||
BigInteger bigInteger8 = bigInteger6.ModPow(bigInteger7, bigInteger3).Multiply(bigInteger5).ModPow(bigInteger2, bigInteger3);
|
||||
this.x1 = num4;
|
||||
this.x2 = num4;
|
||||
this.b = num4;
|
||||
int state_KEY_CALCULATED = JPakeParticipant.STATE_KEY_CALCULATED;
|
||||
this.state = state_KEY_CALCULATED;
|
||||
return bigInteger8;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0CF RID: 41167 RVA: 0x00256808 File Offset: 0x00254A08
|
||||
[Token(Token = "0x600A0CF")]
|
||||
[Address(RVA = "0x65A210", Offset = "0x658C10", VA = "0x18065A210", Slot = "10")]
|
||||
public virtual JPakeRound3Payload CreateRound3PayloadToSend(BigInteger keyingMaterial)
|
||||
{
|
||||
int num = this.state;
|
||||
int num2 = this.state;
|
||||
IDigest digest = this.digest;
|
||||
string text = this.participantId;
|
||||
string text2 = this.partnerParticipantId;
|
||||
BigInteger bigInteger = this.gx1;
|
||||
BigInteger bigInteger2 = this.gx2;
|
||||
BigInteger bigInteger3 = this.gx3;
|
||||
BigInteger bigInteger4 = this.gx4;
|
||||
BigInteger bigInteger5 = JPakeUtilities.CalculateMacTag(text, text2, bigInteger, bigInteger2, bigInteger3, bigInteger4, keyingMaterial, digest);
|
||||
string text3 = this.participantId;
|
||||
int state_ROUND_3_CREATED = JPakeParticipant.STATE_ROUND_3_CREATED;
|
||||
this.state = state_ROUND_3_CREATED;
|
||||
JPakeRound3Payload jpakeRound3Payload;
|
||||
jpakeRound3Payload.participantId = text3;
|
||||
jpakeRound3Payload.macTag = bigInteger5;
|
||||
return jpakeRound3Payload;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0D0 RID: 41168 RVA: 0x002568A4 File Offset: 0x00254AA4
|
||||
[Token(Token = "0x600A0D0")]
|
||||
[Address(RVA = "0x65AB30", Offset = "0x659530", VA = "0x18065AB30", Slot = "11")]
|
||||
public virtual void ValidateRound3PayloadReceived(JPakeRound3Payload round3PayloadReceived, BigInteger keyingMaterial)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0D0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeParticipant::ValidateRound3PayloadReceived(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeRound3Payload,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_CF:
|
||||
stloc:CryptoException(var_18_D9, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Partner MacTag validation failed. Therefore, the password, MAC, or digest algorithm of each participant does not match.")))
|
||||
}
|
||||
|
||||
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: 0x040069D6 RID: 27094
|
||||
[Token(Token = "0x40069D6")]
|
||||
public static readonly int STATE_INITIALIZED;
|
||||
|
||||
// Token: 0x040069D7 RID: 27095
|
||||
[Token(Token = "0x40069D7")]
|
||||
public static readonly int STATE_ROUND_1_CREATED;
|
||||
|
||||
// Token: 0x040069D8 RID: 27096
|
||||
[Token(Token = "0x40069D8")]
|
||||
public static readonly int STATE_ROUND_1_VALIDATED;
|
||||
|
||||
// Token: 0x040069D9 RID: 27097
|
||||
[Token(Token = "0x40069D9")]
|
||||
public static readonly int STATE_ROUND_2_CREATED;
|
||||
|
||||
// Token: 0x040069DA RID: 27098
|
||||
[Token(Token = "0x40069DA")]
|
||||
public static readonly int STATE_ROUND_2_VALIDATED;
|
||||
|
||||
// Token: 0x040069DB RID: 27099
|
||||
[Token(Token = "0x40069DB")]
|
||||
public static readonly int STATE_KEY_CALCULATED;
|
||||
|
||||
// Token: 0x040069DC RID: 27100
|
||||
[Token(Token = "0x40069DC")]
|
||||
public static readonly int STATE_ROUND_3_CREATED;
|
||||
|
||||
// Token: 0x040069DD RID: 27101
|
||||
[Token(Token = "0x40069DD")]
|
||||
public static readonly int STATE_ROUND_3_VALIDATED;
|
||||
|
||||
// Token: 0x040069DE RID: 27102
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069DE")]
|
||||
private string participantId;
|
||||
|
||||
// Token: 0x040069DF RID: 27103
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069DF")]
|
||||
private char[] password;
|
||||
|
||||
// Token: 0x040069E0 RID: 27104
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069E0")]
|
||||
private IDigest digest;
|
||||
|
||||
// Token: 0x040069E1 RID: 27105
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40069E1")]
|
||||
private readonly SecureRandom random;
|
||||
|
||||
// Token: 0x040069E2 RID: 27106
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40069E2")]
|
||||
private readonly BigInteger p;
|
||||
|
||||
// Token: 0x040069E3 RID: 27107
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40069E3")]
|
||||
private readonly BigInteger q;
|
||||
|
||||
// Token: 0x040069E4 RID: 27108
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40069E4")]
|
||||
private readonly BigInteger g;
|
||||
|
||||
// Token: 0x040069E5 RID: 27109
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40069E5")]
|
||||
private string partnerParticipantId;
|
||||
|
||||
// Token: 0x040069E6 RID: 27110
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40069E6")]
|
||||
private BigInteger x1;
|
||||
|
||||
// Token: 0x040069E7 RID: 27111
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x40069E7")]
|
||||
private BigInteger x2;
|
||||
|
||||
// Token: 0x040069E8 RID: 27112
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x40069E8")]
|
||||
private BigInteger gx1;
|
||||
|
||||
// Token: 0x040069E9 RID: 27113
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x40069E9")]
|
||||
private BigInteger gx2;
|
||||
|
||||
// Token: 0x040069EA RID: 27114
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x40069EA")]
|
||||
private BigInteger gx3;
|
||||
|
||||
// Token: 0x040069EB RID: 27115
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x40069EB")]
|
||||
private BigInteger gx4;
|
||||
|
||||
// Token: 0x040069EC RID: 27116
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x40069EC")]
|
||||
private BigInteger b;
|
||||
|
||||
// Token: 0x040069ED RID: 27117
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x40069ED")]
|
||||
private int state;
|
||||
}
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x0200173D RID: 5949
|
||||
[Token(Token = "0x200173D")]
|
||||
[StructLayout(3)]
|
||||
public class JPakePrimeOrderGroup
|
||||
{
|
||||
// Token: 0x0600A0D2 RID: 41170 RVA: 0x0025699C File Offset: 0x00254B9C
|
||||
[Token(Token = "0x600A0D2")]
|
||||
[Address(RVA = "0x65B8A0", Offset = "0x65A2A0", VA = "0x18065B8A0")]
|
||||
public JPakePrimeOrderGroup(BigInteger p, BigInteger q, BigInteger g)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A0D3 RID: 41171 RVA: 0x002569AC File Offset: 0x00254BAC
|
||||
[Token(Token = "0x600A0D3")]
|
||||
[Address(RVA = "0x65B430", Offset = "0x659E30", VA = "0x18065B430")]
|
||||
public JPakePrimeOrderGroup(BigInteger p, BigInteger q, BigInteger g, bool skipChecks)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0D3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakePrimeOrderGroup::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,System.Boolean)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A1:
|
||||
stloc:ArgumentException(var_6_AB, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("p must be prime")))
|
||||
}
|
||||
|
||||
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: 0x17001937 RID: 6455
|
||||
// (get) Token: 0x0600A0D4 RID: 41172 RVA: 0x00256A68 File Offset: 0x00254C68
|
||||
[Token(Token = "0x17001937")]
|
||||
public virtual BigInteger P
|
||||
{
|
||||
[Token(Token = "0x600A0D4")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.p;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001938 RID: 6456
|
||||
// (get) Token: 0x0600A0D5 RID: 41173 RVA: 0x00256A7C File Offset: 0x00254C7C
|
||||
[Token(Token = "0x17001938")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A0D5")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001939 RID: 6457
|
||||
// (get) Token: 0x0600A0D6 RID: 41174 RVA: 0x00256A90 File Offset: 0x00254C90
|
||||
[Token(Token = "0x17001939")]
|
||||
public virtual BigInteger G
|
||||
{
|
||||
[Token(Token = "0x600A0D6")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.g;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040069EE RID: 27118
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069EE")]
|
||||
private readonly BigInteger p;
|
||||
|
||||
// Token: 0x040069EF RID: 27119
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069EF")]
|
||||
private readonly BigInteger q;
|
||||
|
||||
// Token: 0x040069F0 RID: 27120
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069F0")]
|
||||
private readonly BigInteger g;
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x0200173E RID: 5950
|
||||
[Token(Token = "0x200173E")]
|
||||
[StructLayout(3)]
|
||||
public class JPakePrimeOrderGroups
|
||||
{
|
||||
// Token: 0x0600A0D7 RID: 41175 RVA: 0x00256AA4 File Offset: 0x00254CA4
|
||||
[Token(Token = "0x600A0D7")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public JPakePrimeOrderGroups()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A0D8 RID: 41176 RVA: 0x00256AB8 File Offset: 0x00254CB8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A0D8")]
|
||||
[Address(RVA = "0x65B8C0", Offset = "0x65A2C0", VA = "0x18065B8C0")]
|
||||
static JPakePrimeOrderGroups()
|
||||
{
|
||||
BigInteger bigInteger = new BigInteger("fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669455d402251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b76b9950a5a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb83f6d3c51ec3023554135a169132f675f3ae2b61d72aeff22203199dd14801c7", 16);
|
||||
BigInteger bigInteger2 = new BigInteger("9760508f15230bccb292b982a2eb840bf0581cf5", 16);
|
||||
BigInteger bigInteger3 = new BigInteger("f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d0782675159578ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e13c167a8b547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243bcca4f1bea8519089a883dfe15ae59f06928b665e807b552564014c3bfecf492a", 16);
|
||||
ulong num;
|
||||
JPakePrimeOrderGroups.SUN_JCE_1024 = new JPakePrimeOrderGroup(bigInteger, bigInteger2, bigInteger3, num != 0UL);
|
||||
BigInteger bigInteger4 = new BigInteger("C196BA05AC29E1F9C3C72D56DFFC6154A033F1477AC88EC37F09BE6C5BB95F51C296DD20D1A28A067CCC4D4316A4BD1DCA55ED1066D438C35AEBAABF57E7DAE428782A95ECA1C143DB701FD48533A3C18F0FE23557EA7AE619ECACC7E0B51652A8776D02A425567DED36EABD90CA33A1E8D988F0BBB92D02D1D20290113BB562CE1FC856EEB7CDD92D33EEA6F410859B179E7E789A8F75F645FAE2E136D252BFFAFF89528945C1ABE705A38DBC2D364AADE99BE0D0AAD82E5320121496DC65B3930E38047294FF877831A16D5228418DE8AB275D7D75651CEFED65F78AFC3EA7FE4D79B35F62A0402A1117599ADAC7B269A59F353CF450E6982D3B1702D9CA83", 16);
|
||||
BigInteger bigInteger5 = new BigInteger("90EAF4D1AF0708B1B612FF35E0A2997EB9E9D263C9CE659528945C0D", 16);
|
||||
BigInteger bigInteger6 = new BigInteger("A59A749A11242C58C894E9E5A91804E8FA0AC64B56288F8D47D51B1EDC4D65444FECA0111D78F35FC9FDD4CB1F1B79A3BA9CBEE83A3F811012503C8117F98E5048B089E387AF6949BF8784EBD9EF45876F2E6A5A495BE64B6E770409494B7FEE1DBB1E4B2BC2A53D4F893D418B7159592E4FFFDF6969E91D770DAEBD0B5CB14C00AD68EC7DC1E5745EA55C706C4A1C5C88964E34D09DEB753AD418C1AD0F4FDFD049A955E5D78491C0B7A2F1575A008CCD727AB376DB6E695515B05BD412F5B8C2F4C77EE10DA48ABD53F5DD498927EE7B692BBBCDA2FB23A516C5B4533D73980B2A3B60E384ED200AE21B40D273651AD6060C13D97FD69AA13C5611A51B9085", 16);
|
||||
ulong num2;
|
||||
JPakePrimeOrderGroups.NIST_2048 = new JPakePrimeOrderGroup(bigInteger4, bigInteger5, bigInteger6, num2 != 0UL);
|
||||
BigInteger bigInteger7 = new BigInteger("90066455B5CFC38F9CAA4A48B4281F292C260FEEF01FD61037E56258A7795A1C7AD46076982CE6BB956936C6AB4DCFE05E6784586940CA544B9B2140E1EB523F009D20A7E7880E4E5BFA690F1B9004A27811CD9904AF70420EEFD6EA11EF7DA129F58835FF56B89FAA637BC9AC2EFAAB903402229F491D8D3485261CD068699B6BA58A1DDBBEF6DB51E8FE34E8A78E542D7BA351C21EA8D8F1D29F5D5D15939487E27F4416B0CA632C59EFD1B1EB66511A5A0FBF615B766C5862D0BD8A3FE7A0E0DA0FB2FE1FCB19E8F9996A8EA0FCCDE538175238FC8B0EE6F29AF7F642773EBE8CD5402415A01451A840476B2FCEB0E388D30D4B376C37FE401C2A2C2F941DAD179C540C1C8CE030D460C4D983BE9AB0B20F69144C1AE13F9383EA1C08504FB0BF321503EFE43488310DD8DC77EC5B8349B8BFE97C2C560EA878DE87C11E3D597F1FEA742D73EEC7F37BE43949EF1A0D15C3F3E3FC0A8335617055AC91328EC22B50FC15B941D3D1624CD88BC25F3E941FDDC6200689581BFEC416B4B2CB73", 16);
|
||||
BigInteger bigInteger8 = new BigInteger("CFA0478A54717B08CE64805B76E5B14249A77A4838469DF7F7DC987EFCCFB11D", 16);
|
||||
BigInteger bigInteger9 = new BigInteger("5E5CBA992E0A680D885EB903AEA78E4A45A469103D448EDE3B7ACCC54D521E37F84A4BDD5B06B0970CC2D2BBB715F7B82846F9A0C393914C792E6A923E2117AB805276A975AADB5261D91673EA9AAFFEECBFA6183DFCB5D3B7332AA19275AFA1F8EC0B60FB6F66CC23AE4870791D5982AAD1AA9485FD8F4A60126FEB2CF05DB8A7F0F09B3397F3937F2E90B9E5B9C9B6EFEF642BC48351C46FB171B9BFA9EF17A961CE96C7E7A7CC3D3D03DFAD1078BA21DA425198F07D2481622BCE45969D9C4D6063D72AB7A0F08B2F49A7CC6AF335E08C4720E31476B67299E231F8BD90B39AC3AE3BE0C6B6CACEF8289A2E2873D58E51E029CAFBD55E6841489AB66B5B4B9BA6E2F784660896AFF387D92844CCB8B69475496DE19DA2E58259B090489AC8E62363CDF82CFD8EF2A427ABCD65750B506F56DDE3B988567A88126B914D7828E2B63A6D7ED0747EC59E0E0A23CE7D8A74C1D2C2A7AFB6A29799620F00E11C33787F7DED3B30E1A22D09F1FBDA1ABBBFBF25CAE05A13F812E34563F99410E73B", 16);
|
||||
ulong num3;
|
||||
JPakePrimeOrderGroups.NIST_3072 = new JPakePrimeOrderGroup(bigInteger7, bigInteger8, bigInteger9, num3 != 0UL);
|
||||
}
|
||||
|
||||
// Token: 0x040069F1 RID: 27121
|
||||
[Token(Token = "0x40069F1")]
|
||||
public static readonly JPakePrimeOrderGroup SUN_JCE_1024;
|
||||
|
||||
// Token: 0x040069F2 RID: 27122
|
||||
[Token(Token = "0x40069F2")]
|
||||
public static readonly JPakePrimeOrderGroup NIST_2048;
|
||||
|
||||
// Token: 0x040069F3 RID: 27123
|
||||
[Token(Token = "0x40069F3")]
|
||||
public static readonly JPakePrimeOrderGroup NIST_3072;
|
||||
}
|
||||
}
|
||||
+137
@@ -0,0 +1,137 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x0200173F RID: 5951
|
||||
[Token(Token = "0x200173F")]
|
||||
[StructLayout(3)]
|
||||
public class JPakeRound1Payload
|
||||
{
|
||||
// Token: 0x0600A0D9 RID: 41177 RVA: 0x00256B74 File Offset: 0x00254D74
|
||||
[Token(Token = "0x600A0D9")]
|
||||
[Address(RVA = "0x65BB10", Offset = "0x65A510", VA = "0x18065BB10")]
|
||||
public JPakeRound1Payload(string participantId, BigInteger gx1, BigInteger gx2, BigInteger[] knowledgeProofForX1, BigInteger[] knowledgeProofForX2)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0D9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeRound1Payload::.ctor(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[],BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5E:
|
||||
stloc:ArgumentNullException(var_3_68, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("participantId")))
|
||||
}
|
||||
|
||||
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: 0x1700193A RID: 6458
|
||||
// (get) Token: 0x0600A0DA RID: 41178 RVA: 0x00256BEC File Offset: 0x00254DEC
|
||||
[Token(Token = "0x1700193A")]
|
||||
public virtual string ParticipantId
|
||||
{
|
||||
[Token(Token = "0x600A0DA")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.participantId;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700193B RID: 6459
|
||||
// (get) Token: 0x0600A0DB RID: 41179 RVA: 0x00256C00 File Offset: 0x00254E00
|
||||
[Token(Token = "0x1700193B")]
|
||||
public virtual BigInteger Gx1
|
||||
{
|
||||
[Token(Token = "0x600A0DB")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.gx1;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700193C RID: 6460
|
||||
// (get) Token: 0x0600A0DC RID: 41180 RVA: 0x00256C14 File Offset: 0x00254E14
|
||||
[Token(Token = "0x1700193C")]
|
||||
public virtual BigInteger Gx2
|
||||
{
|
||||
[Token(Token = "0x600A0DC")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.gx2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700193D RID: 6461
|
||||
// (get) Token: 0x0600A0DD RID: 41181 RVA: 0x00256C28 File Offset: 0x00254E28
|
||||
[Token(Token = "0x1700193D")]
|
||||
public virtual BigInteger[] KnowledgeProofForX1
|
||||
{
|
||||
[Token(Token = "0x600A0DD")]
|
||||
[Address(RVA = "0x65BDB0", Offset = "0x65A7B0", VA = "0x18065BDB0", Slot = "7")]
|
||||
get
|
||||
{
|
||||
BigInteger[] array = new BigInteger[this.knowledgeProofForX1.Length];
|
||||
BigInteger[] array2 = this.knowledgeProofForX1;
|
||||
int length = array2.Length;
|
||||
Array.Copy(array2, array, length);
|
||||
return array;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700193E RID: 6462
|
||||
// (get) Token: 0x0600A0DE RID: 41182 RVA: 0x00256C64 File Offset: 0x00254E64
|
||||
[Token(Token = "0x1700193E")]
|
||||
public virtual BigInteger[] KnowledgeProofForX2
|
||||
{
|
||||
[Token(Token = "0x600A0DE")]
|
||||
[Address(RVA = "0x65BE20", Offset = "0x65A820", VA = "0x18065BE20", Slot = "8")]
|
||||
get
|
||||
{
|
||||
BigInteger[] array = new BigInteger[this.knowledgeProofForX2.Length];
|
||||
BigInteger[] array2 = this.knowledgeProofForX2;
|
||||
int length = array2.Length;
|
||||
Array.Copy(array2, array, length);
|
||||
return array;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040069F4 RID: 27124
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069F4")]
|
||||
private readonly string participantId;
|
||||
|
||||
// Token: 0x040069F5 RID: 27125
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069F5")]
|
||||
private readonly BigInteger gx1;
|
||||
|
||||
// Token: 0x040069F6 RID: 27126
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069F6")]
|
||||
private readonly BigInteger gx2;
|
||||
|
||||
// Token: 0x040069F7 RID: 27127
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40069F7")]
|
||||
private readonly BigInteger[] knowledgeProofForX1;
|
||||
|
||||
// Token: 0x040069F8 RID: 27128
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40069F8")]
|
||||
private readonly BigInteger[] knowledgeProofForX2;
|
||||
}
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001740 RID: 5952
|
||||
[Token(Token = "0x2001740")]
|
||||
[StructLayout(3)]
|
||||
public class JPakeRound2Payload
|
||||
{
|
||||
// Token: 0x0600A0DF RID: 41183 RVA: 0x00256CA0 File Offset: 0x00254EA0
|
||||
[Token(Token = "0x600A0DF")]
|
||||
[Address(RVA = "0x65BE90", Offset = "0x65A890", VA = "0x18065BE90")]
|
||||
public JPakeRound2Payload(string participantId, BigInteger a, BigInteger[] knowledgeProofForX2s)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0DF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeRound2Payload::.ctor(System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4D:
|
||||
stloc:ArgumentNullException(var_3_57, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("participantId")))
|
||||
}
|
||||
|
||||
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: 0x1700193F RID: 6463
|
||||
// (get) Token: 0x0600A0E0 RID: 41184 RVA: 0x00256D04 File Offset: 0x00254F04
|
||||
[Token(Token = "0x1700193F")]
|
||||
public virtual string ParticipantId
|
||||
{
|
||||
[Token(Token = "0x600A0E0")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.participantId;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001940 RID: 6464
|
||||
// (get) Token: 0x0600A0E1 RID: 41185 RVA: 0x00256D18 File Offset: 0x00254F18
|
||||
[Token(Token = "0x17001940")]
|
||||
public virtual BigInteger A
|
||||
{
|
||||
[Token(Token = "0x600A0E1")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.a;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001941 RID: 6465
|
||||
// (get) Token: 0x0600A0E2 RID: 41186 RVA: 0x00256D2C File Offset: 0x00254F2C
|
||||
[Token(Token = "0x17001941")]
|
||||
public virtual BigInteger[] KnowledgeProofForX2s
|
||||
{
|
||||
[Token(Token = "0x600A0E2")]
|
||||
[Address(RVA = "0x65C040", Offset = "0x65AA40", VA = "0x18065C040", Slot = "6")]
|
||||
get
|
||||
{
|
||||
BigInteger[] array = new BigInteger[this.knowledgeProofForX2s.Length];
|
||||
BigInteger[] array2 = this.knowledgeProofForX2s;
|
||||
int length = array2.Length;
|
||||
Array.Copy(array2, array, length);
|
||||
return array;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040069F9 RID: 27129
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069F9")]
|
||||
private readonly string participantId;
|
||||
|
||||
// Token: 0x040069FA RID: 27130
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069FA")]
|
||||
private readonly BigInteger a;
|
||||
|
||||
// Token: 0x040069FB RID: 27131
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069FB")]
|
||||
private readonly BigInteger[] knowledgeProofForX2s;
|
||||
}
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001741 RID: 5953
|
||||
[Token(Token = "0x2001741")]
|
||||
[StructLayout(3)]
|
||||
public class JPakeRound3Payload
|
||||
{
|
||||
// Token: 0x0600A0E3 RID: 41187 RVA: 0x00256D68 File Offset: 0x00254F68
|
||||
[Token(Token = "0x600A0E3")]
|
||||
[Address(RVA = "0x3C39C0", Offset = "0x3C23C0", VA = "0x1803C39C0")]
|
||||
public JPakeRound3Payload(string participantId, BigInteger magTag)
|
||||
{
|
||||
this.participantId = participantId;
|
||||
this.macTag = magTag;
|
||||
}
|
||||
|
||||
// Token: 0x17001942 RID: 6466
|
||||
// (get) Token: 0x0600A0E4 RID: 41188 RVA: 0x00256D8C File Offset: 0x00254F8C
|
||||
[Token(Token = "0x17001942")]
|
||||
public virtual string ParticipantId
|
||||
{
|
||||
[Token(Token = "0x600A0E4")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.participantId;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001943 RID: 6467
|
||||
// (get) Token: 0x0600A0E5 RID: 41189 RVA: 0x00256DA0 File Offset: 0x00254FA0
|
||||
[Token(Token = "0x17001943")]
|
||||
public virtual BigInteger MacTag
|
||||
{
|
||||
[Token(Token = "0x600A0E5")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.macTag;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040069FC RID: 27132
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069FC")]
|
||||
private readonly string participantId;
|
||||
|
||||
// Token: 0x040069FD RID: 27133
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069FD")]
|
||||
private readonly BigInteger macTag;
|
||||
}
|
||||
}
|
||||
+413
@@ -0,0 +1,413 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake
|
||||
{
|
||||
// Token: 0x02001742 RID: 5954
|
||||
[Token(Token = "0x2001742")]
|
||||
[StructLayout(3)]
|
||||
public abstract class JPakeUtilities
|
||||
{
|
||||
// Token: 0x0600A0E6 RID: 41190 RVA: 0x00256DB4 File Offset: 0x00254FB4
|
||||
[Token(Token = "0x600A0E6")]
|
||||
[Address(RVA = "0x65CCF0", Offset = "0x65B6F0", VA = "0x18065CCF0")]
|
||||
public static BigInteger GenerateX1(BigInteger q, SecureRandom random)
|
||||
{
|
||||
BigInteger zero = JPakeUtilities.Zero;
|
||||
BigInteger one = JPakeUtilities.One;
|
||||
BigInteger bigInteger = q.Subtract(one);
|
||||
return BigIntegers.CreateRandomInRange(zero, bigInteger, random);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0E7 RID: 41191 RVA: 0x00256DE4 File Offset: 0x00254FE4
|
||||
[Token(Token = "0x600A0E7")]
|
||||
[Address(RVA = "0x65CD90", Offset = "0x65B790", VA = "0x18065CD90")]
|
||||
public static BigInteger GenerateX2(BigInteger q, SecureRandom random)
|
||||
{
|
||||
BigInteger one = JPakeUtilities.One;
|
||||
BigInteger bigInteger = q.Subtract(one);
|
||||
return BigIntegers.CreateRandomInRange(one, bigInteger, random);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0E8 RID: 41192 RVA: 0x00256E10 File Offset: 0x00255010
|
||||
[Token(Token = "0x600A0E8")]
|
||||
[Address(RVA = "0x65CA30", Offset = "0x65B430", VA = "0x18065CA30")]
|
||||
public static BigInteger CalculateS(char[] password)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
BigInteger bigInteger;
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0E9 RID: 41193 RVA: 0x00256E2C File Offset: 0x0025502C
|
||||
[Token(Token = "0x600A0E9")]
|
||||
[Address(RVA = "0x65C140", Offset = "0x65AB40", VA = "0x18065C140")]
|
||||
public static BigInteger CalculateGx(BigInteger p, BigInteger g, BigInteger x)
|
||||
{
|
||||
return g.ModPow(x, p);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0EA RID: 41194 RVA: 0x00256E48 File Offset: 0x00255048
|
||||
[Token(Token = "0x600A0EA")]
|
||||
[Address(RVA = "0x65C0E0", Offset = "0x65AAE0", VA = "0x18065C0E0")]
|
||||
public static BigInteger CalculateGA(BigInteger p, BigInteger gx1, BigInteger gx3, BigInteger gx4)
|
||||
{
|
||||
return gx1.Multiply(gx3).Multiply(gx4).Mod(p);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0EB RID: 41195 RVA: 0x00256E70 File Offset: 0x00255070
|
||||
[Token(Token = "0x600A0EB")]
|
||||
[Address(RVA = "0x65CAB0", Offset = "0x65B4B0", VA = "0x18065CAB0")]
|
||||
public static BigInteger CalculateX2s(BigInteger q, BigInteger x2, BigInteger s)
|
||||
{
|
||||
return x2.Multiply(s).Mod(q);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0EC RID: 41196 RVA: 0x00256E90 File Offset: 0x00255090
|
||||
[Token(Token = "0x600A0EC")]
|
||||
[Address(RVA = "0x65C0B0", Offset = "0x65AAB0", VA = "0x18065C0B0")]
|
||||
public static BigInteger CalculateA(BigInteger p, BigInteger q, BigInteger gA, BigInteger x2s)
|
||||
{
|
||||
return gA.ModPow(x2s, p);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0ED RID: 41197 RVA: 0x00256EAC File Offset: 0x002550AC
|
||||
[Token(Token = "0x600A0ED")]
|
||||
[Address(RVA = "0x65CAF0", Offset = "0x65B4F0", VA = "0x18065CAF0")]
|
||||
public static BigInteger[] CalculateZeroKnowledgeProof(BigInteger p, BigInteger q, BigInteger g, BigInteger gx, BigInteger x, string participantId, IDigest digest, SecureRandom random)
|
||||
{
|
||||
BigInteger zero = JPakeUtilities.Zero;
|
||||
BigInteger one = JPakeUtilities.One;
|
||||
BigInteger bigInteger = q.Subtract(one);
|
||||
BigInteger bigInteger3;
|
||||
BigInteger bigInteger2 = g.ModPow(bigInteger3, p);
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
if (bigInteger2 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger2;
|
||||
BigInteger bigInteger5;
|
||||
BigInteger bigInteger4 = bigInteger3.Subtract(bigInteger5).Mod(q);
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger4;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0EE RID: 41198 RVA: 0x00256F18 File Offset: 0x00255118
|
||||
[Token(Token = "0x600A0EE")]
|
||||
[Address(RVA = "0x65C170", Offset = "0x65AB70", VA = "0x18065C170")]
|
||||
private static BigInteger CalculateHashForZeroKnowledgeProof(BigInteger g, BigInteger gr, BigInteger gx, string participantId, IDigest digest)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(g);
|
||||
byte[] array2 = BigIntegers.AsUnsignedByteArray(gr);
|
||||
byte[] array3 = BigIntegers.AsUnsignedByteArray(gx);
|
||||
Encoding utf = Encoding.UTF8;
|
||||
byte[] array4;
|
||||
return new BigInteger(array4);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0EF RID: 41199 RVA: 0x00256F50 File Offset: 0x00255150
|
||||
[Token(Token = "0x600A0EF")]
|
||||
[Address(RVA = "0x65D420", Offset = "0x65BE20", VA = "0x18065D420")]
|
||||
public static void ValidateGx4(BigInteger gx4)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A0F0 RID: 41200 RVA: 0x00256F68 File Offset: 0x00255168
|
||||
[Token(Token = "0x600A0F0")]
|
||||
[Address(RVA = "0x65D370", Offset = "0x65BD70", VA = "0x18065D370")]
|
||||
public static void ValidateGa(BigInteger ga)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A0F1 RID: 41201 RVA: 0x00256F80 File Offset: 0x00255180
|
||||
[Token(Token = "0x600A0F1")]
|
||||
[Address(RVA = "0x65D880", Offset = "0x65C280", VA = "0x18065D880")]
|
||||
public static void ValidateZeroKnowledgeProof(BigInteger p, BigInteger q, BigInteger g, BigInteger gx, BigInteger[] zeroKnowledgeProof, string participantId, IDigest digest)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0F1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeUtilities::ValidateZeroKnowledgeProof(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[],System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_69:
|
||||
stloc:CryptoException(var_7_73, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Zero-knowledge proof validation failed")))
|
||||
}
|
||||
|
||||
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: 0x0600A0F2 RID: 41202 RVA: 0x00257004 File Offset: 0x00255204
|
||||
[Token(Token = "0x600A0F2")]
|
||||
[Address(RVA = "0x65C3D0", Offset = "0x65ADD0", VA = "0x18065C3D0")]
|
||||
public static BigInteger CalculateKeyingMaterial(BigInteger p, BigInteger q, BigInteger gx4, BigInteger x2, BigInteger s, BigInteger B)
|
||||
{
|
||||
BigInteger bigInteger2;
|
||||
BigInteger bigInteger = bigInteger2.Negate().Mod(q);
|
||||
BigInteger bigInteger3 = gx4.ModPow(bigInteger, p);
|
||||
BigInteger bigInteger4;
|
||||
return bigInteger4.ModPow(x2, p);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0F3 RID: 41203 RVA: 0x00257038 File Offset: 0x00255238
|
||||
[Token(Token = "0x600A0F3")]
|
||||
[Address(RVA = "0x65D660", Offset = "0x65C060", VA = "0x18065D660")]
|
||||
public static void ValidateParticipantIdsDiffer(string participantId1, string participantId2)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0F3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeUtilities::ValidateParticipantIdsDiffer(System.String,System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0B:
|
||||
stloc:CryptoException(var_0_20, newobj:CryptoException(CryptoException::.ctor, call:string(string::Concat, ldstr:string("Both participants are using the same participantId ("), ldloc:string(participantId1), ldstr:string("). This is not allowed. Each participant must use a unique participantId."))))
|
||||
}
|
||||
|
||||
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: 0x0600A0F4 RID: 41204 RVA: 0x00257068 File Offset: 0x00255268
|
||||
[Token(Token = "0x600A0F4")]
|
||||
[Address(RVA = "0x65D700", Offset = "0x65C100", VA = "0x18065D700")]
|
||||
public static void ValidateParticipantIdsEqual(string expectedParticipantId, string actualParticipantId)
|
||||
{
|
||||
if (expectedParticipantId.Equals(actualParticipantId))
|
||||
{
|
||||
return;
|
||||
}
|
||||
string[] array = new string[5];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A0F5 RID: 41205 RVA: 0x002570F4 File Offset: 0x002552F4
|
||||
[Token(Token = "0x600A0F5")]
|
||||
[Address(RVA = "0x65D5F0", Offset = "0x65BFF0", VA = "0x18065D5F0")]
|
||||
public static void ValidateNotNull(object obj, string description)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0F5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeUtilities::ValidateNotNull(System.Object,System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_05:
|
||||
stloc:ArgumentNullException(var_0_0B, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldloc:string(description)))
|
||||
}
|
||||
|
||||
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: 0x0600A0F6 RID: 41206 RVA: 0x0025710C File Offset: 0x0025530C
|
||||
[Token(Token = "0x600A0F6")]
|
||||
[Address(RVA = "0x65C600", Offset = "0x65B000", VA = "0x18065C600")]
|
||||
public static BigInteger CalculateMacTag(string participantId, string partnerParticipantId, BigInteger gx1, BigInteger gx2, BigInteger gx3, BigInteger gx4, BigInteger keyingMaterial, IDigest digest)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
byte[] array;
|
||||
KeyParameter keyParameter = new KeyParameter(array);
|
||||
HMac hmac;
|
||||
IDigest underlyingDigest = hmac.GetUnderlyingDigest();
|
||||
int num = 0;
|
||||
Arrays.Fill(array, (byte)num);
|
||||
JPakeUtilities.UpdateMac(hmac, "KC_1_U");
|
||||
JPakeUtilities.UpdateMac(hmac, participantId);
|
||||
JPakeUtilities.UpdateMac(hmac, partnerParticipantId);
|
||||
byte[] array2 = BigIntegers.AsUnsignedByteArray(gx1);
|
||||
JPakeUtilities.UpdateMac(hmac, array2);
|
||||
byte[] array3 = BigIntegers.AsUnsignedByteArray(gx2);
|
||||
JPakeUtilities.UpdateMac(hmac, array3);
|
||||
byte[] array4;
|
||||
JPakeUtilities.UpdateMac(hmac, array4);
|
||||
byte[] array5;
|
||||
JPakeUtilities.UpdateMac(hmac, array5);
|
||||
return new BigInteger(MacUtilities.DoFinal(hmac));
|
||||
}
|
||||
|
||||
// Token: 0x0600A0F7 RID: 41207 RVA: 0x002571A4 File Offset: 0x002553A4
|
||||
[Token(Token = "0x600A0F7")]
|
||||
[Address(RVA = "0x65C490", Offset = "0x65AE90", VA = "0x18065C490")]
|
||||
private static byte[] CalculateMacKey(BigInteger keyingMaterial, IDigest digest)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(keyingMaterial);
|
||||
JPakeUtilities.UpdateDigest(digest, array);
|
||||
Encoding utf = Encoding.UTF8;
|
||||
return DigestUtilities.DoFinal(digest);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0F8 RID: 41208 RVA: 0x002571D4 File Offset: 0x002553D4
|
||||
[Token(Token = "0x600A0F8")]
|
||||
[Address(RVA = "0x65D4D0", Offset = "0x65BED0", VA = "0x18065D4D0")]
|
||||
public static void ValidateMacTag(string participantId, string partnerParticipantId, BigInteger gx1, BigInteger gx2, BigInteger gx3, BigInteger gx4, BigInteger keyingMaterial, IDigest digest, BigInteger partnerMacTag)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0F8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.JPake.JPakeUtilities::ValidateMacTag(System.String,System.String,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_05:
|
||||
stloc:CryptoException(var_2_0F, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Partner MacTag validation failed. Therefore, the password, MAC, or digest algorithm of each participant does not match.")))
|
||||
}
|
||||
|
||||
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: 0x0600A0F9 RID: 41209 RVA: 0x002571F0 File Offset: 0x002553F0
|
||||
[Token(Token = "0x600A0F9")]
|
||||
[Address(RVA = "0x65D030", Offset = "0x65BA30", VA = "0x18065D030")]
|
||||
private static void UpdateDigest(IDigest digest, BigInteger bigInteger)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
|
||||
JPakeUtilities.UpdateDigest(digest, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0FA RID: 41210 RVA: 0x0025720C File Offset: 0x0025540C
|
||||
[Token(Token = "0x600A0FA")]
|
||||
[Address(RVA = "0x65D140", Offset = "0x65BB40", VA = "0x18065D140")]
|
||||
private static void UpdateDigest(IDigest digest, string str)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0FB RID: 41211 RVA: 0x00257228 File Offset: 0x00255428
|
||||
[Token(Token = "0x600A0FB")]
|
||||
[Address(RVA = "0x65D0A0", Offset = "0x65BAA0", VA = "0x18065D0A0")]
|
||||
private static void UpdateDigest(IDigest digest, byte[] bytes)
|
||||
{
|
||||
int length = bytes.Length;
|
||||
int num = 0;
|
||||
Arrays.Fill(bytes, (byte)num);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0FC RID: 41212 RVA: 0x0025724C File Offset: 0x0025544C
|
||||
[Token(Token = "0x600A0FC")]
|
||||
[Address(RVA = "0x65CE40", Offset = "0x65B840", VA = "0x18065CE40")]
|
||||
private static void UpdateDigestIncludingSize(IDigest digest, BigInteger bigInteger)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
|
||||
JPakeUtilities.UpdateDigestIncludingSize(digest, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0FD RID: 41213 RVA: 0x00257268 File Offset: 0x00255468
|
||||
[Token(Token = "0x600A0FD")]
|
||||
[Address(RVA = "0x65CFA0", Offset = "0x65B9A0", VA = "0x18065CFA0")]
|
||||
private static void UpdateDigestIncludingSize(IDigest digest, string str)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0FE RID: 41214 RVA: 0x00257284 File Offset: 0x00255484
|
||||
[Token(Token = "0x600A0FE")]
|
||||
[Address(RVA = "0x65CEB0", Offset = "0x65B8B0", VA = "0x18065CEB0")]
|
||||
private static void UpdateDigestIncludingSize(IDigest digest, byte[] bytes)
|
||||
{
|
||||
byte[] array = Pack.UInt32_To_BE((uint)bytes.Length);
|
||||
int length = bytes.Length;
|
||||
int num = 0;
|
||||
Arrays.Fill(bytes, (byte)num);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0FF RID: 41215 RVA: 0x002572B8 File Offset: 0x002554B8
|
||||
[Token(Token = "0x600A0FF")]
|
||||
[Address(RVA = "0x65D1D0", Offset = "0x65BBD0", VA = "0x18065D1D0")]
|
||||
private static void UpdateMac(IMac mac, BigInteger bigInteger)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(bigInteger);
|
||||
JPakeUtilities.UpdateMac(mac, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A100 RID: 41216 RVA: 0x002572D4 File Offset: 0x002554D4
|
||||
[Token(Token = "0x600A100")]
|
||||
[Address(RVA = "0x65D2E0", Offset = "0x65BCE0", VA = "0x18065D2E0")]
|
||||
private static void UpdateMac(IMac mac, string str)
|
||||
{
|
||||
Encoding utf = Encoding.UTF8;
|
||||
}
|
||||
|
||||
// Token: 0x0600A101 RID: 41217 RVA: 0x002572F0 File Offset: 0x002554F0
|
||||
[Token(Token = "0x600A101")]
|
||||
[Address(RVA = "0x65D240", Offset = "0x65BC40", VA = "0x18065D240")]
|
||||
private static void UpdateMac(IMac mac, byte[] bytes)
|
||||
{
|
||||
int length = bytes.Length;
|
||||
int num = 0;
|
||||
Arrays.Fill(bytes, (byte)num);
|
||||
}
|
||||
|
||||
// Token: 0x0600A102 RID: 41218 RVA: 0x00257314 File Offset: 0x00255514
|
||||
[Token(Token = "0x600A102")]
|
||||
[Address(RVA = "0x65CE30", Offset = "0x65B830", VA = "0x18065CE30")]
|
||||
private static byte[] IntToByteArray(int value)
|
||||
{
|
||||
return Pack.UInt32_To_BE((uint)value);
|
||||
}
|
||||
|
||||
// Token: 0x0600A103 RID: 41219 RVA: 0x00257328 File Offset: 0x00255528
|
||||
[Token(Token = "0x600A103")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected JPakeUtilities()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040069FE RID: 27134
|
||||
[Token(Token = "0x40069FE")]
|
||||
public static readonly BigInteger Zero = BigInteger.Zero;
|
||||
|
||||
// Token: 0x040069FF RID: 27135
|
||||
[Token(Token = "0x40069FF")]
|
||||
public static readonly BigInteger One = BigInteger.One;
|
||||
}
|
||||
}
|
||||
+147
@@ -0,0 +1,147 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Kdf
|
||||
{
|
||||
// Token: 0x02001738 RID: 5944
|
||||
[Token(Token = "0x2001738")]
|
||||
[StructLayout(3)]
|
||||
public class ConcatenationKdfGenerator : IDerivationFunction
|
||||
{
|
||||
// Token: 0x0600A0B4 RID: 41140 RVA: 0x00255B5C File Offset: 0x00253D5C
|
||||
[Token(Token = "0x600A0B4")]
|
||||
[Address(RVA = "0x654020", Offset = "0x652A20", VA = "0x180654020")]
|
||||
public ConcatenationKdfGenerator(IDigest digest)
|
||||
{
|
||||
this.mDigest = digest;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0B5 RID: 41141 RVA: 0x00255B7C File Offset: 0x00253D7C
|
||||
[Token(Token = "0x600A0B5")]
|
||||
[Address(RVA = "0x653F20", Offset = "0x652920", VA = "0x180653F20", Slot = "7")]
|
||||
public virtual void Init(IDerivationParameters param)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A0B5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Kdf.ConcatenationKdfGenerator::Init(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDerivationParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_2_29, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("KDF parameters required for ConcatenationKdfGenerator")))
|
||||
}
|
||||
|
||||
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: 0x17001931 RID: 6449
|
||||
// (get) Token: 0x0600A0B6 RID: 41142 RVA: 0x00255BB4 File Offset: 0x00253DB4
|
||||
[Token(Token = "0x17001931")]
|
||||
public virtual IDigest Digest
|
||||
{
|
||||
[Token(Token = "0x600A0B6")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "8")]
|
||||
get
|
||||
{
|
||||
return this.mDigest;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A0B7 RID: 41143 RVA: 0x00255BC8 File Offset: 0x00253DC8
|
||||
[Token(Token = "0x600A0B7")]
|
||||
[Address(RVA = "0x653A30", Offset = "0x652430", VA = "0x180653A30", Slot = "9")]
|
||||
public virtual int GenerateBytes(byte[] outBytes, int outOff, int len)
|
||||
{
|
||||
int num = outBytes.Length;
|
||||
num -= len;
|
||||
byte[] array = new byte[this.mHLen];
|
||||
byte[] array2 = new byte[4];
|
||||
IDigest digest = this.mDigest;
|
||||
int num2 = 0;
|
||||
if (len > this.mHLen)
|
||||
{
|
||||
int num3 = 0;
|
||||
Pack.UInt32_To_BE((uint)1, array2);
|
||||
IDigest digest2 = this.mDigest;
|
||||
int num4 = 0;
|
||||
if (num4 < num3)
|
||||
{
|
||||
num4 += num4;
|
||||
num4++;
|
||||
}
|
||||
int num5 = 0;
|
||||
byte[] array3 = this.mShared;
|
||||
IDigest digest3 = this.mDigest;
|
||||
int num6 = 0;
|
||||
if (num6 < num5)
|
||||
{
|
||||
num6 += num6;
|
||||
num6++;
|
||||
}
|
||||
int num7 = 0;
|
||||
byte[] array4 = this.mOtherInfo;
|
||||
IDigest digest4 = this.mDigest;
|
||||
int num8 = 0;
|
||||
if (num8 < num7)
|
||||
{
|
||||
num8 += num8;
|
||||
num8++;
|
||||
}
|
||||
int num9 = 0;
|
||||
IDigest digest5 = this.mDigest;
|
||||
int num10 = 0;
|
||||
if (num10 < num9)
|
||||
{
|
||||
num10 += num10;
|
||||
num10++;
|
||||
}
|
||||
int num11 = this.mHLen;
|
||||
}
|
||||
if (num2 < len)
|
||||
{
|
||||
Pack.UInt32_To_BE((uint)1, array2);
|
||||
IDigest digest6 = this.mDigest;
|
||||
int length = array2.Length;
|
||||
byte[] array5 = this.mShared;
|
||||
IDigest digest7 = this.mDigest;
|
||||
int length2 = array5.Length;
|
||||
byte[] array6 = this.mOtherInfo;
|
||||
IDigest digest8 = this.mDigest;
|
||||
int num12 = array6.Length;
|
||||
IDigest digest9 = this.mDigest;
|
||||
num12 = len - num2;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
// Token: 0x040069C5 RID: 27077
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069C5")]
|
||||
private readonly IDigest mDigest;
|
||||
|
||||
// Token: 0x040069C6 RID: 27078
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069C6")]
|
||||
private byte[] mShared;
|
||||
|
||||
// Token: 0x040069C7 RID: 27079
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069C7")]
|
||||
private byte[] mOtherInfo;
|
||||
|
||||
// Token: 0x040069C8 RID: 27080
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40069C8")]
|
||||
private int mHLen;
|
||||
}
|
||||
}
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Kdf
|
||||
{
|
||||
// Token: 0x02001739 RID: 5945
|
||||
[Token(Token = "0x2001739")]
|
||||
[StructLayout(3)]
|
||||
public class DHKdfParameters : IDerivationParameters
|
||||
{
|
||||
// Token: 0x0600A0B8 RID: 41144 RVA: 0x00255D78 File Offset: 0x00253F78
|
||||
[Token(Token = "0x600A0B8")]
|
||||
[Address(RVA = "0x654DD0", Offset = "0x6537D0", VA = "0x180654DD0")]
|
||||
public DHKdfParameters(DerObjectIdentifier algorithm, int keySize, byte[] z)
|
||||
{
|
||||
this.algorithm = algorithm;
|
||||
this.z = z;
|
||||
this.keySize = keySize;
|
||||
this.extraInfo = (ulong)0L;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0B9 RID: 41145 RVA: 0x00255DAC File Offset: 0x00253FAC
|
||||
[Token(Token = "0x600A0B9")]
|
||||
[Address(RVA = "0x654E20", Offset = "0x653820", VA = "0x180654E20")]
|
||||
public DHKdfParameters(DerObjectIdentifier algorithm, int keySize, byte[] z, byte[] extraInfo)
|
||||
{
|
||||
this.algorithm = algorithm;
|
||||
this.z = z;
|
||||
this.extraInfo = 0;
|
||||
this.keySize = keySize;
|
||||
}
|
||||
|
||||
// Token: 0x17001932 RID: 6450
|
||||
// (get) Token: 0x0600A0BA RID: 41146 RVA: 0x00255DDC File Offset: 0x00253FDC
|
||||
[Token(Token = "0x17001932")]
|
||||
public DerObjectIdentifier Algorithm
|
||||
{
|
||||
[Token(Token = "0x600A0BA")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
|
||||
get
|
||||
{
|
||||
return this.algorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001933 RID: 6451
|
||||
// (get) Token: 0x0600A0BB RID: 41147 RVA: 0x00255DF0 File Offset: 0x00253FF0
|
||||
[Token(Token = "0x17001933")]
|
||||
public int KeySize
|
||||
{
|
||||
[Token(Token = "0x600A0BB")]
|
||||
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")]
|
||||
get
|
||||
{
|
||||
return this.keySize;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A0BC RID: 41148 RVA: 0x00255E04 File Offset: 0x00254004
|
||||
[Token(Token = "0x600A0BC")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
|
||||
public byte[] GetZ()
|
||||
{
|
||||
return this.z;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0BD RID: 41149 RVA: 0x00255E18 File Offset: 0x00254018
|
||||
[Token(Token = "0x600A0BD")]
|
||||
[Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")]
|
||||
public byte[] GetExtraInfo()
|
||||
{
|
||||
return this.extraInfo;
|
||||
}
|
||||
|
||||
// Token: 0x040069C9 RID: 27081
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069C9")]
|
||||
private readonly DerObjectIdentifier algorithm;
|
||||
|
||||
// Token: 0x040069CA RID: 27082
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069CA")]
|
||||
private readonly int keySize;
|
||||
|
||||
// Token: 0x040069CB RID: 27083
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069CB")]
|
||||
private readonly byte[] z;
|
||||
|
||||
// Token: 0x040069CC RID: 27084
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40069CC")]
|
||||
private readonly byte[] extraInfo;
|
||||
}
|
||||
}
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Kdf
|
||||
{
|
||||
// Token: 0x0200173A RID: 5946
|
||||
[Token(Token = "0x200173A")]
|
||||
[StructLayout(3)]
|
||||
public class DHKekGenerator : IDerivationFunction
|
||||
{
|
||||
// Token: 0x0600A0BE RID: 41150 RVA: 0x00255E2C File Offset: 0x0025402C
|
||||
[Token(Token = "0x600A0BE")]
|
||||
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
|
||||
public DHKekGenerator(IDigest digest)
|
||||
{
|
||||
this.digest = digest;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0BF RID: 41151 RVA: 0x00255E48 File Offset: 0x00254048
|
||||
[Token(Token = "0x600A0BF")]
|
||||
[Address(RVA = "0x655440", Offset = "0x653E40", VA = "0x180655440", Slot = "7")]
|
||||
public virtual void Init(IDerivationParameters param)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (param == 0);
|
||||
this.algorithm = num;
|
||||
this.keySize = num;
|
||||
this.z = num;
|
||||
this.partyAInfo = num;
|
||||
}
|
||||
|
||||
// Token: 0x17001934 RID: 6452
|
||||
// (get) Token: 0x0600A0C0 RID: 41152 RVA: 0x00255E80 File Offset: 0x00254080
|
||||
[Token(Token = "0x17001934")]
|
||||
public virtual IDigest Digest
|
||||
{
|
||||
[Token(Token = "0x600A0C0")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "8")]
|
||||
get
|
||||
{
|
||||
return this.digest;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A0C1 RID: 41153 RVA: 0x00255E94 File Offset: 0x00254094
|
||||
[Token(Token = "0x600A0C1")]
|
||||
[Address(RVA = "0x654E70", Offset = "0x653870", VA = "0x180654E70", Slot = "9")]
|
||||
public virtual int GenerateBytes(byte[] outBytes, int outOff, int len)
|
||||
{
|
||||
int num = outBytes.Length;
|
||||
num -= len;
|
||||
IDigest digest = this.digest;
|
||||
IDigest digest2 = this.digest;
|
||||
int num2 = len - 1;
|
||||
num2 += num;
|
||||
byte[] array = new byte[num2];
|
||||
if (num2 <= 0)
|
||||
{
|
||||
IDigest digest3 = this.digest;
|
||||
return len;
|
||||
}
|
||||
int num3 = 0;
|
||||
byte[] array2 = this.z;
|
||||
IDigest digest4 = this.digest;
|
||||
if (num3 < digest2)
|
||||
{
|
||||
num3 += num3;
|
||||
num3++;
|
||||
}
|
||||
Asn1Encodable[] array3 = new Asn1Encodable[2];
|
||||
DerObjectIdentifier derObjectIdentifier = this.algorithm;
|
||||
if (derObjectIdentifier != 0)
|
||||
{
|
||||
}
|
||||
array3[0] = derObjectIdentifier;
|
||||
uint num4;
|
||||
DerOctetString derOctetString = new DerOctetString(Pack.UInt32_To_BE(num4));
|
||||
if (derOctetString != 0)
|
||||
{
|
||||
}
|
||||
array3[1] = derOctetString;
|
||||
DerSequence derSequence = new DerSequence(array3);
|
||||
Asn1Encodable[] array4 = new Asn1Encodable[1];
|
||||
if (derSequence != 0)
|
||||
{
|
||||
}
|
||||
array4[0] = derSequence;
|
||||
Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(array4);
|
||||
if (this.partyAInfo != (ulong)0L)
|
||||
{
|
||||
Asn1Encodable[] array5 = new Asn1Encodable[1];
|
||||
DerOctetString derOctetString2 = new DerOctetString(this.partyAInfo);
|
||||
ulong num5;
|
||||
int num6;
|
||||
DerTaggedObject derTaggedObject = new DerTaggedObject(num5 != 0UL, num6, derOctetString2);
|
||||
num6 = 0;
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
Asn1Encodable[] array6 = new Asn1Encodable[1];
|
||||
DerOctetString derOctetString3 = new DerOctetString(Pack.UInt32_To_BE((uint)this.keySize));
|
||||
ulong num7;
|
||||
uint num8;
|
||||
DerTaggedObject derTaggedObject2 = new DerTaggedObject(num7 != 0UL, (int)num8, derOctetString3);
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
|
||||
// Token: 0x040069CD RID: 27085
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069CD")]
|
||||
private readonly IDigest digest;
|
||||
|
||||
// Token: 0x040069CE RID: 27086
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069CE")]
|
||||
private DerObjectIdentifier algorithm;
|
||||
|
||||
// Token: 0x040069CF RID: 27087
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069CF")]
|
||||
private int keySize;
|
||||
|
||||
// Token: 0x040069D0 RID: 27088
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40069D0")]
|
||||
private byte[] z;
|
||||
|
||||
// Token: 0x040069D1 RID: 27089
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40069D1")]
|
||||
private byte[] partyAInfo;
|
||||
}
|
||||
}
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Generators;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Kdf
|
||||
{
|
||||
// Token: 0x0200173B RID: 5947
|
||||
[Token(Token = "0x200173B")]
|
||||
[StructLayout(3)]
|
||||
public class ECDHKekGenerator : IDerivationFunction
|
||||
{
|
||||
// Token: 0x0600A0C2 RID: 41154 RVA: 0x00256038 File Offset: 0x00254238
|
||||
[Token(Token = "0x600A0C2")]
|
||||
[Address(RVA = "0x6589F0", Offset = "0x6573F0", VA = "0x1806589F0")]
|
||||
public ECDHKekGenerator(IDigest digest)
|
||||
{
|
||||
Kdf2BytesGenerator kdf2BytesGenerator = new Kdf2BytesGenerator(digest);
|
||||
this.kdf = kdf2BytesGenerator;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0C3 RID: 41155 RVA: 0x0025605C File Offset: 0x0025425C
|
||||
[Token(Token = "0x600A0C3")]
|
||||
[Address(RVA = "0x658950", Offset = "0x657350", VA = "0x180658950", Slot = "7")]
|
||||
public virtual void Init(IDerivationParameters param)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (param == 0);
|
||||
this.algorithm = num;
|
||||
this.keySize = num;
|
||||
this.z = num;
|
||||
}
|
||||
|
||||
// Token: 0x17001935 RID: 6453
|
||||
// (get) Token: 0x0600A0C4 RID: 41156 RVA: 0x0025608C File Offset: 0x0025428C
|
||||
[Token(Token = "0x17001935")]
|
||||
public virtual IDigest Digest
|
||||
{
|
||||
[Token(Token = "0x600A0C4")]
|
||||
[Address(RVA = "0x658A60", Offset = "0x657460", VA = "0x180658A60", Slot = "8")]
|
||||
get
|
||||
{
|
||||
IDerivationFunction derivationFunction = this.kdf;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A0C5 RID: 41157 RVA: 0x002560A8 File Offset: 0x002542A8
|
||||
[Token(Token = "0x600A0C5")]
|
||||
[Address(RVA = "0x6586F0", Offset = "0x6570F0", VA = "0x1806586F0", Slot = "9")]
|
||||
public virtual int GenerateBytes(byte[] outBytes, int outOff, int len)
|
||||
{
|
||||
Asn1Encodable[] array = new Asn1Encodable[2];
|
||||
DerObjectIdentifier derObjectIdentifier = this.algorithm;
|
||||
DerNull instance = DerNull.Instance;
|
||||
AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier(derObjectIdentifier, instance);
|
||||
if (algorithmIdentifier != 0)
|
||||
{
|
||||
}
|
||||
array[0] = algorithmIdentifier;
|
||||
DerOctetString derOctetString = new DerOctetString(Pack.UInt32_To_BE((uint)this.keySize));
|
||||
DerTaggedObject derTaggedObject = new DerTaggedObject(true, 2, derOctetString);
|
||||
if (derTaggedObject != 0)
|
||||
{
|
||||
}
|
||||
array[1] = derTaggedObject;
|
||||
DerSequence derSequence = new DerSequence(array);
|
||||
IDerivationFunction derivationFunction = this.kdf;
|
||||
byte[] array2 = this.z;
|
||||
byte[] derEncoded = derSequence.GetDerEncoded();
|
||||
KdfParameters kdfParameters = new KdfParameters(array2, derEncoded);
|
||||
IDerivationFunction derivationFunction2 = this.kdf;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x040069D2 RID: 27090
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069D2")]
|
||||
private readonly IDerivationFunction kdf;
|
||||
|
||||
// Token: 0x040069D3 RID: 27091
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069D3")]
|
||||
private DerObjectIdentifier algorithm;
|
||||
|
||||
// Token: 0x040069D4 RID: 27092
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069D4")]
|
||||
private int keySize;
|
||||
|
||||
// Token: 0x040069D5 RID: 27093
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40069D5")]
|
||||
private byte[] z;
|
||||
}
|
||||
}
|
||||
+340
@@ -0,0 +1,340 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x02001730 RID: 5936
|
||||
[Token(Token = "0x2001730")]
|
||||
[StructLayout(3)]
|
||||
public class SM2KeyExchange
|
||||
{
|
||||
// Token: 0x0600A076 RID: 41078 RVA: 0x002547D8 File Offset: 0x002529D8
|
||||
[Token(Token = "0x600A076")]
|
||||
[Address(RVA = "0x665130", Offset = "0x663B30", VA = "0x180665130")]
|
||||
public SM2KeyExchange()
|
||||
{
|
||||
SM3Digest sm3Digest = new SM3Digest();
|
||||
base..ctor();
|
||||
this.mDigest = sm3Digest;
|
||||
}
|
||||
|
||||
// Token: 0x0600A077 RID: 41079 RVA: 0x002547F8 File Offset: 0x002529F8
|
||||
[Token(Token = "0x600A077")]
|
||||
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
|
||||
public SM2KeyExchange(IDigest digest)
|
||||
{
|
||||
this.mDigest = digest;
|
||||
}
|
||||
|
||||
// Token: 0x0600A078 RID: 41080 RVA: 0x00254814 File Offset: 0x00252A14
|
||||
[Token(Token = "0x600A078")]
|
||||
[Address(RVA = "0x664760", Offset = "0x663160", VA = "0x180664760", Slot = "4")]
|
||||
public virtual void Init(ICipherParameters privParam)
|
||||
{
|
||||
while (privParam != 0)
|
||||
{
|
||||
if ((privParam != 0 || privParam != 0) && privParam != 0 && privParam != 0)
|
||||
{
|
||||
if (privParam == 0)
|
||||
{
|
||||
}
|
||||
if (privParam != 0 && privParam != 0 && privParam != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num = 0;
|
||||
byte[] array = new byte[0];
|
||||
this.mUserID = array;
|
||||
string text = num.ToString();
|
||||
this.mInitiator = text != null;
|
||||
int num2;
|
||||
this.mStaticKey = num2;
|
||||
TypeCode typeCode = num.GetTypeCode();
|
||||
this.mEphemeralKey = typeCode;
|
||||
ECDomainParameters parameters = this.mStaticKey.parameters;
|
||||
this.mECParams = parameters;
|
||||
string text2;
|
||||
this.mStaticPubPoint = text2;
|
||||
ECDomainParameters ecdomainParameters = this.mECParams;
|
||||
bool flag;
|
||||
this.mEphemeralPubPoint = flag;
|
||||
string text3 = ecdomainParameters.curve.ToString();
|
||||
this.mW = text3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A079 RID: 41081 RVA: 0x002548DC File Offset: 0x00252ADC
|
||||
[Token(Token = "0x600A079")]
|
||||
[Address(RVA = "0x663FA0", Offset = "0x6629A0", VA = "0x180663FA0", Slot = "5")]
|
||||
public virtual byte[] CalculateKey(int kLen, ICipherParameters pubParam)
|
||||
{
|
||||
while (pubParam != 0)
|
||||
{
|
||||
if ((pubParam != 0 || pubParam != 0) && pubParam != 0 && pubParam != 0)
|
||||
{
|
||||
if (pubParam == 0)
|
||||
{
|
||||
}
|
||||
if (pubParam != 0 && pubParam != 0 && pubParam != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num = 0;
|
||||
byte[] array = new byte[0];
|
||||
ECPoint ecpoint = this.mStaticPubPoint;
|
||||
byte[] array2 = this.mUserID;
|
||||
IDigest digest = this.mDigest;
|
||||
byte[] z = this.GetZ(digest, array2, ecpoint);
|
||||
IDigest digest2 = this.mDigest;
|
||||
string text = num.ToString();
|
||||
byte[] z2 = this.GetZ(digest2, array, ecpoint);
|
||||
if (!this.mInitiator)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A07A RID: 41082 RVA: 0x0025497C File Offset: 0x00252B7C
|
||||
[Token(Token = "0x600A07A")]
|
||||
[Address(RVA = "0x6638E0", Offset = "0x6622E0", VA = "0x1806638E0", Slot = "6")]
|
||||
public virtual byte[][] CalculateKeyWithConfirmation(int kLen, byte[] confirmationTag, ICipherParameters pubParam)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A07A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[][] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.SM2KeyExchange::CalculateKeyWithConfirmation(System.Int32,System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_139:
|
||||
stloc:ArgumentException(var_32_143, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("if initiating, confirmationTag must be set")))
|
||||
}
|
||||
|
||||
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: 0x0600A07B RID: 41083 RVA: 0x00254AD0 File Offset: 0x00252CD0
|
||||
[Token(Token = "0x600A07B")]
|
||||
[Address(RVA = "0x6642A0", Offset = "0x662CA0", VA = "0x1806642A0", Slot = "7")]
|
||||
protected virtual ECPoint CalculateU(SM2KeyExchangePublicParameters otherPub)
|
||||
{
|
||||
ECDomainParameters parameters = this.mStaticKey.parameters;
|
||||
ECCurve curve = parameters.curve;
|
||||
string text = otherPub.ToString();
|
||||
ECCurve curve2 = parameters.curve;
|
||||
ECPoint q = otherPub.StaticPublicKey.q;
|
||||
ECPoint ecpoint = ECAlgorithms.CleanPoint(curve2, q);
|
||||
string text2 = this.mEphemeralPubPoint.CurveCoordinateSystem.ToString();
|
||||
string text3 = ecpoint.CurveCoordinateSystem.ToString();
|
||||
ECPrivateKeyParameters ecprivateKeyParameters = this.mStaticKey;
|
||||
ECPrivateKeyParameters ecprivateKeyParameters2 = this.mEphemeralKey;
|
||||
BigInteger d = ecprivateKeyParameters.d;
|
||||
BigInteger d2 = ecprivateKeyParameters2.d;
|
||||
BigInteger bigInteger2;
|
||||
BigInteger bigInteger = bigInteger2.Multiply(d2);
|
||||
BigInteger bigInteger3 = d.Add(bigInteger);
|
||||
BigInteger bigInteger4 = this.mECParams.h.Multiply(bigInteger3);
|
||||
BigInteger n = this.mECParams.n;
|
||||
BigInteger bigInteger5 = bigInteger4.Mod(n);
|
||||
BigInteger bigInteger7;
|
||||
BigInteger bigInteger6 = bigInteger5.Multiply(bigInteger7);
|
||||
BigInteger n2 = this.mECParams.n;
|
||||
BigInteger bigInteger8 = bigInteger6.Mod(n2);
|
||||
ECPoint ecpoint2;
|
||||
bool flag = ECAlgorithms.SumOfTwoMultiplies(ecpoint2, bigInteger5, ecpoint, bigInteger8).SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A07C RID: 41084 RVA: 0x00254BD8 File Offset: 0x00252DD8
|
||||
[Token(Token = "0x600A07C")]
|
||||
[Address(RVA = "0x664A70", Offset = "0x663470", VA = "0x180664A70", Slot = "8")]
|
||||
protected virtual byte[] Kdf(ECPoint u, byte[] za, byte[] zb, int klen)
|
||||
{
|
||||
IDigest digest = this.mDigest;
|
||||
int num;
|
||||
byte[] array = new byte[num];
|
||||
byte[] array2 = new byte[num];
|
||||
int num2 = 0;
|
||||
if (array2 != 0)
|
||||
{
|
||||
int curveCoordinateSystem = u.CurveCoordinateSystem;
|
||||
IDigest digest2 = this.mDigest;
|
||||
ECFieldElement affineXCoord = u.AffineXCoord;
|
||||
this.AddFieldElement(digest2, affineXCoord);
|
||||
IDigest digest3 = this.mDigest;
|
||||
int length = za.Length;
|
||||
IDigest digest4 = this.mDigest;
|
||||
int length2 = zb.Length;
|
||||
}
|
||||
if (num2 < array2.Length)
|
||||
{
|
||||
if (array2 == 0)
|
||||
{
|
||||
int curveCoordinateSystem2 = u.CurveCoordinateSystem;
|
||||
IDigest digest5 = this.mDigest;
|
||||
ECFieldElement affineXCoord2 = u.AffineXCoord;
|
||||
this.AddFieldElement(digest5, affineXCoord2);
|
||||
IDigest digest6 = this.mDigest;
|
||||
int length3 = za.Length;
|
||||
IDigest digest7 = this.mDigest;
|
||||
int length4 = zb.Length;
|
||||
}
|
||||
num2++;
|
||||
int num3 = 0;
|
||||
Pack.UInt32_To_BE((uint)num2, array, num3);
|
||||
IDigest digest8 = this.mDigest;
|
||||
IDigest digest9 = this.mDigest;
|
||||
int num4 = array2.Length;
|
||||
num4 -= num2;
|
||||
int num5 = 0;
|
||||
int num6;
|
||||
Array.Copy(array, num5, array2, num2, num6);
|
||||
num2 += num6;
|
||||
}
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A07D RID: 41085 RVA: 0x00254CEC File Offset: 0x00252EEC
|
||||
[Token(Token = "0x600A07D")]
|
||||
[Address(RVA = "0x664E60", Offset = "0x663860", VA = "0x180664E60")]
|
||||
private BigInteger Reduce(BigInteger x)
|
||||
{
|
||||
BigInteger one = BigInteger.One;
|
||||
int num = this.mW;
|
||||
BigInteger bigInteger = one.ShiftLeft(num);
|
||||
BigInteger one2 = BigInteger.One;
|
||||
BigInteger bigInteger2 = bigInteger.Subtract(one2);
|
||||
BigInteger bigInteger3 = x.And(bigInteger2);
|
||||
int num2 = this.mW;
|
||||
return bigInteger3.SetBit(num2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A07E RID: 41086 RVA: 0x00254D40 File Offset: 0x00252F40
|
||||
[Token(Token = "0x600A07E")]
|
||||
[Address(RVA = "0x664F30", Offset = "0x663930", VA = "0x180664F30")]
|
||||
private byte[] S1(IDigest digest, ECPoint u, byte[] inner)
|
||||
{
|
||||
ECFieldElement affineXCoord = u.AffineXCoord;
|
||||
this.AddFieldElement(digest, affineXCoord);
|
||||
int length = inner.Length;
|
||||
return DigestUtilities.DoFinal(digest);
|
||||
}
|
||||
|
||||
// Token: 0x0600A07F RID: 41087 RVA: 0x00254D70 File Offset: 0x00252F70
|
||||
[Token(Token = "0x600A07F")]
|
||||
[Address(RVA = "0x663720", Offset = "0x662120", VA = "0x180663720")]
|
||||
private byte[] CalculateInnerHash(IDigest digest, ECPoint u, byte[] za, byte[] zb, ECPoint p1, ECPoint p2)
|
||||
{
|
||||
int curveCoordinateSystem = u.CurveCoordinateSystem;
|
||||
int length = za.Length;
|
||||
return DigestUtilities.DoFinal(digest);
|
||||
}
|
||||
|
||||
// Token: 0x0600A080 RID: 41088 RVA: 0x00254D9C File Offset: 0x00252F9C
|
||||
[Token(Token = "0x600A080")]
|
||||
[Address(RVA = "0x665030", Offset = "0x663A30", VA = "0x180665030")]
|
||||
private byte[] S2(IDigest digest, ECPoint u, byte[] inner)
|
||||
{
|
||||
ECFieldElement affineXCoord = u.AffineXCoord;
|
||||
this.AddFieldElement(digest, affineXCoord);
|
||||
int length = inner.Length;
|
||||
return DigestUtilities.DoFinal(digest);
|
||||
}
|
||||
|
||||
// Token: 0x0600A081 RID: 41089 RVA: 0x00254DCC File Offset: 0x00252FCC
|
||||
[Token(Token = "0x600A081")]
|
||||
[Address(RVA = "0x664500", Offset = "0x662F00", VA = "0x180664500")]
|
||||
private byte[] GetZ(IDigest digest, byte[] userID, ECPoint pubPoint)
|
||||
{
|
||||
int length = userID.Length;
|
||||
IFiniteField field = this.mECParams.curve.Field;
|
||||
ECFieldElement a = this.mECParams.curve.A;
|
||||
this.AddFieldElement(digest, a);
|
||||
int curveCoordinateSystem = this.mECParams.g.CurveCoordinateSystem;
|
||||
ECFieldElement affineXCoord = this.mECParams.g.AffineXCoord;
|
||||
this.AddFieldElement(digest, affineXCoord);
|
||||
int curveCoordinateSystem2 = pubPoint.CurveCoordinateSystem;
|
||||
ECFieldElement affineXCoord2 = pubPoint.AffineXCoord;
|
||||
this.AddFieldElement(digest, affineXCoord2);
|
||||
return DigestUtilities.DoFinal(digest);
|
||||
}
|
||||
|
||||
// Token: 0x0600A082 RID: 41090 RVA: 0x00254E5C File Offset: 0x0025305C
|
||||
[Token(Token = "0x600A082")]
|
||||
[Address(RVA = "0x663670", Offset = "0x662070", VA = "0x180663670")]
|
||||
private void AddUserID(IDigest digest, byte[] userID)
|
||||
{
|
||||
int length = userID.Length;
|
||||
}
|
||||
|
||||
// Token: 0x0600A083 RID: 41091 RVA: 0x00254E78 File Offset: 0x00253078
|
||||
[Token(Token = "0x600A083")]
|
||||
[Address(RVA = "0x6635E0", Offset = "0x661FE0", VA = "0x1806635E0")]
|
||||
private void AddFieldElement(IDigest digest, ECFieldElement v)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006988 RID: 27016
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006988")]
|
||||
private readonly IDigest mDigest;
|
||||
|
||||
// Token: 0x04006989 RID: 27017
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006989")]
|
||||
private byte[] mUserID;
|
||||
|
||||
// Token: 0x0400698A RID: 27018
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400698A")]
|
||||
private ECPrivateKeyParameters mStaticKey;
|
||||
|
||||
// Token: 0x0400698B RID: 27019
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400698B")]
|
||||
private ECPoint mStaticPubPoint;
|
||||
|
||||
// Token: 0x0400698C RID: 27020
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400698C")]
|
||||
private ECPoint mEphemeralPubPoint;
|
||||
|
||||
// Token: 0x0400698D RID: 27021
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400698D")]
|
||||
private ECDomainParameters mECParams;
|
||||
|
||||
// Token: 0x0400698E RID: 27022
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400698E")]
|
||||
private int mW;
|
||||
|
||||
// Token: 0x0400698F RID: 27023
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400698F")]
|
||||
private ECPrivateKeyParameters mEphemeralKey;
|
||||
|
||||
// Token: 0x04006990 RID: 27024
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006990")]
|
||||
private bool mInitiator;
|
||||
}
|
||||
}
|
||||
+277
@@ -0,0 +1,277 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp
|
||||
{
|
||||
// Token: 0x02001733 RID: 5939
|
||||
[Token(Token = "0x2001733")]
|
||||
[StructLayout(3)]
|
||||
public class Srp6Client
|
||||
{
|
||||
// Token: 0x0600A08C RID: 41100 RVA: 0x00254F7C File Offset: 0x0025317C
|
||||
[Token(Token = "0x600A08C")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public Srp6Client()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A08D RID: 41101 RVA: 0x00254F90 File Offset: 0x00253190
|
||||
[Token(Token = "0x600A08D")]
|
||||
[Address(RVA = "0x669090", Offset = "0x667A90", VA = "0x180669090", Slot = "4")]
|
||||
public virtual void Init(BigInteger N, BigInteger g, IDigest digest, SecureRandom random)
|
||||
{
|
||||
this.random = 0;
|
||||
this.N = N;
|
||||
this.g = g;
|
||||
this.digest = digest;
|
||||
}
|
||||
|
||||
// Token: 0x0600A08E RID: 41102 RVA: 0x00254FBC File Offset: 0x002531BC
|
||||
[Token(Token = "0x600A08E")]
|
||||
[Address(RVA = "0x6690B0", Offset = "0x667AB0", VA = "0x1806690B0", Slot = "5")]
|
||||
public virtual void Init(Srp6GroupParameters group, IDigest digest, SecureRandom random)
|
||||
{
|
||||
string text = this.ToString();
|
||||
}
|
||||
|
||||
// Token: 0x0600A08F RID: 41103 RVA: 0x00254FD8 File Offset: 0x002531D8
|
||||
[Token(Token = "0x600A08F")]
|
||||
[Address(RVA = "0x669020", Offset = "0x667A20", VA = "0x180669020", Slot = "6")]
|
||||
public virtual BigInteger GenerateClientCredentials(byte[] salt, byte[] identity, byte[] password)
|
||||
{
|
||||
BigInteger n = this.N;
|
||||
BigInteger bigInteger = Srp6Utilities.CalculateX(this.digest, n, salt, identity, password);
|
||||
this.x = bigInteger;
|
||||
BigInteger bigInteger2 = this.g;
|
||||
BigInteger bigInteger3;
|
||||
this.privA = bigInteger3;
|
||||
BigInteger n2 = this.N;
|
||||
BigInteger bigInteger4 = bigInteger2.ModPow(bigInteger3, n2);
|
||||
this.pubA = bigInteger4;
|
||||
return bigInteger4;
|
||||
}
|
||||
|
||||
// Token: 0x0600A090 RID: 41104 RVA: 0x00255038 File Offset: 0x00253238
|
||||
[Token(Token = "0x600A090")]
|
||||
[Address(RVA = "0x668E60", Offset = "0x667860", VA = "0x180668E60", Slot = "7")]
|
||||
public virtual BigInteger CalculateSecret(BigInteger serverB)
|
||||
{
|
||||
BigInteger bigInteger = Srp6Utilities.ValidatePublicValue(this.N, serverB);
|
||||
BigInteger bigInteger2 = this.pubA;
|
||||
BigInteger n = this.N;
|
||||
IDigest digest = this.digest;
|
||||
this.B = bigInteger;
|
||||
BigInteger bigInteger3 = Srp6Utilities.CalculateU(digest, n, bigInteger2, bigInteger);
|
||||
BigInteger bigInteger4 = this.g;
|
||||
BigInteger n2 = this.N;
|
||||
IDigest digest2 = this.digest;
|
||||
this.u = bigInteger3;
|
||||
BigInteger bigInteger5 = Srp6Utilities.CalculateK(digest2, n2, bigInteger4);
|
||||
BigInteger bigInteger6 = this.u;
|
||||
BigInteger bigInteger7 = this.x;
|
||||
BigInteger bigInteger8 = bigInteger6.Multiply(bigInteger7);
|
||||
BigInteger bigInteger9 = this.privA;
|
||||
BigInteger bigInteger10 = bigInteger8.Add(bigInteger9);
|
||||
BigInteger bigInteger11 = this.g;
|
||||
BigInteger n3 = this.N;
|
||||
BigInteger bigInteger12 = this.x;
|
||||
BigInteger bigInteger13 = bigInteger11.ModPow(bigInteger12, n3).Multiply(bigInteger5);
|
||||
BigInteger n4 = this.N;
|
||||
BigInteger bigInteger14 = bigInteger13.Mod(n4);
|
||||
BigInteger bigInteger15 = this.B.Subtract(bigInteger14);
|
||||
BigInteger n5 = this.N;
|
||||
BigInteger bigInteger16 = bigInteger15.Mod(n5);
|
||||
BigInteger n6 = this.N;
|
||||
BigInteger bigInteger17 = bigInteger16.ModPow(bigInteger10, n6);
|
||||
this.S = bigInteger17;
|
||||
return bigInteger17;
|
||||
}
|
||||
|
||||
// Token: 0x0600A091 RID: 41105 RVA: 0x0025515C File Offset: 0x0025335C
|
||||
[Token(Token = "0x600A091")]
|
||||
[Address(RVA = "0x6690F0", Offset = "0x667AF0", VA = "0x1806690F0", Slot = "8")]
|
||||
protected virtual BigInteger SelectPrivateValue()
|
||||
{
|
||||
SecureRandom secureRandom = this.random;
|
||||
BigInteger bigInteger = this.g;
|
||||
BigInteger n = this.N;
|
||||
return Srp6Utilities.GeneratePrivateValue(this.digest, n, bigInteger, secureRandom);
|
||||
}
|
||||
|
||||
// Token: 0x0600A092 RID: 41106 RVA: 0x0025518C File Offset: 0x0025338C
|
||||
[Token(Token = "0x600A092")]
|
||||
[Address(RVA = "0x668D60", Offset = "0x667760", VA = "0x180668D60")]
|
||||
private BigInteger CalculateS()
|
||||
{
|
||||
BigInteger bigInteger = this.g;
|
||||
BigInteger n = this.N;
|
||||
BigInteger bigInteger2 = Srp6Utilities.CalculateK(this.digest, n, bigInteger);
|
||||
BigInteger bigInteger3 = this.u;
|
||||
BigInteger bigInteger4 = this.x;
|
||||
BigInteger bigInteger5 = bigInteger3.Multiply(bigInteger4);
|
||||
BigInteger bigInteger6 = this.privA;
|
||||
BigInteger bigInteger7 = bigInteger5.Add(bigInteger6);
|
||||
BigInteger bigInteger8 = this.g;
|
||||
BigInteger n2 = this.N;
|
||||
BigInteger bigInteger9 = this.x;
|
||||
BigInteger bigInteger10 = bigInteger8.ModPow(bigInteger9, n2).Multiply(bigInteger2);
|
||||
BigInteger n3 = this.N;
|
||||
BigInteger bigInteger11 = bigInteger10.Mod(n3);
|
||||
BigInteger bigInteger12 = this.B.Subtract(bigInteger11);
|
||||
BigInteger n4 = this.N;
|
||||
BigInteger bigInteger13 = bigInteger12.Mod(n4);
|
||||
BigInteger n5 = this.N;
|
||||
return bigInteger13.ModPow(bigInteger7, n5);
|
||||
}
|
||||
|
||||
// Token: 0x0600A093 RID: 41107 RVA: 0x0025525C File Offset: 0x0025345C
|
||||
[Token(Token = "0x600A093")]
|
||||
[Address(RVA = "0x668CC0", Offset = "0x6676C0", VA = "0x180668CC0", Slot = "9")]
|
||||
public virtual BigInteger CalculateClientEvidenceMessage()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A093)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client::CalculateClientEvidenceMessage()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_44:
|
||||
stloc:CryptoException(var_6_4E, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Impossible to compute M1: some data are missing from the previous operations (A,B,S)")))
|
||||
}
|
||||
|
||||
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: 0x0600A094 RID: 41108 RVA: 0x002552B8 File Offset: 0x002534B8
|
||||
[Token(Token = "0x600A094")]
|
||||
[Address(RVA = "0x669120", Offset = "0x667B20", VA = "0x180669120", Slot = "10")]
|
||||
public virtual bool VerifyServerEvidenceMessage(BigInteger serverM2)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A094)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client::VerifyServerEvidenceMessage(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_43:
|
||||
stloc:CryptoException(var_5_4D, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Impossible to compute and verify M2: some data are missing from the previous operations (A,M1,S)")))
|
||||
}
|
||||
|
||||
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: 0x0600A095 RID: 41109 RVA: 0x00255314 File Offset: 0x00253514
|
||||
[Token(Token = "0x600A095")]
|
||||
[Address(RVA = "0x668F90", Offset = "0x667990", VA = "0x180668F90", Slot = "11")]
|
||||
public virtual BigInteger CalculateSessionKey()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A095)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client::CalculateSessionKey()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3F:
|
||||
stloc:CryptoException(var_3_49, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Impossible to compute Key: some data are missing from the previous operations (S,M1,M2)")))
|
||||
}
|
||||
|
||||
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: 0x04006993 RID: 27027
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006993")]
|
||||
protected BigInteger N;
|
||||
|
||||
// Token: 0x04006994 RID: 27028
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006994")]
|
||||
protected BigInteger g;
|
||||
|
||||
// Token: 0x04006995 RID: 27029
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006995")]
|
||||
protected BigInteger privA;
|
||||
|
||||
// Token: 0x04006996 RID: 27030
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006996")]
|
||||
protected BigInteger pubA;
|
||||
|
||||
// Token: 0x04006997 RID: 27031
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006997")]
|
||||
protected BigInteger B;
|
||||
|
||||
// Token: 0x04006998 RID: 27032
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006998")]
|
||||
protected BigInteger x;
|
||||
|
||||
// Token: 0x04006999 RID: 27033
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006999")]
|
||||
protected BigInteger u;
|
||||
|
||||
// Token: 0x0400699A RID: 27034
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400699A")]
|
||||
protected BigInteger S;
|
||||
|
||||
// Token: 0x0400699B RID: 27035
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x400699B")]
|
||||
protected BigInteger M1;
|
||||
|
||||
// Token: 0x0400699C RID: 27036
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x400699C")]
|
||||
protected BigInteger M2;
|
||||
|
||||
// Token: 0x0400699D RID: 27037
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x400699D")]
|
||||
protected BigInteger Key;
|
||||
|
||||
// Token: 0x0400699E RID: 27038
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400699E")]
|
||||
protected IDigest digest;
|
||||
|
||||
// Token: 0x0400699F RID: 27039
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400699F")]
|
||||
protected SecureRandom random;
|
||||
}
|
||||
}
|
||||
+279
@@ -0,0 +1,279 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp
|
||||
{
|
||||
// Token: 0x02001734 RID: 5940
|
||||
[Token(Token = "0x2001734")]
|
||||
[StructLayout(3)]
|
||||
public class Srp6Server
|
||||
{
|
||||
// Token: 0x0600A096 RID: 41110 RVA: 0x0025536C File Offset: 0x0025356C
|
||||
[Token(Token = "0x600A096")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public Srp6Server()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A097 RID: 41111 RVA: 0x00255380 File Offset: 0x00253580
|
||||
[Token(Token = "0x600A097")]
|
||||
[Address(RVA = "0x2187FC0", Offset = "0x21869C0", VA = "0x182187FC0", Slot = "4")]
|
||||
public virtual void Init(BigInteger N, BigInteger g, BigInteger v, IDigest digest, SecureRandom random)
|
||||
{
|
||||
this.random = 0;
|
||||
this.digest = 0;
|
||||
this.N = N;
|
||||
this.g = g;
|
||||
this.v = v;
|
||||
}
|
||||
|
||||
// Token: 0x0600A098 RID: 41112 RVA: 0x002553B0 File Offset: 0x002535B0
|
||||
[Token(Token = "0x600A098")]
|
||||
[Address(RVA = "0x2187F70", Offset = "0x2186970", VA = "0x182187F70", Slot = "5")]
|
||||
public virtual void Init(Srp6GroupParameters group, BigInteger v, IDigest digest, SecureRandom random)
|
||||
{
|
||||
string text = this.ToString();
|
||||
}
|
||||
|
||||
// Token: 0x0600A099 RID: 41113 RVA: 0x002553CC File Offset: 0x002535CC
|
||||
[Token(Token = "0x600A099")]
|
||||
[Address(RVA = "0x2187EA0", Offset = "0x21868A0", VA = "0x182187EA0", Slot = "6")]
|
||||
public virtual BigInteger GenerateServerCredentials()
|
||||
{
|
||||
BigInteger n = this.N;
|
||||
BigInteger bigInteger = this.g;
|
||||
BigInteger bigInteger2 = Srp6Utilities.HashPaddedPair(this.digest, n, n, bigInteger);
|
||||
BigInteger bigInteger3;
|
||||
this.privB = bigInteger3;
|
||||
BigInteger bigInteger4 = this.v;
|
||||
BigInteger bigInteger5 = bigInteger2.Multiply(bigInteger4);
|
||||
BigInteger n2 = this.N;
|
||||
BigInteger bigInteger6 = bigInteger5.Mod(n2);
|
||||
BigInteger bigInteger7 = this.g;
|
||||
BigInteger n3 = this.N;
|
||||
BigInteger bigInteger8 = this.privB;
|
||||
BigInteger bigInteger9 = bigInteger7.ModPow(bigInteger8, n3);
|
||||
BigInteger bigInteger10 = bigInteger6.Add(bigInteger9);
|
||||
BigInteger n4 = this.N;
|
||||
BigInteger bigInteger11 = bigInteger10.Mod(n4);
|
||||
this.pubB = bigInteger11;
|
||||
return bigInteger11;
|
||||
}
|
||||
|
||||
// Token: 0x0600A09A RID: 41114 RVA: 0x00255478 File Offset: 0x00253678
|
||||
[Token(Token = "0x600A09A")]
|
||||
[Address(RVA = "0x2187B00", Offset = "0x2186500", VA = "0x182187B00", Slot = "7")]
|
||||
public virtual BigInteger CalculateSecret(BigInteger clientA)
|
||||
{
|
||||
BigInteger n = this.N;
|
||||
BigInteger bigInteger = clientA.Mod(n);
|
||||
BigInteger bigInteger2 = this.pubB;
|
||||
BigInteger n2 = this.N;
|
||||
IDigest digest = this.digest;
|
||||
this.A = bigInteger;
|
||||
BigInteger bigInteger3 = Srp6Utilities.HashPaddedPair(digest, n2, bigInteger, bigInteger2);
|
||||
BigInteger bigInteger4 = this.v;
|
||||
this.u = bigInteger3;
|
||||
BigInteger n3 = this.N;
|
||||
BigInteger bigInteger5 = bigInteger4.ModPow(bigInteger3, n3);
|
||||
BigInteger a = this.A;
|
||||
BigInteger bigInteger6 = bigInteger5.Multiply(a);
|
||||
BigInteger n4 = this.N;
|
||||
BigInteger bigInteger7 = bigInteger6.Mod(n4);
|
||||
BigInteger n5 = this.N;
|
||||
BigInteger bigInteger8 = this.privB;
|
||||
BigInteger bigInteger9 = bigInteger7.ModPow(bigInteger8, n5);
|
||||
this.S = bigInteger9;
|
||||
return bigInteger9;
|
||||
}
|
||||
|
||||
// Token: 0x0600A09B RID: 41115 RVA: 0x00255544 File Offset: 0x00253744
|
||||
[Token(Token = "0x600A09B")]
|
||||
[Address(RVA = "0x2187FE0", Offset = "0x21869E0", VA = "0x182187FE0", Slot = "8")]
|
||||
protected virtual BigInteger SelectPrivateValue()
|
||||
{
|
||||
BigInteger n = this.N;
|
||||
SecureRandom secureRandom = this.random;
|
||||
int num = 0;
|
||||
int num2 = n.BitLength;
|
||||
num2 -= num;
|
||||
uint num3;
|
||||
num2 = Math.Min((int)num3, num2);
|
||||
BigInteger one = BigInteger.One;
|
||||
int num4 = num2 - 1;
|
||||
BigInteger bigInteger = one.ShiftLeft(num4);
|
||||
BigInteger one2 = BigInteger.One;
|
||||
BigInteger bigInteger2 = n.Subtract(one2);
|
||||
return BigIntegers.CreateRandomInRange(bigInteger, bigInteger2, secureRandom);
|
||||
}
|
||||
|
||||
// Token: 0x0600A09C RID: 41116 RVA: 0x002555B0 File Offset: 0x002537B0
|
||||
[Token(Token = "0x600A09C")]
|
||||
[Address(RVA = "0x2187A90", Offset = "0x2186490", VA = "0x182187A90")]
|
||||
private BigInteger CalculateS()
|
||||
{
|
||||
BigInteger bigInteger = this.v;
|
||||
BigInteger n = this.N;
|
||||
BigInteger bigInteger2 = this.u;
|
||||
BigInteger bigInteger3 = bigInteger.ModPow(bigInteger2, n);
|
||||
BigInteger a = this.A;
|
||||
BigInteger bigInteger4 = bigInteger3.Multiply(a);
|
||||
BigInteger n2 = this.N;
|
||||
BigInteger bigInteger5 = bigInteger4.Mod(n2);
|
||||
BigInteger n3 = this.N;
|
||||
BigInteger bigInteger6 = this.privB;
|
||||
return bigInteger5.ModPow(bigInteger6, n3);
|
||||
}
|
||||
|
||||
// Token: 0x0600A09D RID: 41117 RVA: 0x00255624 File Offset: 0x00253824
|
||||
[Token(Token = "0x600A09D")]
|
||||
[Address(RVA = "0x21880F0", Offset = "0x2186AF0", VA = "0x1821880F0", Slot = "9")]
|
||||
public virtual bool VerifyClientEvidenceMessage(BigInteger clientM1)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A09D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server::VerifyClientEvidenceMessage(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_43:
|
||||
stloc:CryptoException(var_5_4D, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Impossible to compute and verify M1: some data are missing from the previous operations (A,B,S)")))
|
||||
}
|
||||
|
||||
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: 0x0600A09E RID: 41118 RVA: 0x00255680 File Offset: 0x00253880
|
||||
[Token(Token = "0x600A09E")]
|
||||
[Address(RVA = "0x2187C70", Offset = "0x2186670", VA = "0x182187C70", Slot = "10")]
|
||||
public virtual BigInteger CalculateServerEvidenceMessage()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A09E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server::CalculateServerEvidenceMessage()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_44:
|
||||
stloc:CryptoException(var_6_4E, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Impossible to compute M2: some data are missing from the previous operations (A,M1,S)")))
|
||||
}
|
||||
|
||||
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: 0x0600A09F RID: 41119 RVA: 0x002556DC File Offset: 0x002538DC
|
||||
[Token(Token = "0x600A09F")]
|
||||
[Address(RVA = "0x2187D10", Offset = "0x2186710", VA = "0x182187D10", Slot = "11")]
|
||||
public virtual BigInteger CalculateSessionKey()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A09F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server::CalculateSessionKey()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_77:
|
||||
stloc:CryptoException(var_10_81, newobj:CryptoException(CryptoException::.ctor, ldstr:string("Impossible to compute Key: some data are missing from the previous operations (S,M1,M2)")))
|
||||
}
|
||||
|
||||
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: 0x040069A0 RID: 27040
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069A0")]
|
||||
protected BigInteger N;
|
||||
|
||||
// Token: 0x040069A1 RID: 27041
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069A1")]
|
||||
protected BigInteger g;
|
||||
|
||||
// Token: 0x040069A2 RID: 27042
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069A2")]
|
||||
protected BigInteger v;
|
||||
|
||||
// Token: 0x040069A3 RID: 27043
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40069A3")]
|
||||
protected SecureRandom random;
|
||||
|
||||
// Token: 0x040069A4 RID: 27044
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40069A4")]
|
||||
protected IDigest digest;
|
||||
|
||||
// Token: 0x040069A5 RID: 27045
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40069A5")]
|
||||
protected BigInteger A;
|
||||
|
||||
// Token: 0x040069A6 RID: 27046
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40069A6")]
|
||||
protected BigInteger privB;
|
||||
|
||||
// Token: 0x040069A7 RID: 27047
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40069A7")]
|
||||
protected BigInteger pubB;
|
||||
|
||||
// Token: 0x040069A8 RID: 27048
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40069A8")]
|
||||
protected BigInteger u;
|
||||
|
||||
// Token: 0x040069A9 RID: 27049
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x40069A9")]
|
||||
protected BigInteger S;
|
||||
|
||||
// Token: 0x040069AA RID: 27050
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x40069AA")]
|
||||
protected BigInteger M1;
|
||||
|
||||
// Token: 0x040069AB RID: 27051
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x40069AB")]
|
||||
protected BigInteger M2;
|
||||
|
||||
// Token: 0x040069AC RID: 27052
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x40069AC")]
|
||||
protected BigInteger Key;
|
||||
}
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp
|
||||
{
|
||||
// Token: 0x02001735 RID: 5941
|
||||
[Token(Token = "0x2001735")]
|
||||
[StructLayout(3)]
|
||||
public class Srp6StandardGroups
|
||||
{
|
||||
// Token: 0x0600A0A0 RID: 41120 RVA: 0x0025576C File Offset: 0x0025396C
|
||||
[Token(Token = "0x600A0A0")]
|
||||
[Address(RVA = "0x21881D0", Offset = "0x2186BD0", VA = "0x1821881D0")]
|
||||
private static BigInteger FromHex(string hex)
|
||||
{
|
||||
byte[] array = Hex.Decode(hex);
|
||||
return new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0A1 RID: 41121 RVA: 0x00255788 File Offset: 0x00253988
|
||||
[Token(Token = "0x600A0A1")]
|
||||
[Address(RVA = "0x2188260", Offset = "0x2186C60", VA = "0x182188260")]
|
||||
private static Srp6GroupParameters FromNG(string hexN, string hexG)
|
||||
{
|
||||
BigInteger bigInteger = Srp6StandardGroups.FromHex(hexN);
|
||||
BigInteger bigInteger2 = Srp6StandardGroups.FromHex(hexG);
|
||||
return new Srp6GroupParameters(bigInteger, bigInteger2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0A2 RID: 41122 RVA: 0x002557AC File Offset: 0x002539AC
|
||||
[Token(Token = "0x600A0A2")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public Srp6StandardGroups()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040069AD RID: 27053
|
||||
[Token(Token = "0x40069AD")]
|
||||
private const string rfc5054_1024_N = "EEAF0AB9ADB38DD69C33F80AFA8FC5E86072618775FF3C0B9EA2314C9C256576D674DF7496EA81D3383B4813D692C6E0E0D5D8E250B98BE48E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D4982559B297BCF1885C529F566660E57EC68EDBC3C05726CC02FD4CBF4976EAA9AFD5138FE8376435B9FC61D2FC0EB06E3";
|
||||
|
||||
// Token: 0x040069AE RID: 27054
|
||||
[Token(Token = "0x40069AE")]
|
||||
private const string rfc5054_1024_g = "02";
|
||||
|
||||
// Token: 0x040069AF RID: 27055
|
||||
[Token(Token = "0x40069AF")]
|
||||
public static readonly Srp6GroupParameters rfc5054_1024 = Srp6StandardGroups.FromNG("EEAF0AB9ADB38DD69C33F80AFA8FC5E86072618775FF3C0B9EA2314C9C256576D674DF7496EA81D3383B4813D692C6E0E0D5D8E250B98BE48E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D4982559B297BCF1885C529F566660E57EC68EDBC3C05726CC02FD4CBF4976EAA9AFD5138FE8376435B9FC61D2FC0EB06E3", "02");
|
||||
|
||||
// Token: 0x040069B0 RID: 27056
|
||||
[Token(Token = "0x40069B0")]
|
||||
private const string rfc5054_1536_N = "9DEF3CAFB939277AB1F12A8617A47BBBDBA51DF499AC4C80BEEEA9614B19CC4D5F4F5F556E27CBDE51C6A94BE4607A291558903BA0D0F84380B655BB9A22E8DCDF028A7CEC67F0D08134B1C8B97989149B609E0BE3BAB63D47548381DBC5B1FC764E3F4B53DD9DA1158BFD3E2B9C8CF56EDF019539349627DB2FD53D24B7C48665772E437D6C7F8CE442734AF7CCB7AE837C264AE3A9BEB87F8A2FE9B8B5292E5A021FFF5E91479E8CE7A28C2442C6F315180F93499A234DCF76E3FED135F9BB";
|
||||
|
||||
// Token: 0x040069B1 RID: 27057
|
||||
[Token(Token = "0x40069B1")]
|
||||
private const string rfc5054_1536_g = "02";
|
||||
|
||||
// Token: 0x040069B2 RID: 27058
|
||||
[Token(Token = "0x40069B2")]
|
||||
public static readonly Srp6GroupParameters rfc5054_1536 = Srp6StandardGroups.FromNG("9DEF3CAFB939277AB1F12A8617A47BBBDBA51DF499AC4C80BEEEA9614B19CC4D5F4F5F556E27CBDE51C6A94BE4607A291558903BA0D0F84380B655BB9A22E8DCDF028A7CEC67F0D08134B1C8B97989149B609E0BE3BAB63D47548381DBC5B1FC764E3F4B53DD9DA1158BFD3E2B9C8CF56EDF019539349627DB2FD53D24B7C48665772E437D6C7F8CE442734AF7CCB7AE837C264AE3A9BEB87F8A2FE9B8B5292E5A021FFF5E91479E8CE7A28C2442C6F315180F93499A234DCF76E3FED135F9BB", "02");
|
||||
|
||||
// Token: 0x040069B3 RID: 27059
|
||||
[Token(Token = "0x40069B3")]
|
||||
private const string rfc5054_2048_N = "AC6BDB41324A9A9BF166DE5E1389582FAF72B6651987EE07FC3192943DB56050A37329CBB4A099ED8193E0757767A13DD52312AB4B03310DCD7F48A9DA04FD50E8083969EDB767B0CF6095179A163AB3661A05FBD5FAAAE82918A9962F0B93B855F97993EC975EEAA80D740ADBF4FF747359D041D5C33EA71D281E446B14773BCA97B43A23FB801676BD207A436C6481F1D2B9078717461A5B9D32E688F87748544523B524B0D57D5EA77A2775D2ECFA032CFBDBF52FB3786160279004E57AE6AF874E7303CE53299CCC041C7BC308D82A5698F3A8D0C38271AE35F8E9DBFBB694B5C803D89F7AE435DE236D525F54759B65E372FCD68EF20FA7111F9E4AFF73";
|
||||
|
||||
// Token: 0x040069B4 RID: 27060
|
||||
[Token(Token = "0x40069B4")]
|
||||
private const string rfc5054_2048_g = "02";
|
||||
|
||||
// Token: 0x040069B5 RID: 27061
|
||||
[Token(Token = "0x40069B5")]
|
||||
public static readonly Srp6GroupParameters rfc5054_2048 = Srp6StandardGroups.FromNG("AC6BDB41324A9A9BF166DE5E1389582FAF72B6651987EE07FC3192943DB56050A37329CBB4A099ED8193E0757767A13DD52312AB4B03310DCD7F48A9DA04FD50E8083969EDB767B0CF6095179A163AB3661A05FBD5FAAAE82918A9962F0B93B855F97993EC975EEAA80D740ADBF4FF747359D041D5C33EA71D281E446B14773BCA97B43A23FB801676BD207A436C6481F1D2B9078717461A5B9D32E688F87748544523B524B0D57D5EA77A2775D2ECFA032CFBDBF52FB3786160279004E57AE6AF874E7303CE53299CCC041C7BC308D82A5698F3A8D0C38271AE35F8E9DBFBB694B5C803D89F7AE435DE236D525F54759B65E372FCD68EF20FA7111F9E4AFF73", "02");
|
||||
|
||||
// Token: 0x040069B6 RID: 27062
|
||||
[Token(Token = "0x40069B6")]
|
||||
private const string rfc5054_3072_N = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF";
|
||||
|
||||
// Token: 0x040069B7 RID: 27063
|
||||
[Token(Token = "0x40069B7")]
|
||||
private const string rfc5054_3072_g = "05";
|
||||
|
||||
// Token: 0x040069B8 RID: 27064
|
||||
[Token(Token = "0x40069B8")]
|
||||
public static readonly Srp6GroupParameters rfc5054_3072 = Srp6StandardGroups.FromNG("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF", "05");
|
||||
|
||||
// Token: 0x040069B9 RID: 27065
|
||||
[Token(Token = "0x40069B9")]
|
||||
private const string rfc5054_4096_N = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199FFFFFFFFFFFFFFFF";
|
||||
|
||||
// Token: 0x040069BA RID: 27066
|
||||
[Token(Token = "0x40069BA")]
|
||||
private const string rfc5054_4096_g = "05";
|
||||
|
||||
// Token: 0x040069BB RID: 27067
|
||||
[Token(Token = "0x40069BB")]
|
||||
public static readonly Srp6GroupParameters rfc5054_4096 = Srp6StandardGroups.FromNG("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199FFFFFFFFFFFFFFFF", "05");
|
||||
|
||||
// Token: 0x040069BC RID: 27068
|
||||
[Token(Token = "0x40069BC")]
|
||||
private const string rfc5054_6144_N = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DCC4024FFFFFFFFFFFFFFFF";
|
||||
|
||||
// Token: 0x040069BD RID: 27069
|
||||
[Token(Token = "0x40069BD")]
|
||||
private const string rfc5054_6144_g = "05";
|
||||
|
||||
// Token: 0x040069BE RID: 27070
|
||||
[Token(Token = "0x40069BE")]
|
||||
public static readonly Srp6GroupParameters rfc5054_6144 = Srp6StandardGroups.FromNG("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DCC4024FFFFFFFFFFFFFFFF", "05");
|
||||
|
||||
// Token: 0x040069BF RID: 27071
|
||||
[Token(Token = "0x40069BF")]
|
||||
private const string rfc5054_8192_N = "FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DBE115974A3926F12FEE5E438777CB6A932DF8CD8BEC4D073B931BA3BC832B68D9DD300741FA7BF8AFC47ED2576F6936BA424663AAB639C5AE4F5683423B4742BF1C978238F16CBE39D652DE3FDB8BEFC848AD922222E04A4037C0713EB57A81A23F0C73473FC646CEA306B4BCBC8862F8385DDFA9D4B7FA2C087E879683303ED5BDD3A062B3CF5B3A278A66D2A13F83F44F82DDF310EE074AB6A364597E899A0255DC164F31CC50846851DF9AB48195DED7EA1B1D510BD7EE74D73FAF36BC31ECFA268359046F4EB879F924009438B481C6CD7889A002ED5EE382BC9190DA6FC026E479558E4475677E9AA9E3050E2765694DFC81F56E880B96E7160C980DD98EDD3DFFFFFFFFFFFFFFFFF";
|
||||
|
||||
// Token: 0x040069C0 RID: 27072
|
||||
[Token(Token = "0x40069C0")]
|
||||
private const string rfc5054_8192_g = "13";
|
||||
|
||||
// Token: 0x040069C1 RID: 27073
|
||||
[Token(Token = "0x40069C1")]
|
||||
public static readonly Srp6GroupParameters rfc5054_8192 = Srp6StandardGroups.FromNG("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DBE115974A3926F12FEE5E438777CB6A932DF8CD8BEC4D073B931BA3BC832B68D9DD300741FA7BF8AFC47ED2576F6936BA424663AAB639C5AE4F5683423B4742BF1C978238F16CBE39D652DE3FDB8BEFC848AD922222E04A4037C0713EB57A81A23F0C73473FC646CEA306B4BCBC8862F8385DDFA9D4B7FA2C087E879683303ED5BDD3A062B3CF5B3A278A66D2A13F83F44F82DDF310EE074AB6A364597E899A0255DC164F31CC50846851DF9AB48195DED7EA1B1D510BD7EE74D73FAF36BC31ECFA268359046F4EB879F924009438B481C6CD7889A002ED5EE382BC9190DA6FC026E479558E4475677E9AA9E3050E2765694DFC81F56E880B96E7160C980DD98EDD3DFFFFFFFFFFFFFFFFF", "13");
|
||||
}
|
||||
}
|
||||
+165
@@ -0,0 +1,165 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp
|
||||
{
|
||||
// Token: 0x02001736 RID: 5942
|
||||
[Token(Token = "0x2001736")]
|
||||
[StructLayout(3)]
|
||||
public class Srp6Utilities
|
||||
{
|
||||
// Token: 0x0600A0A4 RID: 41124 RVA: 0x0025585C File Offset: 0x00253A5C
|
||||
[Token(Token = "0x600A0A4")]
|
||||
[Address(RVA = "0x2188440", Offset = "0x2186E40", VA = "0x182188440")]
|
||||
public static BigInteger CalculateK(IDigest digest, BigInteger N, BigInteger g)
|
||||
{
|
||||
return Srp6Utilities.HashPaddedPair(digest, N, N, g);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0A5 RID: 41125 RVA: 0x00255874 File Offset: 0x00253A74
|
||||
[Token(Token = "0x600A0A5")]
|
||||
[Address(RVA = "0x2188580", Offset = "0x2186F80", VA = "0x182188580")]
|
||||
public static BigInteger CalculateU(IDigest digest, BigInteger N, BigInteger A, BigInteger B)
|
||||
{
|
||||
return Srp6Utilities.HashPaddedPair(digest, N, A, B);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0A6 RID: 41126 RVA: 0x0025588C File Offset: 0x00253A8C
|
||||
[Token(Token = "0x600A0A6")]
|
||||
[Address(RVA = "0x2188590", Offset = "0x2186F90", VA = "0x182188590")]
|
||||
public static BigInteger CalculateX(IDigest digest, BigInteger N, byte[] salt, byte[] identity, byte[] password)
|
||||
{
|
||||
byte[] array = new byte[0];
|
||||
int length = identity.Length;
|
||||
int num = 0;
|
||||
if (num < identity)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
int length2 = salt.Length;
|
||||
int length3 = array.Length;
|
||||
return new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0A7 RID: 41127 RVA: 0x002558D4 File Offset: 0x00253AD4
|
||||
[Token(Token = "0x600A0A7")]
|
||||
[Address(RVA = "0x21887B0", Offset = "0x21871B0", VA = "0x1821887B0")]
|
||||
public static BigInteger GeneratePrivateValue(IDigest digest, BigInteger N, BigInteger g, SecureRandom random)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = N.BitLength;
|
||||
num2 -= num;
|
||||
uint num3;
|
||||
num2 = Math.Min((int)num3, num2);
|
||||
BigInteger one = BigInteger.One;
|
||||
int num4 = num2 - 1;
|
||||
BigInteger bigInteger = one.ShiftLeft(num4);
|
||||
BigInteger one2 = BigInteger.One;
|
||||
BigInteger bigInteger2 = N.Subtract(one2);
|
||||
return BigIntegers.CreateRandomInRange(bigInteger, bigInteger2, random);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0A8 RID: 41128 RVA: 0x0025592C File Offset: 0x00253B2C
|
||||
[Token(Token = "0x600A0A8")]
|
||||
[Address(RVA = "0x2188C70", Offset = "0x2187670", VA = "0x182188C70")]
|
||||
public static BigInteger ValidatePublicValue(BigInteger N, BigInteger val)
|
||||
{
|
||||
return val.Mod(N);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0A9 RID: 41129 RVA: 0x00255954 File Offset: 0x00253B54
|
||||
[Token(Token = "0x600A0A9")]
|
||||
[Address(RVA = "0x2188570", Offset = "0x2186F70", VA = "0x182188570")]
|
||||
public static BigInteger CalculateM1(IDigest digest, BigInteger N, BigInteger A, BigInteger B, BigInteger S)
|
||||
{
|
||||
BigInteger bigInteger;
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0AA RID: 41130 RVA: 0x00255964 File Offset: 0x00253B64
|
||||
[Token(Token = "0x600A0AA")]
|
||||
[Address(RVA = "0x2188570", Offset = "0x2186F70", VA = "0x182188570")]
|
||||
public static BigInteger CalculateM2(IDigest digest, BigInteger N, BigInteger A, BigInteger M1, BigInteger S)
|
||||
{
|
||||
BigInteger bigInteger;
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0AB RID: 41131 RVA: 0x00255974 File Offset: 0x00253B74
|
||||
[Token(Token = "0x600A0AB")]
|
||||
[Address(RVA = "0x2188460", Offset = "0x2186E60", VA = "0x182188460")]
|
||||
public static BigInteger CalculateKey(IDigest digest, BigInteger N, BigInteger S)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = N.BitLength;
|
||||
num2 += 7;
|
||||
num += num2;
|
||||
byte[] padded = Srp6Utilities.GetPadded(S, num);
|
||||
int length = padded.Length;
|
||||
byte[] array = new byte[padded];
|
||||
return new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0AC RID: 41132 RVA: 0x002559BC File Offset: 0x00253BBC
|
||||
[Token(Token = "0x600A0AC")]
|
||||
[Address(RVA = "0x2188AC0", Offset = "0x21874C0", VA = "0x182188AC0")]
|
||||
private static BigInteger HashPaddedTriplet(IDigest digest, BigInteger N, BigInteger n1, BigInteger n2, BigInteger n3)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = N.BitLength;
|
||||
num2 += 7;
|
||||
num2 += num;
|
||||
byte[] padded = Srp6Utilities.GetPadded(n1, num2);
|
||||
byte[] padded2 = Srp6Utilities.GetPadded(n2, num2);
|
||||
int length = padded.Length;
|
||||
int length2 = padded2.Length;
|
||||
byte[] array2;
|
||||
byte[] array = new byte[array2.Length];
|
||||
return new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0AD RID: 41133 RVA: 0x00255A1C File Offset: 0x00253C1C
|
||||
[Token(Token = "0x600A0AD")]
|
||||
[Address(RVA = "0x2188960", Offset = "0x2187360", VA = "0x182188960")]
|
||||
private static BigInteger HashPaddedPair(IDigest digest, BigInteger N, BigInteger n1, BigInteger n2)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = N.BitLength;
|
||||
num2 += 7;
|
||||
num2 += num;
|
||||
byte[] padded = Srp6Utilities.GetPadded(n1, num2);
|
||||
byte[] padded2 = Srp6Utilities.GetPadded(n2, num2);
|
||||
int length = padded.Length;
|
||||
byte[] array = new byte[padded2.Length];
|
||||
return new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A0AE RID: 41134 RVA: 0x00255A70 File Offset: 0x00253C70
|
||||
[Token(Token = "0x600A0AE")]
|
||||
[Address(RVA = "0x21888C0", Offset = "0x21872C0", VA = "0x1821888C0")]
|
||||
private static byte[] GetPadded(BigInteger n, int length)
|
||||
{
|
||||
byte[] array = BigIntegers.AsUnsignedByteArray(n);
|
||||
if (array.Length < length)
|
||||
{
|
||||
byte[] array2 = new byte[length];
|
||||
int length2 = array.Length;
|
||||
int num = 0;
|
||||
Array.Copy(array, num, array2, length, length2);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0AF RID: 41135 RVA: 0x00255AB0 File Offset: 0x00253CB0
|
||||
[Token(Token = "0x600A0AF")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public Srp6Utilities()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp
|
||||
{
|
||||
// Token: 0x02001737 RID: 5943
|
||||
[Token(Token = "0x2001737")]
|
||||
[StructLayout(3)]
|
||||
public class Srp6VerifierGenerator
|
||||
{
|
||||
// Token: 0x0600A0B0 RID: 41136 RVA: 0x00255AC4 File Offset: 0x00253CC4
|
||||
[Token(Token = "0x600A0B0")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public Srp6VerifierGenerator()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A0B1 RID: 41137 RVA: 0x00255AD8 File Offset: 0x00253CD8
|
||||
[Token(Token = "0x600A0B1")]
|
||||
[Address(RVA = "0x2188DA0", Offset = "0x21877A0", VA = "0x182188DA0", Slot = "4")]
|
||||
public virtual void Init(BigInteger N, BigInteger g, IDigest digest)
|
||||
{
|
||||
this.N = N;
|
||||
this.g = g;
|
||||
this.digest = digest;
|
||||
}
|
||||
|
||||
// Token: 0x0600A0B2 RID: 41138 RVA: 0x00255AFC File Offset: 0x00253CFC
|
||||
[Token(Token = "0x600A0B2")]
|
||||
[Address(RVA = "0x2188DB0", Offset = "0x21877B0", VA = "0x182188DB0", Slot = "5")]
|
||||
public virtual void Init(Srp6GroupParameters group, IDigest digest)
|
||||
{
|
||||
string text = this.ToString();
|
||||
}
|
||||
|
||||
// Token: 0x0600A0B3 RID: 41139 RVA: 0x00255B18 File Offset: 0x00253D18
|
||||
[Token(Token = "0x600A0B3")]
|
||||
[Address(RVA = "0x2188D50", Offset = "0x2187750", VA = "0x182188D50", Slot = "6")]
|
||||
public virtual BigInteger GenerateVerifier(byte[] salt, byte[] identity, byte[] password)
|
||||
{
|
||||
BigInteger n = this.N;
|
||||
BigInteger bigInteger = Srp6Utilities.CalculateX(this.digest, n, salt, identity, password);
|
||||
BigInteger bigInteger2 = this.g;
|
||||
BigInteger n2 = this.N;
|
||||
return bigInteger2.ModPow(bigInteger, n2);
|
||||
}
|
||||
|
||||
// Token: 0x040069C2 RID: 27074
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40069C2")]
|
||||
protected BigInteger N;
|
||||
|
||||
// Token: 0x040069C3 RID: 27075
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40069C3")]
|
||||
protected BigInteger g;
|
||||
|
||||
// Token: 0x040069C4 RID: 27076
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40069C4")]
|
||||
protected IDigest digest;
|
||||
}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x02001731 RID: 5937
|
||||
[Token(Token = "0x2001731")]
|
||||
[StructLayout(3)]
|
||||
public sealed class X25519Agreement : IRawAgreement
|
||||
{
|
||||
// Token: 0x0600A084 RID: 41092 RVA: 0x00254E8C File Offset: 0x0025308C
|
||||
[Token(Token = "0x600A084")]
|
||||
[Address(RVA = "0x2188E90", Offset = "0x2187890", VA = "0x182188E90", Slot = "4")]
|
||||
public void Init(ICipherParameters parameters)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (parameters != 0 && parameters == 0);
|
||||
this.privateKey = num;
|
||||
}
|
||||
|
||||
// Token: 0x1700192F RID: 6447
|
||||
// (get) Token: 0x0600A085 RID: 41093 RVA: 0x00254EAC File Offset: 0x002530AC
|
||||
[Token(Token = "0x1700192F")]
|
||||
public int AgreementSize
|
||||
{
|
||||
[Token(Token = "0x600A085")]
|
||||
[Address(RVA = "0x2188EF0", Offset = "0x21878F0", VA = "0x182188EF0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return X25519PrivateKeyParameters.SecretSize;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A086 RID: 41094 RVA: 0x00254EC0 File Offset: 0x002530C0
|
||||
[Token(Token = "0x600A086")]
|
||||
[Address(RVA = "0x2188DF0", Offset = "0x21877F0", VA = "0x182188DF0", Slot = "6")]
|
||||
public void CalculateAgreement(ICipherParameters publicKey, byte[] buf, int off)
|
||||
{
|
||||
X25519PrivateKeyParameters x25519PrivateKeyParameters;
|
||||
int num;
|
||||
do
|
||||
{
|
||||
x25519PrivateKeyParameters = this.privateKey;
|
||||
num = 0;
|
||||
}
|
||||
while (publicKey != 0 && publicKey == 0);
|
||||
x25519PrivateKeyParameters.GenerateSecret(num, buf, off);
|
||||
}
|
||||
|
||||
// Token: 0x0600A087 RID: 41095 RVA: 0x00254EF0 File Offset: 0x002530F0
|
||||
[Token(Token = "0x600A087")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public X25519Agreement()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006991 RID: 27025
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006991")]
|
||||
private X25519PrivateKeyParameters privateKey;
|
||||
}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement
|
||||
{
|
||||
// Token: 0x02001732 RID: 5938
|
||||
[Token(Token = "0x2001732")]
|
||||
[StructLayout(3)]
|
||||
public sealed class X448Agreement : IRawAgreement
|
||||
{
|
||||
// Token: 0x0600A088 RID: 41096 RVA: 0x00254F04 File Offset: 0x00253104
|
||||
[Token(Token = "0x600A088")]
|
||||
[Address(RVA = "0x2188FF0", Offset = "0x21879F0", VA = "0x182188FF0", Slot = "4")]
|
||||
public void Init(ICipherParameters parameters)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (parameters != 0 && parameters == 0);
|
||||
this.privateKey = num;
|
||||
}
|
||||
|
||||
// Token: 0x17001930 RID: 6448
|
||||
// (get) Token: 0x0600A089 RID: 41097 RVA: 0x00254F24 File Offset: 0x00253124
|
||||
[Token(Token = "0x17001930")]
|
||||
public int AgreementSize
|
||||
{
|
||||
[Token(Token = "0x600A089")]
|
||||
[Address(RVA = "0x2189050", Offset = "0x2187A50", VA = "0x182189050", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return X448PrivateKeyParameters.SecretSize;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A08A RID: 41098 RVA: 0x00254F38 File Offset: 0x00253138
|
||||
[Token(Token = "0x600A08A")]
|
||||
[Address(RVA = "0x2188F50", Offset = "0x2187950", VA = "0x182188F50", Slot = "6")]
|
||||
public void CalculateAgreement(ICipherParameters publicKey, byte[] buf, int off)
|
||||
{
|
||||
X448PrivateKeyParameters x448PrivateKeyParameters;
|
||||
int num;
|
||||
do
|
||||
{
|
||||
x448PrivateKeyParameters = this.privateKey;
|
||||
num = 0;
|
||||
}
|
||||
while (publicKey != 0 && publicKey == 0);
|
||||
x448PrivateKeyParameters.GenerateSecret(num, buf, off);
|
||||
}
|
||||
|
||||
// Token: 0x0600A08B RID: 41099 RVA: 0x00254F68 File Offset: 0x00253168
|
||||
[Token(Token = "0x600A08B")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public X448Agreement()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006992 RID: 27026
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006992")]
|
||||
private X448PrivateKeyParameters privateKey;
|
||||
}
|
||||
}
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014E5 RID: 5349
|
||||
[Token(Token = "0x20014E5")]
|
||||
[StructLayout(3)]
|
||||
public class AsymmetricCipherKeyPair
|
||||
{
|
||||
// Token: 0x06008E5F RID: 36447 RVA: 0x001FC8C0 File Offset: 0x001FAAC0
|
||||
[Token(Token = "0x6008E5F")]
|
||||
[Address(RVA = "0x2172A60", Offset = "0x2171460", VA = "0x182172A60")]
|
||||
public AsymmetricCipherKeyPair(AsymmetricKeyParameter publicParameter, AsymmetricKeyParameter privateParameter)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E5F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2D:
|
||||
stloc:ArgumentException(var_0_3C, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Expected a private key"), ldstr:string("privateParameter")))
|
||||
}
|
||||
|
||||
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: 0x1700170E RID: 5902
|
||||
// (get) Token: 0x06008E60 RID: 36448 RVA: 0x001FC90C File Offset: 0x001FAB0C
|
||||
[Token(Token = "0x1700170E")]
|
||||
public AsymmetricKeyParameter Public
|
||||
{
|
||||
[Token(Token = "0x6008E60")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
|
||||
get
|
||||
{
|
||||
return this.publicParameter;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700170F RID: 5903
|
||||
// (get) Token: 0x06008E61 RID: 36449 RVA: 0x001FC920 File Offset: 0x001FAB20
|
||||
[Token(Token = "0x1700170F")]
|
||||
public AsymmetricKeyParameter Private
|
||||
{
|
||||
[Token(Token = "0x6008E61")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
|
||||
get
|
||||
{
|
||||
return this.privateParameter;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04005E50 RID: 24144
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E50")]
|
||||
private readonly AsymmetricKeyParameter publicParameter;
|
||||
|
||||
// Token: 0x04005E51 RID: 24145
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E51")]
|
||||
private readonly AsymmetricKeyParameter privateParameter;
|
||||
}
|
||||
}
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014E6 RID: 5350
|
||||
[Token(Token = "0x20014E6")]
|
||||
[StructLayout(3)]
|
||||
public abstract class AsymmetricKeyParameter : ICipherParameters
|
||||
{
|
||||
// Token: 0x06008E62 RID: 36450 RVA: 0x001FC934 File Offset: 0x001FAB34
|
||||
[Token(Token = "0x6008E62")]
|
||||
[Address(RVA = "0x5344B0", Offset = "0x532EB0", VA = "0x1805344B0")]
|
||||
protected AsymmetricKeyParameter(bool privateKey)
|
||||
{
|
||||
this.privateKey = privateKey;
|
||||
}
|
||||
|
||||
// Token: 0x17001710 RID: 5904
|
||||
// (get) Token: 0x06008E63 RID: 36451 RVA: 0x001FC950 File Offset: 0x001FAB50
|
||||
[Token(Token = "0x17001710")]
|
||||
public bool IsPrivate
|
||||
{
|
||||
[Token(Token = "0x6008E63")]
|
||||
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440")]
|
||||
get
|
||||
{
|
||||
return this.privateKey;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E64 RID: 36452 RVA: 0x001FC964 File Offset: 0x001FAB64
|
||||
[Token(Token = "0x6008E64")]
|
||||
[Address(RVA = "0x2172B50", Offset = "0x2171550", VA = "0x182172B50", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != 0 && obj != 0)
|
||||
{
|
||||
return this.privateKey == obj;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E65 RID: 36453 RVA: 0x001FC988 File Offset: 0x001FAB88
|
||||
[Token(Token = "0x6008E65")]
|
||||
[Address(RVA = "0x2172BE0", Offset = "0x21715E0", VA = "0x182172BE0")]
|
||||
protected bool Equals(AsymmetricKeyParameter other)
|
||||
{
|
||||
bool flag = other.privateKey;
|
||||
return this.privateKey == flag;
|
||||
}
|
||||
|
||||
// Token: 0x06008E66 RID: 36454 RVA: 0x001FC9AC File Offset: 0x001FABAC
|
||||
[Token(Token = "0x6008E66")]
|
||||
[Address(RVA = "0x2172C00", Offset = "0x2171600", VA = "0x182172C00", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E66)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter::GetHashCode()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:bool(var_0_06, ldfld:bool(AsymmetricKeyParameter::privateKey, ldloc:AsymmetricKeyParameter(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: 0x04005E52 RID: 24146
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E52")]
|
||||
private readonly bool privateKey;
|
||||
}
|
||||
}
|
||||
+244
@@ -0,0 +1,244 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014E7 RID: 5351
|
||||
[Token(Token = "0x20014E7")]
|
||||
[StructLayout(3)]
|
||||
public class BufferedAeadBlockCipher : BufferedCipherBase
|
||||
{
|
||||
// Token: 0x06008E67 RID: 36455 RVA: 0x001FC9C0 File Offset: 0x001FABC0
|
||||
[Token(Token = "0x6008E67")]
|
||||
[Address(RVA = "0x2177090", Offset = "0x2175A90", VA = "0x182177090")]
|
||||
public BufferedAeadBlockCipher(IAeadBlockCipher cipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E67)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAeadBlockCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("cipher")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001711 RID: 5905
|
||||
// (get) Token: 0x06008E68 RID: 36456 RVA: 0x001FC9EC File Offset: 0x001FABEC
|
||||
[Token(Token = "0x17001711")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6008E68")]
|
||||
[Address(RVA = "0x2177130", Offset = "0x2175B30", VA = "0x182177130", Slot = "22")]
|
||||
get
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E69 RID: 36457 RVA: 0x001FCA08 File Offset: 0x001FAC08
|
||||
[Token(Token = "0x6008E69")]
|
||||
[Address(RVA = "0x2176B00", Offset = "0x2175500", VA = "0x182176B00", Slot = "23")]
|
||||
public override void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
while (parameters != 0 && parameters != 0 && (parameters == 0 || parameters == 0))
|
||||
{
|
||||
}
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
}
|
||||
|
||||
// Token: 0x06008E6A RID: 36458 RVA: 0x001FCA38 File Offset: 0x001FAC38
|
||||
[Token(Token = "0x6008E6A")]
|
||||
[Address(RVA = "0x21769F0", Offset = "0x21753F0", VA = "0x1821769F0", Slot = "24")]
|
||||
public override int GetBlockSize()
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E6B RID: 36459 RVA: 0x001FCA54 File Offset: 0x001FAC54
|
||||
[Token(Token = "0x6008E6B")]
|
||||
[Address(RVA = "0x2176AA0", Offset = "0x21754A0", VA = "0x182176AA0", Slot = "26")]
|
||||
public override int GetUpdateOutputSize(int length)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E6C RID: 36460 RVA: 0x001FCA70 File Offset: 0x001FAC70
|
||||
[Token(Token = "0x6008E6C")]
|
||||
[Address(RVA = "0x2176A40", Offset = "0x2175440", VA = "0x182176A40", Slot = "25")]
|
||||
public override int GetOutputSize(int length)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E6D RID: 36461 RVA: 0x001FCA8C File Offset: 0x001FAC8C
|
||||
[Token(Token = "0x6008E6D")]
|
||||
[Address(RVA = "0x2176C40", Offset = "0x2175640", VA = "0x182176C40", Slot = "28")]
|
||||
public override int ProcessByte(byte input, byte[] output, int outOff)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
int num = 0;
|
||||
if (num < output)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
string algorithmName = aeadBlockCipher.AlgorithmName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E6E RID: 36462 RVA: 0x001FCABC File Offset: 0x001FACBC
|
||||
[Token(Token = "0x6008E6E")]
|
||||
[Address(RVA = "0x2176D30", Offset = "0x2175730", VA = "0x182176D30", Slot = "27")]
|
||||
public override byte[] ProcessByte(byte input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E6E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAeadBlockCipher::ProcessByte(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_2:
|
||||
stloc:uint8[](var_4_2B, newarr:uint8[]([mscorlib]System.Byte, ldloc:uint8[][exp:int32](var_3_1C)))
|
||||
}
|
||||
|
||||
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: 0x06008E6F RID: 36463 RVA: 0x001FCAF8 File Offset: 0x001FACF8
|
||||
[Token(Token = "0x6008E6F")]
|
||||
[Address(RVA = "0x2176F00", Offset = "0x2175900", VA = "0x182176F00", Slot = "30")]
|
||||
public override byte[] ProcessBytes(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E6F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAeadBlockCipher::ProcessBytes(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_41:
|
||||
stloc:ArgumentNullException(var_9_4B, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("input")))
|
||||
}
|
||||
|
||||
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: 0x06008E70 RID: 36464 RVA: 0x001FCB54 File Offset: 0x001FAD54
|
||||
[Token(Token = "0x6008E70")]
|
||||
[Address(RVA = "0x2176E10", Offset = "0x2175810", VA = "0x182176E10", Slot = "32")]
|
||||
public override int ProcessBytes(byte[] input, int inOff, int length, byte[] output, int outOff)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
int num = 0;
|
||||
if (num < inOff)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
string algorithmName = aeadBlockCipher.AlgorithmName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E71 RID: 36465 RVA: 0x001FCB84 File Offset: 0x001FAD84
|
||||
[Token(Token = "0x6008E71")]
|
||||
[Address(RVA = "0x2176920", Offset = "0x2175320", VA = "0x182176920", Slot = "33")]
|
||||
public override byte[] DoFinal()
|
||||
{
|
||||
byte[] array = new byte[this.GetBlockSize()];
|
||||
byte[] array2;
|
||||
if (array2 < array.Length)
|
||||
{
|
||||
byte[] array3 = new byte[array2];
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06008E72 RID: 36466 RVA: 0x001FCBB8 File Offset: 0x001FADB8
|
||||
[Token(Token = "0x6008E72")]
|
||||
[Address(RVA = "0x2176750", Offset = "0x2175150", VA = "0x182176750", Slot = "35")]
|
||||
public override byte[] DoFinal(byte[] input, int inOff, int inLen)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E72)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAeadBlockCipher::DoFinal(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_29:
|
||||
stloc:ArgumentNullException(var_7_33, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("input")))
|
||||
}
|
||||
|
||||
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: 0x06008E73 RID: 36467 RVA: 0x001FCBFC File Offset: 0x001FADFC
|
||||
[Token(Token = "0x6008E73")]
|
||||
[Address(RVA = "0x21768B0", Offset = "0x21752B0", VA = "0x1821768B0", Slot = "36")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E74 RID: 36468 RVA: 0x001FCC18 File Offset: 0x001FAE18
|
||||
[Token(Token = "0x6008E74")]
|
||||
[Address(RVA = "0x2177040", Offset = "0x2175A40", VA = "0x182177040", Slot = "39")]
|
||||
public override void Reset()
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04005E53 RID: 24147
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E53")]
|
||||
private readonly IAeadBlockCipher cipher;
|
||||
}
|
||||
}
|
||||
+209
@@ -0,0 +1,209 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014E8 RID: 5352
|
||||
[Token(Token = "0x20014E8")]
|
||||
[StructLayout(3)]
|
||||
public class BufferedAsymmetricBlockCipher : BufferedCipherBase
|
||||
{
|
||||
// Token: 0x06008E75 RID: 36469 RVA: 0x001FCC34 File Offset: 0x001FAE34
|
||||
[Token(Token = "0x6008E75")]
|
||||
[Address(RVA = "0x2177630", Offset = "0x2176030", VA = "0x182177630")]
|
||||
public BufferedAsymmetricBlockCipher(IAsymmetricBlockCipher cipher)
|
||||
{
|
||||
this.cipher = cipher;
|
||||
}
|
||||
|
||||
// Token: 0x06008E76 RID: 36470 RVA: 0x001FCC50 File Offset: 0x001FAE50
|
||||
[Token(Token = "0x6008E76")]
|
||||
[Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40")]
|
||||
internal int GetBufferPosition()
|
||||
{
|
||||
return this.bufOff;
|
||||
}
|
||||
|
||||
// Token: 0x17001712 RID: 5906
|
||||
// (get) Token: 0x06008E77 RID: 36471 RVA: 0x001FCC64 File Offset: 0x001FAE64
|
||||
[Token(Token = "0x17001712")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6008E77")]
|
||||
[Address(RVA = "0x21776A0", Offset = "0x21760A0", VA = "0x1821776A0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E78 RID: 36472 RVA: 0x001FCC80 File Offset: 0x001FAE80
|
||||
[Token(Token = "0x6008E78")]
|
||||
[Address(RVA = "0x21772F0", Offset = "0x2175CF0", VA = "0x1821772F0", Slot = "24")]
|
||||
public override int GetBlockSize()
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E79 RID: 36473 RVA: 0x001FCC9C File Offset: 0x001FAE9C
|
||||
[Token(Token = "0x6008E79")]
|
||||
[Address(RVA = "0x2177340", Offset = "0x2175D40", VA = "0x182177340", Slot = "25")]
|
||||
public override int GetOutputSize(int length)
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E7A RID: 36474 RVA: 0x001FCCB8 File Offset: 0x001FAEB8
|
||||
[Token(Token = "0x6008E7A")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "26")]
|
||||
public override int GetUpdateOutputSize(int length)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x06008E7B RID: 36475 RVA: 0x001FCCC8 File Offset: 0x001FAEC8
|
||||
[Token(Token = "0x6008E7B")]
|
||||
[Address(RVA = "0x2177390", Offset = "0x2175D90", VA = "0x182177390", Slot = "23")]
|
||||
public override void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher;
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher2 = this.cipher;
|
||||
byte[] array = new byte[forEncryption ? 1 : 0];
|
||||
this.buffer = array;
|
||||
this.bufOff = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x06008E7C RID: 36476 RVA: 0x001FCD00 File Offset: 0x001FAF00
|
||||
[Token(Token = "0x6008E7C")]
|
||||
[Address(RVA = "0x2177450", Offset = "0x2175E50", VA = "0x182177450", Slot = "27")]
|
||||
public override byte[] ProcessByte(byte input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E7C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher::ProcessByte(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2A:
|
||||
stloc:DataLengthException(var_4_34, newobj:DataLengthException(DataLengthException::.ctor, ldstr:string("attempt to process message to long for cipher")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x06008E7D RID: 36477 RVA: 0x001FCD44 File Offset: 0x001FAF44
|
||||
[Token(Token = "0x6008E7D")]
|
||||
[Address(RVA = "0x2177500", Offset = "0x2175F00", VA = "0x182177500", Slot = "30")]
|
||||
public override byte[] ProcessBytes(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E7D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher::ProcessBytes(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E:
|
||||
stloc:ArgumentNullException(var_4_28, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("input")))
|
||||
}
|
||||
|
||||
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: 0x06008E7E RID: 36478 RVA: 0x001FCD7C File Offset: 0x001FAF7C
|
||||
[Token(Token = "0x6008E7E")]
|
||||
[Address(RVA = "0x2177180", Offset = "0x2175B80", VA = "0x182177180", Slot = "33")]
|
||||
public override byte[] DoFinal()
|
||||
{
|
||||
if (this.bufOff > 0)
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher;
|
||||
byte[] array = this.buffer;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
array += array;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E7F RID: 36479 RVA: 0x001FCDB4 File Offset: 0x001FAFB4
|
||||
[Token(Token = "0x6008E7F")]
|
||||
[Address(RVA = "0x21772B0", Offset = "0x2175CB0", VA = "0x1821772B0", Slot = "35")]
|
||||
public override byte[] DoFinal(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E7F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher::DoFinal(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint8[](var_0_07, callvirt:uint8[](BufferedCipherBase::ProcessBytes, ldloc:BufferedAsymmetricBlockCipher[exp:BufferedCipherBase](this), ldloc:uint8[](input)))
|
||||
stloc:string(var_1_0E, callgetter:string(BufferedCipherBase::get_AlgorithmName, ldloc:BufferedAsymmetricBlockCipher[exp:BufferedCipherBase](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: 0x06008E80 RID: 36480 RVA: 0x001FCDD0 File Offset: 0x001FAFD0
|
||||
[Token(Token = "0x6008E80")]
|
||||
[Address(RVA = "0x2177600", Offset = "0x2176000", VA = "0x182177600", Slot = "39")]
|
||||
public override void Reset()
|
||||
{
|
||||
byte[] array = this.buffer;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
this.bufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04005E54 RID: 24148
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E54")]
|
||||
private readonly IAsymmetricBlockCipher cipher;
|
||||
|
||||
// Token: 0x04005E55 RID: 24149
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E55")]
|
||||
private byte[] buffer;
|
||||
|
||||
// Token: 0x04005E56 RID: 24150
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E56")]
|
||||
private int bufOff;
|
||||
}
|
||||
}
|
||||
+343
@@ -0,0 +1,343 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014E9 RID: 5353
|
||||
[Token(Token = "0x20014E9")]
|
||||
[StructLayout(3)]
|
||||
public class BufferedBlockCipher : BufferedCipherBase
|
||||
{
|
||||
// Token: 0x06008E81 RID: 36481 RVA: 0x001FCE04 File Offset: 0x001FB004
|
||||
[Token(Token = "0x6008E81")]
|
||||
[Address(RVA = "0x21783E0", Offset = "0x2176DE0", VA = "0x1821783E0")]
|
||||
protected BufferedBlockCipher()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008E82 RID: 36482 RVA: 0x001FCE18 File Offset: 0x001FB018
|
||||
[Token(Token = "0x6008E82")]
|
||||
[Address(RVA = "0x2178440", Offset = "0x2176E40", VA = "0x182178440")]
|
||||
public BufferedBlockCipher(IBlockCipher cipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E82)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedBlockCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_29:
|
||||
stloc:ArgumentNullException(var_1_33, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("cipher")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001713 RID: 5907
|
||||
// (get) Token: 0x06008E83 RID: 36483 RVA: 0x001FCE58 File Offset: 0x001FB058
|
||||
[Token(Token = "0x17001713")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6008E83")]
|
||||
[Address(RVA = "0x2178510", Offset = "0x2176F10", VA = "0x182178510", Slot = "22")]
|
||||
get
|
||||
{
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008E84 RID: 36484 RVA: 0x001FCE74 File Offset: 0x001FB074
|
||||
[Token(Token = "0x6008E84")]
|
||||
[Address(RVA = "0x2177C90", Offset = "0x2176690", VA = "0x182177C90", Slot = "23")]
|
||||
public override void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
this.forEncryption = forEncryption;
|
||||
if (parameters == 0 || parameters != 0)
|
||||
{
|
||||
}
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
}
|
||||
|
||||
// Token: 0x06008E85 RID: 36485 RVA: 0x001FCEA0 File Offset: 0x001FB0A0
|
||||
[Token(Token = "0x6008E85")]
|
||||
[Address(RVA = "0x2177C10", Offset = "0x2176610", VA = "0x182177C10", Slot = "24")]
|
||||
public override int GetBlockSize()
|
||||
{
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E86 RID: 36486 RVA: 0x001FCEBC File Offset: 0x001FB0BC
|
||||
[Token(Token = "0x6008E86")]
|
||||
[Address(RVA = "0x2177C60", Offset = "0x2176660", VA = "0x182177C60", Slot = "26")]
|
||||
public override int GetUpdateOutputSize(int length)
|
||||
{
|
||||
int num = this.bufOff;
|
||||
byte[] array = this.buf;
|
||||
num += length;
|
||||
return num - length;
|
||||
}
|
||||
|
||||
// Token: 0x06008E87 RID: 36487 RVA: 0x001FCEE8 File Offset: 0x001FB0E8
|
||||
[Token(Token = "0x6008E87")]
|
||||
[Address(RVA = "0x20E8770", Offset = "0x20E7170", VA = "0x1820E8770", Slot = "25")]
|
||||
public override int GetOutputSize(int length)
|
||||
{
|
||||
int num = this.bufOff;
|
||||
return num + length;
|
||||
}
|
||||
|
||||
// Token: 0x06008E88 RID: 36488 RVA: 0x001FCF04 File Offset: 0x001FB104
|
||||
[Token(Token = "0x6008E88")]
|
||||
[Address(RVA = "0x2177E40", Offset = "0x2176840", VA = "0x182177E40", Slot = "28")]
|
||||
public override int ProcessByte(byte input, byte[] output, int outOff)
|
||||
{
|
||||
int num = this.bufOff;
|
||||
byte[] array = this.buf;
|
||||
int num2 = num + 1;
|
||||
this.bufOff = num2;
|
||||
int num3 = this.buf.Length;
|
||||
if (this.bufOff != num3)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
num3 += outOff;
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
int num4 = 0;
|
||||
this.bufOff = num4;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E89 RID: 36489 RVA: 0x001FCF60 File Offset: 0x001FB160
|
||||
[Token(Token = "0x6008E89")]
|
||||
[Address(RVA = "0x2177D60", Offset = "0x2176760", VA = "0x182177D60", Slot = "27")]
|
||||
public override byte[] ProcessByte(byte input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E89)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedBlockCipher::ProcessByte(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_2:
|
||||
stloc:uint8[](var_4_2B, newarr:uint8[]([mscorlib]System.Byte, ldloc:uint8[][exp:int32](var_3_1C)))
|
||||
}
|
||||
|
||||
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: 0x06008E8A RID: 36490 RVA: 0x001FCF9C File Offset: 0x001FB19C
|
||||
[Token(Token = "0x6008E8A")]
|
||||
[Address(RVA = "0x2178230", Offset = "0x2176C30", VA = "0x182178230", Slot = "30")]
|
||||
public override byte[] ProcessBytes(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E8A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedBlockCipher::ProcessBytes(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_41:
|
||||
stloc:ArgumentNullException(var_9_4B, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("input")))
|
||||
}
|
||||
|
||||
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: 0x06008E8B RID: 36491 RVA: 0x001FCFF8 File Offset: 0x001FB1F8
|
||||
[Token(Token = "0x6008E8B")]
|
||||
[Address(RVA = "0x2177F50", Offset = "0x2176950", VA = "0x182177F50", Slot = "32")]
|
||||
public override int ProcessBytes(byte[] input, int inOff, int length, byte[] output, int outOff)
|
||||
{
|
||||
int num = this.GetOutputSize(length);
|
||||
if (num > 0)
|
||||
{
|
||||
}
|
||||
byte[] array = this.buf;
|
||||
int num2 = array.Length;
|
||||
int num3 = this.bufOff;
|
||||
num2 -= num3;
|
||||
byte[] array3;
|
||||
int num6;
|
||||
if (length > num2)
|
||||
{
|
||||
Array.Copy(input, inOff, array, num3, num2);
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
byte[] array2 = this.buf;
|
||||
int num4 = 0;
|
||||
this.bufOff = num4;
|
||||
if (length > array2.Length)
|
||||
{
|
||||
IBlockCipher blockCipher2 = this.cipher;
|
||||
if (num4 < array2)
|
||||
{
|
||||
num4 += num4;
|
||||
num4++;
|
||||
}
|
||||
array3 = this.buf;
|
||||
num += num4;
|
||||
uint num5;
|
||||
num5 += num5;
|
||||
}
|
||||
num6 = this.bufOff;
|
||||
}
|
||||
Array.Copy(input, inOff, array3, num6, length);
|
||||
int num7 = this.bufOff;
|
||||
byte[] array4 = this.buf;
|
||||
num7 += length;
|
||||
this.bufOff = num7;
|
||||
if (num7 == array4.Length)
|
||||
{
|
||||
IBlockCipher blockCipher3 = this.cipher;
|
||||
int num8 = 0;
|
||||
this.bufOff = num8;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06008E8C RID: 36492 RVA: 0x001FD0F0 File Offset: 0x001FB2F0
|
||||
[Token(Token = "0x6008E8C")]
|
||||
[Address(RVA = "0x2177AF0", Offset = "0x21764F0", VA = "0x182177AF0", Slot = "33")]
|
||||
public override byte[] DoFinal()
|
||||
{
|
||||
int blockSize = this.GetBlockSize();
|
||||
int num;
|
||||
byte[] array = new byte[num];
|
||||
if (array < array.Length)
|
||||
{
|
||||
byte[] array2 = new byte[array];
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06008E8D RID: 36493 RVA: 0x001FD124 File Offset: 0x001FB324
|
||||
[Token(Token = "0x6008E8D")]
|
||||
[Address(RVA = "0x2177940", Offset = "0x2176340", VA = "0x182177940", Slot = "35")]
|
||||
public override byte[] DoFinal(byte[] input, int inOff, int inLen)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E8D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedBlockCipher::DoFinal(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_43:
|
||||
stloc:ArgumentNullException(var_11_4D, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("input")))
|
||||
}
|
||||
|
||||
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: 0x06008E8E RID: 36494 RVA: 0x001FD180 File Offset: 0x001FB380
|
||||
[Token(Token = "0x6008E8E")]
|
||||
[Address(RVA = "0x21776F0", Offset = "0x21760F0", VA = "0x1821776F0", Slot = "36")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.bufOff != num)
|
||||
{
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
if (num < outOff)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
int num2 = this.bufOff;
|
||||
Check.OutputLength(output, outOff, num2, "output buffer too short for DoFinal()");
|
||||
IBlockCipher blockCipher2 = this.cipher;
|
||||
byte[] array = this.buf;
|
||||
int num3 = this.bufOff;
|
||||
int num4 = 0;
|
||||
Array.Copy(this.buf, num4, output, outOff, num3);
|
||||
}
|
||||
int num5 = this.bufOff;
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
num += 3;
|
||||
num += 19;
|
||||
return num5;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008E8F RID: 36495 RVA: 0x001FD21C File Offset: 0x001FB41C
|
||||
[Token(Token = "0x6008E8F")]
|
||||
[Address(RVA = "0x2178370", Offset = "0x2176D70", VA = "0x182178370", Slot = "39")]
|
||||
public override void Reset()
|
||||
{
|
||||
byte[] array = this.buf;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
this.bufOff = (int)((ulong)0L);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04005E57 RID: 24151
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E57")]
|
||||
internal byte[] buf;
|
||||
|
||||
// Token: 0x04005E58 RID: 24152
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E58")]
|
||||
internal int bufOff;
|
||||
|
||||
// Token: 0x04005E59 RID: 24153
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4005E59")]
|
||||
internal bool forEncryption;
|
||||
|
||||
// Token: 0x04005E5A RID: 24154
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E5A")]
|
||||
internal IBlockCipher cipher;
|
||||
}
|
||||
}
|
||||
+194
@@ -0,0 +1,194 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014EA RID: 5354
|
||||
[Token(Token = "0x20014EA")]
|
||||
[StructLayout(3)]
|
||||
public abstract class BufferedCipherBase : IBufferedCipher
|
||||
{
|
||||
// Token: 0x17001714 RID: 5908
|
||||
// (get) Token: 0x06008E90 RID: 36496
|
||||
[Token(Token = "0x17001714")]
|
||||
public abstract string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6008E90")]
|
||||
[Address(Slot = "22")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x06008E91 RID: 36497
|
||||
[Token(Token = "0x6008E91")]
|
||||
[Address(Slot = "23")]
|
||||
public abstract void Init(bool forEncryption, ICipherParameters parameters);
|
||||
|
||||
// Token: 0x06008E92 RID: 36498
|
||||
[Token(Token = "0x6008E92")]
|
||||
[Address(Slot = "24")]
|
||||
public abstract int GetBlockSize();
|
||||
|
||||
// Token: 0x06008E93 RID: 36499
|
||||
[Token(Token = "0x6008E93")]
|
||||
[Address(Slot = "25")]
|
||||
public abstract int GetOutputSize(int inputLen);
|
||||
|
||||
// Token: 0x06008E94 RID: 36500
|
||||
[Token(Token = "0x6008E94")]
|
||||
[Address(Slot = "26")]
|
||||
public abstract int GetUpdateOutputSize(int inputLen);
|
||||
|
||||
// Token: 0x06008E95 RID: 36501
|
||||
[Token(Token = "0x6008E95")]
|
||||
[Address(Slot = "27")]
|
||||
public abstract byte[] ProcessByte(byte input);
|
||||
|
||||
// Token: 0x06008E96 RID: 36502 RVA: 0x001FD258 File Offset: 0x001FB458
|
||||
[Token(Token = "0x6008E96")]
|
||||
[Address(RVA = "0x2178720", Offset = "0x2177120", VA = "0x182178720", Slot = "28")]
|
||||
public virtual int ProcessByte(byte input, byte[] output, int outOff)
|
||||
{
|
||||
int updateOutputSize = this.GetUpdateOutputSize((int)input);
|
||||
if (updateOutputSize != 0)
|
||||
{
|
||||
}
|
||||
return updateOutputSize;
|
||||
}
|
||||
|
||||
// Token: 0x06008E97 RID: 36503 RVA: 0x001FD280 File Offset: 0x001FB480
|
||||
[Token(Token = "0x6008E97")]
|
||||
[Address(RVA = "0x21787F0", Offset = "0x21771F0", VA = "0x1821787F0", Slot = "29")]
|
||||
public virtual byte[] ProcessBytes(byte[] input)
|
||||
{
|
||||
return this.ProcessBytes(input);
|
||||
}
|
||||
|
||||
// Token: 0x06008E98 RID: 36504
|
||||
[Token(Token = "0x6008E98")]
|
||||
[Address(Slot = "30")]
|
||||
public abstract byte[] ProcessBytes(byte[] input, int inOff, int length);
|
||||
|
||||
// Token: 0x06008E99 RID: 36505 RVA: 0x001FD29C File Offset: 0x001FB49C
|
||||
[Token(Token = "0x6008E99")]
|
||||
[Address(RVA = "0x2178830", Offset = "0x2177230", VA = "0x182178830", Slot = "31")]
|
||||
public virtual int ProcessBytes(byte[] input, byte[] output, int outOff)
|
||||
{
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06008E9A RID: 36506 RVA: 0x001FD2B0 File Offset: 0x001FB4B0
|
||||
[Token(Token = "0x6008E9A")]
|
||||
[Address(RVA = "0x2178870", Offset = "0x2177270", VA = "0x182178870", Slot = "32")]
|
||||
public virtual int ProcessBytes(byte[] input, int inOff, int length, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008E9A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedCipherBase::ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_13:
|
||||
stloc:DataLengthException(var_2_1D, newobj:DataLengthException(DataLengthException::.ctor, ldstr:string("output buffer too short")))
|
||||
}
|
||||
|
||||
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: 0x06008E9B RID: 36507
|
||||
[Token(Token = "0x6008E9B")]
|
||||
[Address(Slot = "33")]
|
||||
public abstract byte[] DoFinal();
|
||||
|
||||
// Token: 0x06008E9C RID: 36508 RVA: 0x001FD2DC File Offset: 0x001FB4DC
|
||||
[Token(Token = "0x6008E9C")]
|
||||
[Address(RVA = "0x2178560", Offset = "0x2176F60", VA = "0x182178560", Slot = "34")]
|
||||
public virtual byte[] DoFinal(byte[] input)
|
||||
{
|
||||
return this.DoFinal(input);
|
||||
}
|
||||
|
||||
// Token: 0x06008E9D RID: 36509
|
||||
[Token(Token = "0x6008E9D")]
|
||||
[Address(Slot = "35")]
|
||||
public abstract byte[] DoFinal(byte[] input, int inOff, int length);
|
||||
|
||||
// Token: 0x06008E9E RID: 36510 RVA: 0x001FD2F8 File Offset: 0x001FB4F8
|
||||
[Token(Token = "0x6008E9E")]
|
||||
[Address(RVA = "0x2178620", Offset = "0x2177020", VA = "0x182178620", Slot = "36")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06008E9F RID: 36511 RVA: 0x001FD30C File Offset: 0x001FB50C
|
||||
[Token(Token = "0x6008E9F")]
|
||||
[Address(RVA = "0x21786E0", Offset = "0x21770E0", VA = "0x1821786E0", Slot = "37")]
|
||||
public virtual int DoFinal(byte[] input, byte[] output, int outOff)
|
||||
{
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06008EA0 RID: 36512 RVA: 0x001FD320 File Offset: 0x001FB520
|
||||
[Token(Token = "0x6008EA0")]
|
||||
[Address(RVA = "0x21785A0", Offset = "0x2176FA0", VA = "0x1821785A0", Slot = "38")]
|
||||
public virtual int DoFinal(byte[] input, int inOff, int length, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EA0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedCipherBase::DoFinal(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint8[](var_1, add:uint8[](ldloc:uint8[](var_1), ldloc:int32[exp:uint8[]](var_0)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x06008EA1 RID: 36513
|
||||
[Token(Token = "0x6008EA1")]
|
||||
[Address(Slot = "39")]
|
||||
public abstract void Reset();
|
||||
|
||||
// Token: 0x06008EA2 RID: 36514 RVA: 0x001FD330 File Offset: 0x001FB530
|
||||
[Token(Token = "0x6008EA2")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
protected BufferedCipherBase()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008EA3 RID: 36515 RVA: 0x001FD344 File Offset: 0x001FB544
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6008EA3")]
|
||||
[Address(RVA = "0x2178950", Offset = "0x2177350", VA = "0x182178950")]
|
||||
static BufferedCipherBase()
|
||||
{
|
||||
byte[] array = new byte[0];
|
||||
}
|
||||
|
||||
// Token: 0x04005E5B RID: 24155
|
||||
[Token(Token = "0x4005E5B")]
|
||||
protected static readonly byte[] EmptyBuffer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014EB RID: 5355
|
||||
[Token(Token = "0x20014EB")]
|
||||
[StructLayout(3)]
|
||||
public class BufferedIesCipher : BufferedCipherBase
|
||||
{
|
||||
// Token: 0x06008EA4 RID: 36516 RVA: 0x001FD358 File Offset: 0x001FB558
|
||||
[Token(Token = "0x6008EA4")]
|
||||
[Address(RVA = "0x2178D10", Offset = "0x2177710", VA = "0x182178D10")]
|
||||
public BufferedIesCipher(IesEngine engine)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EA4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedIesCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.IesEngine)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentNullException(var_1_29, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("engine")))
|
||||
}
|
||||
|
||||
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: 0x17001715 RID: 5909
|
||||
// (get) Token: 0x06008EA5 RID: 36517 RVA: 0x001FD390 File Offset: 0x001FB590
|
||||
[Token(Token = "0x17001715")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6008EA5")]
|
||||
[Address(RVA = "0x2178DD0", Offset = "0x21777D0", VA = "0x182178DD0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
return "IES";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008EA6 RID: 36518 RVA: 0x001FD3A4 File Offset: 0x001FB5A4
|
||||
[Token(Token = "0x6008EA6")]
|
||||
[Address(RVA = "0x2178AD0", Offset = "0x21774D0", VA = "0x182178AD0", Slot = "23")]
|
||||
public override void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EA6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedIesCipher::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stfld:bool(BufferedIesCipher::forEncryption, ldloc:BufferedIesCipher(this), ldloc:bool(forEncryption))
|
||||
stloc:Exception(var_0_11, call:Exception(Platform::CreateNotImplementedException, ldstr:string("IES")))
|
||||
}
|
||||
|
||||
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: 0x06008EA7 RID: 36519 RVA: 0x001FD3C4 File Offset: 0x001FB5C4
|
||||
[Token(Token = "0x6008EA7")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "24")]
|
||||
public override int GetBlockSize()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x06008EA8 RID: 36520 RVA: 0x001FD3D4 File Offset: 0x001FB5D4
|
||||
[Token(Token = "0x6008EA8")]
|
||||
[Address(RVA = "0x2178A20", Offset = "0x2177420", VA = "0x182178A20", Slot = "25")]
|
||||
public override int GetOutputSize(int inputLen)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EA8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedIesCipher::GetOutputSize(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:InvalidOperationException(var_1_2E, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("cipher not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06008EA9 RID: 36521 RVA: 0x001FD410 File Offset: 0x001FB610
|
||||
[Token(Token = "0x6008EA9")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "26")]
|
||||
public override int GetUpdateOutputSize(int inputLen)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x06008EAA RID: 36522 RVA: 0x001FD420 File Offset: 0x001FB620
|
||||
[Token(Token = "0x6008EAA")]
|
||||
[Address(RVA = "0x2178B40", Offset = "0x2177540", VA = "0x182178B40", Slot = "27")]
|
||||
public override byte[] ProcessByte(byte input)
|
||||
{
|
||||
MemoryStream memoryStream = this.buffer;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008EAB RID: 36523 RVA: 0x001FD43C File Offset: 0x001FB63C
|
||||
[Token(Token = "0x6008EAB")]
|
||||
[Address(RVA = "0x2178B70", Offset = "0x2177570", VA = "0x182178B70", Slot = "30")]
|
||||
public override byte[] ProcessBytes(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EAB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedIesCipher::ProcessBytes(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_2_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("input")))
|
||||
}
|
||||
|
||||
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: 0x06008EAC RID: 36524 RVA: 0x001FD468 File Offset: 0x001FB668
|
||||
[Token(Token = "0x6008EAC")]
|
||||
[Address(RVA = "0x21789A0", Offset = "0x21773A0", VA = "0x1821789A0", Slot = "33")]
|
||||
public override byte[] DoFinal()
|
||||
{
|
||||
MemoryStream memoryStream = this.buffer;
|
||||
IesEngine iesEngine = this.engine;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06008EAD RID: 36525 RVA: 0x001FD488 File Offset: 0x001FB688
|
||||
[Token(Token = "0x6008EAD")]
|
||||
[Address(RVA = "0x21772B0", Offset = "0x2175CB0", VA = "0x1821772B0", Slot = "35")]
|
||||
public override byte[] DoFinal(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EAD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedIesCipher::DoFinal(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint8[](var_0_07, callvirt:uint8[](BufferedCipherBase::ProcessBytes, ldloc:BufferedIesCipher[exp:BufferedCipherBase](this), ldloc:uint8[](input)))
|
||||
stloc:string(var_1_0E, callgetter:string(BufferedCipherBase::get_AlgorithmName, ldloc:BufferedIesCipher[exp:BufferedCipherBase](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: 0x06008EAE RID: 36526 RVA: 0x001FD4A4 File Offset: 0x001FB6A4
|
||||
[Token(Token = "0x6008EAE")]
|
||||
[Address(RVA = "0x2178CE0", Offset = "0x21776E0", VA = "0x182178CE0", Slot = "39")]
|
||||
public override void Reset()
|
||||
{
|
||||
((IDisposable)this.buffer).Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x04005E5C RID: 24156
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E5C")]
|
||||
private readonly IesEngine engine;
|
||||
|
||||
// Token: 0x04005E5D RID: 24157
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E5D")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x04005E5E RID: 24158
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E5E")]
|
||||
private MemoryStream buffer;
|
||||
}
|
||||
}
|
||||
+197
@@ -0,0 +1,197 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014EC RID: 5356
|
||||
[Token(Token = "0x20014EC")]
|
||||
[StructLayout(3)]
|
||||
public class BufferedStreamCipher : BufferedCipherBase
|
||||
{
|
||||
// Token: 0x06008EAF RID: 36527 RVA: 0x001FD4C4 File Offset: 0x001FB6C4
|
||||
[Token(Token = "0x6008EAF")]
|
||||
[Address(RVA = "0x21793A0", Offset = "0x2177DA0", VA = "0x1821793A0")]
|
||||
public BufferedStreamCipher(IStreamCipher cipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EAF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedStreamCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IStreamCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("cipher")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001716 RID: 5910
|
||||
// (get) Token: 0x06008EB0 RID: 36528 RVA: 0x001FD4F0 File Offset: 0x001FB6F0
|
||||
[Token(Token = "0x17001716")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6008EB0")]
|
||||
[Address(RVA = "0x2179440", Offset = "0x2177E40", VA = "0x182179440", Slot = "22")]
|
||||
get
|
||||
{
|
||||
IStreamCipher streamCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008EB1 RID: 36529 RVA: 0x001FD50C File Offset: 0x001FB70C
|
||||
[Token(Token = "0x6008EB1")]
|
||||
[Address(RVA = "0x2178F40", Offset = "0x2177940", VA = "0x182178F40", Slot = "23")]
|
||||
public override void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
while (parameters != 0 && parameters != 0 && (parameters == 0 || parameters == 0))
|
||||
{
|
||||
}
|
||||
IStreamCipher streamCipher = this.cipher;
|
||||
}
|
||||
|
||||
// Token: 0x06008EB2 RID: 36530 RVA: 0x001FD53C File Offset: 0x001FB73C
|
||||
[Token(Token = "0x6008EB2")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "24")]
|
||||
public override int GetBlockSize()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x06008EB3 RID: 36531 RVA: 0x001FD54C File Offset: 0x001FB74C
|
||||
[Token(Token = "0x6008EB3")]
|
||||
[Address(RVA = "0x4577C0", Offset = "0x4561C0", VA = "0x1804577C0", Slot = "25")]
|
||||
public override int GetOutputSize(int inputLen)
|
||||
{
|
||||
return inputLen;
|
||||
}
|
||||
|
||||
// Token: 0x06008EB4 RID: 36532 RVA: 0x001FD55C File Offset: 0x001FB75C
|
||||
[Token(Token = "0x6008EB4")]
|
||||
[Address(RVA = "0x4577C0", Offset = "0x4561C0", VA = "0x1804577C0", Slot = "26")]
|
||||
public override int GetUpdateOutputSize(int inputLen)
|
||||
{
|
||||
return inputLen;
|
||||
}
|
||||
|
||||
// Token: 0x06008EB5 RID: 36533 RVA: 0x001FD56C File Offset: 0x001FB76C
|
||||
[Token(Token = "0x6008EB5")]
|
||||
[Address(RVA = "0x2179150", Offset = "0x2177B50", VA = "0x182179150", Slot = "27")]
|
||||
public override byte[] ProcessByte(byte input)
|
||||
{
|
||||
byte[] array = new byte[1];
|
||||
IStreamCipher streamCipher = this.cipher;
|
||||
array[0] = array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06008EB6 RID: 36534 RVA: 0x001FD598 File Offset: 0x001FB798
|
||||
[Token(Token = "0x6008EB6")]
|
||||
[Address(RVA = "0x2179080", Offset = "0x2177A80", VA = "0x182179080", Slot = "28")]
|
||||
public override int ProcessByte(byte input, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EB6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedStreamCipher::ProcessByte(System.Byte,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_18:
|
||||
stloc:DataLengthException(var_1_22, newobj:DataLengthException(DataLengthException::.ctor, ldstr:string("output buffer too short")))
|
||||
}
|
||||
|
||||
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: 0x06008EB7 RID: 36535 RVA: 0x001FD5C8 File Offset: 0x001FB7C8
|
||||
[Token(Token = "0x6008EB7")]
|
||||
[Address(RVA = "0x2179290", Offset = "0x2177C90", VA = "0x182179290", Slot = "30")]
|
||||
public override byte[] ProcessBytes(byte[] input, int inOff, int length)
|
||||
{
|
||||
byte[] array = new byte[length];
|
||||
IStreamCipher streamCipher = this.cipher;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06008EB8 RID: 36536 RVA: 0x001FD5EC File Offset: 0x001FB7EC
|
||||
[Token(Token = "0x6008EB8")]
|
||||
[Address(RVA = "0x21791F0", Offset = "0x2177BF0", VA = "0x1821791F0", Slot = "32")]
|
||||
public override int ProcessBytes(byte[] input, int inOff, int length, byte[] output, int outOff)
|
||||
{
|
||||
IStreamCipher streamCipher = this.cipher;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x06008EB9 RID: 36537 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6008EB9")]
|
||||
[Address(RVA = "0x2178ED0", Offset = "0x21778D0", VA = "0x182178ED0", Slot = "33")]
|
||||
public override byte[] DoFinal()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06008EBA RID: 36538 RVA: 0x001FD608 File Offset: 0x001FB808
|
||||
[Token(Token = "0x6008EBA")]
|
||||
[Address(RVA = "0x2178E00", Offset = "0x2177800", VA = "0x182178E00", Slot = "35")]
|
||||
public override byte[] DoFinal(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EBA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedStreamCipher::DoFinal(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint8[](var_0_07, callvirt:uint8[](BufferedCipherBase::ProcessBytes, ldloc:BufferedStreamCipher[exp:BufferedCipherBase](this), ldloc:uint8[](input)))
|
||||
}
|
||||
|
||||
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: 0x06008EBB RID: 36539 RVA: 0x001FD61C File Offset: 0x001FB81C
|
||||
[Token(Token = "0x6008EBB")]
|
||||
[Address(RVA = "0x2179350", Offset = "0x2177D50", VA = "0x182179350", Slot = "39")]
|
||||
public override void Reset()
|
||||
{
|
||||
IStreamCipher streamCipher = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04005E5F RID: 24159
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E5F")]
|
||||
private readonly IStreamCipher cipher;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014ED RID: 5357
|
||||
[Token(Token = "0x20014ED")]
|
||||
[StructLayout(3)]
|
||||
internal class Check
|
||||
{
|
||||
// Token: 0x06008EBC RID: 36540 RVA: 0x001FD638 File Offset: 0x001FB838
|
||||
[Token(Token = "0x6008EBC")]
|
||||
[Address(RVA = "0x2179490", Offset = "0x2177E90", VA = "0x182179490")]
|
||||
internal static void DataLength(bool condition, string msg)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EBC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Check::DataLength(System.Boolean,System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_05:
|
||||
stloc:DataLengthException(var_0_0B, newobj:DataLengthException(DataLengthException::.ctor, ldloc:string(msg)))
|
||||
}
|
||||
|
||||
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: 0x06008EBD RID: 36541 RVA: 0x001FD650 File Offset: 0x001FB850
|
||||
[Token(Token = "0x6008EBD")]
|
||||
[Address(RVA = "0x2179500", Offset = "0x2177F00", VA = "0x182179500")]
|
||||
internal static void DataLength(byte[] buf, int off, int len, string msg)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008EBE RID: 36542 RVA: 0x001FD660 File Offset: 0x001FB860
|
||||
[Token(Token = "0x6008EBE")]
|
||||
[Address(RVA = "0x2179590", Offset = "0x2177F90", VA = "0x182179590")]
|
||||
internal static void OutputLength(byte[] buf, int off, int len, string msg)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008EBF RID: 36543 RVA: 0x001FD670 File Offset: 0x001FB870
|
||||
[Token(Token = "0x6008EBF")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public Check()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014EE RID: 5358
|
||||
[Token(Token = "0x20014EE")]
|
||||
[StructLayout(3)]
|
||||
public class CipherKeyGenerator
|
||||
{
|
||||
// Token: 0x06008EC0 RID: 36544 RVA: 0x001FD684 File Offset: 0x001FB884
|
||||
[Token(Token = "0x6008EC0")]
|
||||
[Address(RVA = "0x2179840", Offset = "0x2178240", VA = "0x182179840")]
|
||||
public CipherKeyGenerator()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008EC1 RID: 36545 RVA: 0x001FD6A0 File Offset: 0x001FB8A0
|
||||
[Token(Token = "0x6008EC1")]
|
||||
[Address(RVA = "0x21797B0", Offset = "0x21781B0", VA = "0x1821797B0")]
|
||||
internal CipherKeyGenerator(int defaultStrength)
|
||||
{
|
||||
this.defaultStrength = defaultStrength;
|
||||
}
|
||||
|
||||
// Token: 0x17001717 RID: 5911
|
||||
// (get) Token: 0x06008EC2 RID: 36546 RVA: 0x001FD6D4 File Offset: 0x001FB8D4
|
||||
[Token(Token = "0x17001717")]
|
||||
public int DefaultStrength
|
||||
{
|
||||
[Token(Token = "0x6008EC2")]
|
||||
[Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40")]
|
||||
get
|
||||
{
|
||||
return this.defaultStrength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06008EC3 RID: 36547 RVA: 0x001FD6E8 File Offset: 0x001FB8E8
|
||||
[Token(Token = "0x6008EC3")]
|
||||
[Address(RVA = "0x2179720", Offset = "0x2178120", VA = "0x182179720")]
|
||||
public void Init(KeyGenerationParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EC3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.CipherKeyGenerator::Init(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.KeyGenerationParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0C:
|
||||
stloc:ArgumentNullException(var_0_16, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("parameters")))
|
||||
}
|
||||
|
||||
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: 0x06008EC4 RID: 36548 RVA: 0x001FD70C File Offset: 0x001FB90C
|
||||
[Token(Token = "0x6008EC4")]
|
||||
[Address(RVA = "0x21798C0", Offset = "0x21782C0", VA = "0x1821798C0", Slot = "4")]
|
||||
protected virtual void engineInit(KeyGenerationParameters parameters)
|
||||
{
|
||||
SecureRandom secureRandom = parameters.random;
|
||||
this.random = secureRandom;
|
||||
int num = parameters.strength;
|
||||
num += 7;
|
||||
num += parameters;
|
||||
this.strength = num;
|
||||
}
|
||||
|
||||
// Token: 0x06008EC5 RID: 36549 RVA: 0x001FD744 File Offset: 0x001FB944
|
||||
[Token(Token = "0x6008EC5")]
|
||||
[Address(RVA = "0x2179620", Offset = "0x2178020", VA = "0x182179620")]
|
||||
public byte[] GenerateKey()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06008EC5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.CipherKeyGenerator::GenerateKey()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2C:
|
||||
stloc:InvalidOperationException(var_4_36, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Generator has not been initialised")))
|
||||
}
|
||||
|
||||
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: 0x06008EC6 RID: 36550 RVA: 0x001FD788 File Offset: 0x001FB988
|
||||
[Token(Token = "0x6008EC6")]
|
||||
[Address(RVA = "0x2179850", Offset = "0x2178250", VA = "0x182179850", Slot = "5")]
|
||||
protected virtual byte[] engineGenerateKey()
|
||||
{
|
||||
SecureRandom secureRandom = this.random;
|
||||
int num = this.strength;
|
||||
return SecureRandom.GetNextBytes(secureRandom, num);
|
||||
}
|
||||
|
||||
// Token: 0x04005E60 RID: 24160
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4005E60")]
|
||||
protected internal SecureRandom random;
|
||||
|
||||
// Token: 0x04005E61 RID: 24161
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4005E61")]
|
||||
protected internal int strength;
|
||||
|
||||
// Token: 0x04005E62 RID: 24162
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4005E62")]
|
||||
private bool uninitialised = true;
|
||||
|
||||
// Token: 0x04005E63 RID: 24163
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4005E63")]
|
||||
private int defaultStrength;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014EF RID: 5359
|
||||
[Token(Token = "0x20014EF")]
|
||||
[Serializable]
|
||||
[StructLayout(3)]
|
||||
public class CryptoException : Exception
|
||||
{
|
||||
// Token: 0x06008EC7 RID: 36551 RVA: 0x001FD7AC File Offset: 0x001FB9AC
|
||||
[Token(Token = "0x6008EC7")]
|
||||
[Address(RVA = "0x2179960", Offset = "0x2178360", VA = "0x182179960")]
|
||||
public CryptoException()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008EC8 RID: 36552 RVA: 0x001FD7C0 File Offset: 0x001FB9C0
|
||||
[Token(Token = "0x6008EC8")]
|
||||
[Address(RVA = "0x21798F0", Offset = "0x21782F0", VA = "0x1821798F0")]
|
||||
public CryptoException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008EC9 RID: 36553 RVA: 0x001FD7D4 File Offset: 0x001FB9D4
|
||||
[Token(Token = "0x6008EC9")]
|
||||
[Address(RVA = "0x21799C0", Offset = "0x21783C0", VA = "0x1821799C0")]
|
||||
public CryptoException(string message, Exception exception)
|
||||
: base(message, exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto
|
||||
{
|
||||
// Token: 0x020014F0 RID: 5360
|
||||
[Token(Token = "0x20014F0")]
|
||||
[Serializable]
|
||||
[StructLayout(3)]
|
||||
public class DataLengthException : CryptoException
|
||||
{
|
||||
// Token: 0x06008ECA RID: 36554 RVA: 0x001FD7EC File Offset: 0x001FB9EC
|
||||
[Token(Token = "0x6008ECA")]
|
||||
[Address(RVA = "0x2179960", Offset = "0x2178360", VA = "0x182179960")]
|
||||
public DataLengthException()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008ECB RID: 36555 RVA: 0x001FD800 File Offset: 0x001FBA00
|
||||
[Token(Token = "0x6008ECB")]
|
||||
[Address(RVA = "0x21798F0", Offset = "0x21782F0", VA = "0x1821798F0")]
|
||||
public DataLengthException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06008ECC RID: 36556 RVA: 0x001FD814 File Offset: 0x001FBA14
|
||||
[Token(Token = "0x6008ECC")]
|
||||
[Address(RVA = "0x21799C0", Offset = "0x21783C0", VA = "0x1821799C0")]
|
||||
public DataLengthException(string message, Exception exception)
|
||||
: base(message, exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+587
@@ -0,0 +1,587 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001703 RID: 5891
|
||||
[Token(Token = "0x2001703")]
|
||||
[StructLayout(3)]
|
||||
public class Blake2bDigest : IDigest
|
||||
{
|
||||
// Token: 0x06009E25 RID: 40485 RVA: 0x00244810 File Offset: 0x00242A10
|
||||
[Token(Token = "0x6009E25")]
|
||||
[Address(RVA = "0x2174670", Offset = "0x2173070", VA = "0x182174670")]
|
||||
public Blake2bDigest()
|
||||
{
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
ulong[] array = new ulong[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[128];
|
||||
this.buffer = array2;
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x06009E26 RID: 40486 RVA: 0x00244860 File Offset: 0x00242A60
|
||||
[Token(Token = "0x6009E26")]
|
||||
[Address(RVA = "0x21746F0", Offset = "0x21730F0", VA = "0x1821746F0")]
|
||||
public Blake2bDigest(Blake2bDigest digest)
|
||||
{
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
ulong[] array = new ulong[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
int num = digest.bufferPos;
|
||||
this.bufferPos = num;
|
||||
byte[] array2 = Arrays.Clone(digest.buffer);
|
||||
this.buffer = array2;
|
||||
int num2 = digest.keyLength;
|
||||
this.keyLength = num2;
|
||||
byte[] array3 = Arrays.Clone(digest.key);
|
||||
this.key = array3;
|
||||
int num3 = digest.digestLength;
|
||||
this.digestLength = num3;
|
||||
ulong[] array4 = Arrays.Clone(digest.chainValue);
|
||||
this.chainValue = array4;
|
||||
byte[] array5 = Arrays.Clone(digest.personalization);
|
||||
this.personalization = array5;
|
||||
byte[] array6 = Arrays.Clone(digest.salt);
|
||||
this.salt = array6;
|
||||
ulong num4 = digest.t0;
|
||||
this.t0 = num4;
|
||||
ulong num5 = digest.t1;
|
||||
this.t1 = num5;
|
||||
ulong num6 = digest.f0;
|
||||
this.f0 = num6;
|
||||
}
|
||||
|
||||
// Token: 0x06009E27 RID: 40487 RVA: 0x00244958 File Offset: 0x00242B58
|
||||
[Token(Token = "0x6009E27")]
|
||||
[Address(RVA = "0x2174590", Offset = "0x2172F90", VA = "0x182174590")]
|
||||
public Blake2bDigest(int digestSize)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E27)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2bDigest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5A:
|
||||
stloc:ArgumentException(var_5_64, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("BLAKE2b digest bit length must be a multiple of 8 and not greater than 512")))
|
||||
}
|
||||
|
||||
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: 0x06009E28 RID: 40488 RVA: 0x002449CC File Offset: 0x00242BCC
|
||||
[Token(Token = "0x6009E28")]
|
||||
[Address(RVA = "0x2174470", Offset = "0x2172E70", VA = "0x182174470")]
|
||||
public Blake2bDigest(byte[] key)
|
||||
{
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
ulong[] array = new ulong[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[128];
|
||||
this.buffer = array2;
|
||||
if (key != 0)
|
||||
{
|
||||
byte[] array3 = new byte[key.Length];
|
||||
this.key = array3;
|
||||
int num = 0;
|
||||
int length = key.Length;
|
||||
int num2 = 0;
|
||||
Array.Copy(key, num2, array3, num, length);
|
||||
int length2 = key.Length;
|
||||
byte[] array4 = this.buffer;
|
||||
int num3 = 0;
|
||||
this.keyLength = length2;
|
||||
int num4 = 0;
|
||||
int length3 = key.Length;
|
||||
Array.Copy(key, num4, array4, num3, length3);
|
||||
this.bufferPos = (int)((ulong)128L);
|
||||
}
|
||||
this.digestLength = (int)((ulong)64L);
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x06009E29 RID: 40489 RVA: 0x00244A98 File Offset: 0x00242C98
|
||||
[Token(Token = "0x6009E29")]
|
||||
[Address(RVA = "0x2174800", Offset = "0x2173200", VA = "0x182174800")]
|
||||
public Blake2bDigest(byte[] key, int digestLength, byte[] salt, byte[] personalization)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E29)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2bDigest::.ctor(System.Byte[],System.Int32,System.Byte[],System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_118:
|
||||
stloc:ArgumentException(var_19_122, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("salt length must be exactly 16 bytes")))
|
||||
}
|
||||
|
||||
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: 0x06009E2A RID: 40490 RVA: 0x00244BC8 File Offset: 0x00242DC8
|
||||
[Token(Token = "0x6009E2A")]
|
||||
[Address(RVA = "0x2173B50", Offset = "0x2172550", VA = "0x182173B50")]
|
||||
private void Init()
|
||||
{
|
||||
if (this.chainValue == (ulong)0L)
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
this.chainValue = array;
|
||||
ulong[] array2 = Blake2bDigest.blake2b_IV;
|
||||
int num = this.keyLength;
|
||||
array[0] = (ulong)num;
|
||||
ulong[] array3 = this.chainValue;
|
||||
ulong num2 = Blake2bDigest.blake2b_IV[1];
|
||||
array3[1] = num2;
|
||||
ulong[] array4 = this.chainValue;
|
||||
ulong num3 = Blake2bDigest.blake2b_IV[2];
|
||||
array4[2] = num3;
|
||||
ulong[] array5 = this.chainValue;
|
||||
ulong num4 = Blake2bDigest.blake2b_IV[3];
|
||||
array5[3] = num4;
|
||||
ulong[] array6 = this.chainValue;
|
||||
ulong num5 = Blake2bDigest.blake2b_IV[4];
|
||||
array6[4] = num5;
|
||||
ulong[] array7 = this.chainValue;
|
||||
ulong num6 = Blake2bDigest.blake2b_IV[5];
|
||||
array7[5] = num6;
|
||||
byte[] array8 = this.salt;
|
||||
if (array8 != 0)
|
||||
{
|
||||
ulong[] array9 = this.chainValue;
|
||||
int num7 = 0;
|
||||
ulong num8 = Pack.LE_To_UInt64(array8, num7);
|
||||
array9[4] = num8;
|
||||
ulong[] array10 = this.chainValue;
|
||||
ulong num9 = Pack.LE_To_UInt64(this.salt, 8);
|
||||
array10[5] = num9;
|
||||
}
|
||||
ulong[] array11 = this.chainValue;
|
||||
ulong num10 = Blake2bDigest.blake2b_IV[6];
|
||||
array11[6] = num10;
|
||||
ulong[] array12 = this.chainValue;
|
||||
ulong num11 = Blake2bDigest.blake2b_IV[7];
|
||||
array12[7] = num11;
|
||||
byte[] array13 = this.personalization;
|
||||
if (array13 != 0)
|
||||
{
|
||||
ulong[] array14 = this.chainValue;
|
||||
int num12 = 0;
|
||||
ulong num13 = Pack.LE_To_UInt64(array13, num12);
|
||||
array14[6] = num13;
|
||||
ulong[] array15 = this.chainValue;
|
||||
ulong num14 = Pack.LE_To_UInt64(this.personalization, 8);
|
||||
array15[7] = num14;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E2B RID: 40491 RVA: 0x00244D80 File Offset: 0x00242F80
|
||||
[Token(Token = "0x6009E2B")]
|
||||
[Address(RVA = "0x2174030", Offset = "0x2172A30", VA = "0x182174030")]
|
||||
private void InitializeInternalState()
|
||||
{
|
||||
ulong[] array = this.chainValue;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
ulong[] array2 = this.internalState;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
ulong[] array3 = this.chainValue;
|
||||
int num3 = 0;
|
||||
int length2 = array3.Length;
|
||||
ulong[] array4 = this.internalState;
|
||||
ulong num4;
|
||||
Array.Copy(Blake2bDigest.blake2b_IV, num3, array4, length2, (int)num4);
|
||||
ulong[] array5 = this.internalState;
|
||||
ulong num5 = Blake2bDigest.blake2b_IV[4];
|
||||
array5[12] = num5;
|
||||
ulong[] array6 = this.internalState;
|
||||
ulong num6 = Blake2bDigest.blake2b_IV[5];
|
||||
array6[13] = num6;
|
||||
ulong[] array7 = this.internalState;
|
||||
ulong num7 = Blake2bDigest.blake2b_IV[6];
|
||||
array7[14] = num7;
|
||||
ulong[] array8 = this.internalState;
|
||||
ulong num8 = Blake2bDigest.blake2b_IV[7];
|
||||
array8[15] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x06009E2C RID: 40492 RVA: 0x00244E68 File Offset: 0x00243068
|
||||
[Token(Token = "0x6009E2C")]
|
||||
[Address(RVA = "0x2174300", Offset = "0x2172D00", VA = "0x182174300", Slot = "11")]
|
||||
public virtual void Update(byte b)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
uint num2;
|
||||
byte[] array;
|
||||
if (num2 != (uint)num)
|
||||
{
|
||||
array = this.buffer;
|
||||
return;
|
||||
}
|
||||
if (num == array.Length)
|
||||
{
|
||||
}
|
||||
byte[] array2 = this.buffer;
|
||||
int num3 = 0;
|
||||
this.Compress(array2, num3);
|
||||
byte[] array3 = this.buffer;
|
||||
int length = array3.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(array3, num4, length);
|
||||
this.buffer[0] = b;
|
||||
this.bufferPos = (int)((ulong)1L);
|
||||
}
|
||||
|
||||
// Token: 0x06009E2D RID: 40493 RVA: 0x00244EE0 File Offset: 0x002430E0
|
||||
[Token(Token = "0x6009E2D")]
|
||||
[Address(RVA = "0x2172C20", Offset = "0x2171620", VA = "0x182172C20", Slot = "12")]
|
||||
public virtual void BlockUpdate(byte[] message, int offset, int len)
|
||||
{
|
||||
if (message != 0 && len != 0)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
int num2 = 0;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.buffer;
|
||||
uint num3;
|
||||
num3 -= (uint)num;
|
||||
Array.Copy(message, offset, array, num, len);
|
||||
Array.Copy(message, offset, array, num, (int)num3);
|
||||
if (num3 == (uint)len)
|
||||
{
|
||||
}
|
||||
byte[] array2 = this.buffer;
|
||||
int num4 = 0;
|
||||
this.Compress(array2, num4);
|
||||
byte[] array3 = this.buffer;
|
||||
this.bufferPos = num2;
|
||||
int length = array3.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(array3, num5, length);
|
||||
}
|
||||
num2 += offset;
|
||||
this.Compress(message, num2);
|
||||
byte[] array4 = this.buffer;
|
||||
int num6 = 0;
|
||||
Array.Copy(message, num2, array4, num6, offset);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E2E RID: 40494 RVA: 0x00244F90 File Offset: 0x00243190
|
||||
[Token(Token = "0x6009E2E")]
|
||||
[Address(RVA = "0x2173590", Offset = "0x2171F90", VA = "0x182173590", Slot = "13")]
|
||||
public virtual int DoFinal(byte[] output, int outOffset)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
this.f0 = (ulong)(-1L);
|
||||
this.t0 = (ulong)num;
|
||||
if (num <= 0 || num == 0)
|
||||
{
|
||||
}
|
||||
byte[] array = this.buffer;
|
||||
int num2 = 0;
|
||||
this.Compress(array, num2);
|
||||
byte[] array2 = this.buffer;
|
||||
int length = array2.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(array2, num3, length);
|
||||
ulong[] array3 = this.internalState;
|
||||
int length2 = array3.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(array3, num4, length2);
|
||||
ulong[] array4 = this.chainValue;
|
||||
int num5 = 0;
|
||||
ulong[] array6;
|
||||
if (num5 < array4.Length && num5 < this.digestLength)
|
||||
{
|
||||
byte[] array5 = Pack.UInt64_To_LE(array4[num5]);
|
||||
int num6 = this.digestLength;
|
||||
num6 -= num5;
|
||||
int num7 = 0;
|
||||
uint num8;
|
||||
Array.Copy(array5, num7, output, 0, (int)num8);
|
||||
array6 = this.chainValue;
|
||||
num5++;
|
||||
num5 += 8;
|
||||
}
|
||||
int length3 = array6.Length;
|
||||
int num9 = 0;
|
||||
Array.Clear(array6, num9, length3);
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009E2F RID: 40495 RVA: 0x00245090 File Offset: 0x00243290
|
||||
[Token(Token = "0x6009E2F")]
|
||||
[Address(RVA = "0x2174280", Offset = "0x2172C80", VA = "0x182174280", Slot = "14")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num = 0;
|
||||
this.bufferPos = num;
|
||||
this.f0 = (ulong)num;
|
||||
this.t0 = (ulong)num;
|
||||
this.t1 = (ulong)num;
|
||||
this.chainValue = num;
|
||||
byte[] array = this.buffer;
|
||||
int length = array.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array, num2, length);
|
||||
byte[] array2 = this.key;
|
||||
if (array2 != 0)
|
||||
{
|
||||
int length2 = array2.Length;
|
||||
int num3 = 0;
|
||||
byte[] array3 = this.buffer;
|
||||
int num4 = 0;
|
||||
Array.Copy(array2, num4, array3, num3, length2);
|
||||
this.bufferPos = (int)((ulong)128L);
|
||||
}
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x06009E30 RID: 40496 RVA: 0x00245128 File Offset: 0x00243328
|
||||
[Token(Token = "0x6009E30")]
|
||||
[Address(RVA = "0x2172DE0", Offset = "0x21717E0", VA = "0x182172DE0")]
|
||||
private void Compress(byte[] message, int messagePos)
|
||||
{
|
||||
this.InitializeInternalState();
|
||||
ulong[] array = new ulong[16];
|
||||
int num = 0;
|
||||
ulong num2 = Pack.LE_To_UInt64(message, messagePos);
|
||||
num++;
|
||||
array[0] = num2;
|
||||
byte[,] array2 = Blake2bDigest.blake2b_sigma;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x06009E31 RID: 40497 RVA: 0x00245394 File Offset: 0x00243594
|
||||
[Token(Token = "0x6009E31")]
|
||||
[Address(RVA = "0x2173710", Offset = "0x2172110", VA = "0x182173710")]
|
||||
private void G(ulong m1, ulong m2, int posA, int posB, int posC, int posD)
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
int length = array.Length;
|
||||
ulong num;
|
||||
ulong num2;
|
||||
num += num2;
|
||||
num += m1;
|
||||
int length2 = this.internalState.Length;
|
||||
ulong num3;
|
||||
array.m_value = num3;
|
||||
ulong[] array2 = this.internalState;
|
||||
int length3 = array2.Length;
|
||||
ulong num4;
|
||||
ulong num5;
|
||||
num4 += num5;
|
||||
array2[0] = num4;
|
||||
int length4 = this.internalState.Length;
|
||||
int length5 = this.internalState.Length;
|
||||
ulong num6;
|
||||
ulong num7;
|
||||
num6 += num7;
|
||||
int length6 = this.internalState.Length;
|
||||
ulong num8;
|
||||
array.m_value = num8;
|
||||
ulong[] array3 = this.internalState;
|
||||
int length7 = array3.Length;
|
||||
ulong num9;
|
||||
ulong num10;
|
||||
num9 += num10;
|
||||
array3[0] = num9;
|
||||
int length8 = this.internalState.Length;
|
||||
ulong num11;
|
||||
num11 += num11;
|
||||
}
|
||||
|
||||
// Token: 0x06009E32 RID: 40498 RVA: 0x00245460 File Offset: 0x00243660
|
||||
[Token(Token = "0x6009E32")]
|
||||
[Address(RVA = "0x706530", Offset = "0x704F30", VA = "0x180706530")]
|
||||
private static ulong Rotr64(ulong x, int rot)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x17001907 RID: 6407
|
||||
// (get) Token: 0x06009E33 RID: 40499 RVA: 0x00245470 File Offset: 0x00243670
|
||||
[Token(Token = "0x17001907")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009E33")]
|
||||
[Address(RVA = "0x2174A60", Offset = "0x2173460", VA = "0x182174A60", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return "BLAKE2b";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E34 RID: 40500 RVA: 0x00245484 File Offset: 0x00243684
|
||||
[Token(Token = "0x6009E34")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "16")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009E35 RID: 40501 RVA: 0x00245498 File Offset: 0x00243698
|
||||
[Token(Token = "0x6009E35")]
|
||||
[Address(RVA = "0x2173B40", Offset = "0x2172540", VA = "0x182173B40", Slot = "17")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return 128;
|
||||
}
|
||||
|
||||
// Token: 0x06009E36 RID: 40502 RVA: 0x002454AC File Offset: 0x002436AC
|
||||
[Token(Token = "0x6009E36")]
|
||||
[Address(RVA = "0x2172D70", Offset = "0x2171770", VA = "0x182172D70", Slot = "18")]
|
||||
public virtual void ClearKey()
|
||||
{
|
||||
byte[] array = this.key;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
byte[] array2 = this.buffer;
|
||||
int length2 = array2.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array2, num2, length2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E37 RID: 40503 RVA: 0x002454F8 File Offset: 0x002436F8
|
||||
[Token(Token = "0x6009E37")]
|
||||
[Address(RVA = "0x2172DC0", Offset = "0x21717C0", VA = "0x182172DC0", Slot = "19")]
|
||||
public virtual void ClearSalt()
|
||||
{
|
||||
byte[] array = this.salt;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E38 RID: 40504 RVA: 0x00245524 File Offset: 0x00243724
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E38")]
|
||||
[Address(RVA = "0x21743C0", Offset = "0x2172DC0", VA = "0x1821743C0")]
|
||||
static Blake2bDigest()
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.22F13A28C218AA9B43303043F2CF664790D12BD7).FieldHandle);
|
||||
Blake2bDigest.blake2b_IV = array;
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.DB8FE39060DF4E7BC9CC190D08EFF78F0C61F289).FieldHandle);
|
||||
Blake2bDigest.blake2b_sigma = array;
|
||||
}
|
||||
|
||||
// Token: 0x040067FD RID: 26621
|
||||
[Token(Token = "0x40067FD")]
|
||||
private static readonly ulong[] blake2b_IV;
|
||||
|
||||
// Token: 0x040067FE RID: 26622
|
||||
[Token(Token = "0x40067FE")]
|
||||
private static readonly byte[,] blake2b_sigma;
|
||||
|
||||
// Token: 0x040067FF RID: 26623
|
||||
[Token(Token = "0x40067FF")]
|
||||
private const int ROUNDS = 12;
|
||||
|
||||
// Token: 0x04006800 RID: 26624
|
||||
[Token(Token = "0x4006800")]
|
||||
private const int BLOCK_LENGTH_BYTES = 128;
|
||||
|
||||
// Token: 0x04006801 RID: 26625
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006801")]
|
||||
private int digestLength;
|
||||
|
||||
// Token: 0x04006802 RID: 26626
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006802")]
|
||||
private int keyLength;
|
||||
|
||||
// Token: 0x04006803 RID: 26627
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006803")]
|
||||
private byte[] salt;
|
||||
|
||||
// Token: 0x04006804 RID: 26628
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006804")]
|
||||
private byte[] personalization;
|
||||
|
||||
// Token: 0x04006805 RID: 26629
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006805")]
|
||||
private byte[] key;
|
||||
|
||||
// Token: 0x04006806 RID: 26630
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006806")]
|
||||
private byte[] buffer;
|
||||
|
||||
// Token: 0x04006807 RID: 26631
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006807")]
|
||||
private int bufferPos;
|
||||
|
||||
// Token: 0x04006808 RID: 26632
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006808")]
|
||||
private ulong[] internalState;
|
||||
|
||||
// Token: 0x04006809 RID: 26633
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006809")]
|
||||
private ulong[] chainValue;
|
||||
|
||||
// Token: 0x0400680A RID: 26634
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x400680A")]
|
||||
private ulong t0;
|
||||
|
||||
// Token: 0x0400680B RID: 26635
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x400680B")]
|
||||
private ulong t1;
|
||||
|
||||
// Token: 0x0400680C RID: 26636
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x400680C")]
|
||||
private ulong f0;
|
||||
}
|
||||
}
|
||||
+575
@@ -0,0 +1,575 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001704 RID: 5892
|
||||
[Token(Token = "0x2001704")]
|
||||
[StructLayout(3)]
|
||||
public class Blake2sDigest : IDigest
|
||||
{
|
||||
// Token: 0x06009E39 RID: 40505 RVA: 0x0024555C File Offset: 0x0024375C
|
||||
[Token(Token = "0x6009E39")]
|
||||
[Address(RVA = "0x2176680", Offset = "0x2175080", VA = "0x182176680")]
|
||||
public Blake2sDigest()
|
||||
{
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
uint[] array = new uint[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[64];
|
||||
this.buffer = array2;
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x06009E3A RID: 40506 RVA: 0x002455A8 File Offset: 0x002437A8
|
||||
[Token(Token = "0x6009E3A")]
|
||||
[Address(RVA = "0x2176130", Offset = "0x2174B30", VA = "0x182176130")]
|
||||
public Blake2sDigest(Blake2sDigest digest)
|
||||
{
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
uint[] array = new uint[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
int num = digest.bufferPos;
|
||||
this.bufferPos = num;
|
||||
byte[] array2 = Arrays.Clone(digest.buffer);
|
||||
this.buffer = array2;
|
||||
int num2 = digest.keyLength;
|
||||
this.keyLength = num2;
|
||||
byte[] array3 = Arrays.Clone(digest.key);
|
||||
this.key = array3;
|
||||
int num3 = digest.digestLength;
|
||||
this.digestLength = num3;
|
||||
uint[] array4 = Arrays.Clone(digest.chainValue);
|
||||
this.chainValue = array4;
|
||||
byte[] array5 = Arrays.Clone(digest.personalization);
|
||||
this.personalization = array5;
|
||||
}
|
||||
|
||||
// Token: 0x06009E3B RID: 40507 RVA: 0x00245658 File Offset: 0x00243858
|
||||
[Token(Token = "0x6009E3B")]
|
||||
[Address(RVA = "0x2176340", Offset = "0x2174D40", VA = "0x182176340")]
|
||||
public Blake2sDigest(int digestBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E3B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2sDigest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_57:
|
||||
stloc:ArgumentException(var_5_61, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("BLAKE2s digest bit length must be a multiple of 8 and not greater than 256")))
|
||||
}
|
||||
|
||||
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: 0x06009E3C RID: 40508 RVA: 0x002456C8 File Offset: 0x002438C8
|
||||
[Token(Token = "0x6009E3C")]
|
||||
[Address(RVA = "0x2176220", Offset = "0x2174C20", VA = "0x182176220")]
|
||||
public Blake2sDigest(byte[] key)
|
||||
{
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
uint[] array = new uint[16];
|
||||
this.internalState = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[64];
|
||||
this.buffer = array2;
|
||||
if (key != 0)
|
||||
{
|
||||
byte[] array3 = new byte[key.Length];
|
||||
this.key = array3;
|
||||
int num = 0;
|
||||
int length = key.Length;
|
||||
int num2 = 0;
|
||||
Array.Copy(key, num2, array3, num, length);
|
||||
int length2 = key.Length;
|
||||
int num3 = 0;
|
||||
byte[] array4 = this.buffer;
|
||||
int num4 = 0;
|
||||
this.keyLength = length2;
|
||||
int length3 = key.Length;
|
||||
Array.Copy(key, num4, array4, num3, length3);
|
||||
this.bufferPos = (int)((ulong)64L);
|
||||
}
|
||||
this.digestLength = (int)((ulong)32L);
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x06009E3D RID: 40509 RVA: 0x00245790 File Offset: 0x00243990
|
||||
[Token(Token = "0x6009E3D")]
|
||||
[Address(RVA = "0x2176420", Offset = "0x2174E20", VA = "0x182176420")]
|
||||
public Blake2sDigest(byte[] key, int digestBytes, byte[] salt, byte[] personalization)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E3D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2sDigest::.ctor(System.Byte[],System.Int32,System.Byte[],System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_110:
|
||||
stloc:ArgumentException(var_19_11A, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Salt length must be exactly 8 bytes")))
|
||||
}
|
||||
|
||||
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: 0x06009E3E RID: 40510 RVA: 0x002458B8 File Offset: 0x00243AB8
|
||||
[Token(Token = "0x6009E3E")]
|
||||
[Address(RVA = "0x2175850", Offset = "0x2174250", VA = "0x182175850")]
|
||||
private void Init()
|
||||
{
|
||||
if (this.chainValue == (ulong)0L)
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
this.chainValue = array;
|
||||
uint[] array2 = Blake2sDigest.blake2s_IV;
|
||||
int num = this.keyLength;
|
||||
array[0] = (uint)num;
|
||||
uint[] array3 = this.chainValue;
|
||||
uint num2 = Blake2sDigest.blake2s_IV[0];
|
||||
array3[0] = num2;
|
||||
uint[] array4 = this.chainValue;
|
||||
uint num3 = Blake2sDigest.blake2s_IV[1];
|
||||
array4[1] = num3;
|
||||
uint[] array5 = this.chainValue;
|
||||
uint num4 = Blake2sDigest.blake2s_IV[1];
|
||||
array5[1] = num4;
|
||||
uint[] array6 = this.chainValue;
|
||||
uint num5 = Blake2sDigest.blake2s_IV[2];
|
||||
array6[2] = num5;
|
||||
uint[] array7 = this.chainValue;
|
||||
uint num6 = Blake2sDigest.blake2s_IV[2];
|
||||
array7[2] = num6;
|
||||
byte[] array8 = this.salt;
|
||||
if (array8 != 0)
|
||||
{
|
||||
uint[] array9 = this.chainValue;
|
||||
int num7 = 0;
|
||||
int @int = SerializationHeaderRecord.GetInt32(array8, num7);
|
||||
array9[2] = (uint)@int;
|
||||
uint[] array10 = this.chainValue;
|
||||
int int2 = SerializationHeaderRecord.GetInt32(this.salt, 4);
|
||||
array10[2] = (uint)int2;
|
||||
}
|
||||
uint[] array11 = this.chainValue;
|
||||
uint num8 = Blake2sDigest.blake2s_IV[3];
|
||||
array11[3] = num8;
|
||||
uint[] array12 = this.chainValue;
|
||||
uint num9 = Blake2sDigest.blake2s_IV[3];
|
||||
array12[3] = num9;
|
||||
byte[] array13 = this.personalization;
|
||||
if (array13 != 0)
|
||||
{
|
||||
uint[] array14 = this.chainValue;
|
||||
int num10 = 0;
|
||||
int int3 = SerializationHeaderRecord.GetInt32(array13, num10);
|
||||
array14[3] = (uint)int3;
|
||||
uint[] array15 = this.chainValue;
|
||||
int int4 = SerializationHeaderRecord.GetInt32(this.personalization, 4);
|
||||
array15[3] = (uint)int4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E3F RID: 40511 RVA: 0x00245A70 File Offset: 0x00243C70
|
||||
[Token(Token = "0x6009E3F")]
|
||||
[Address(RVA = "0x2175D10", Offset = "0x2174710", VA = "0x182175D10")]
|
||||
private void InitializeInternalState()
|
||||
{
|
||||
uint[] array = this.chainValue;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
uint[] array2 = this.internalState;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
uint[] array3 = this.chainValue;
|
||||
int num3 = 0;
|
||||
int length2 = array3.Length;
|
||||
uint[] array4 = this.internalState;
|
||||
ulong num4;
|
||||
Array.Copy(Blake2sDigest.blake2s_IV, num3, array4, length2, (int)num4);
|
||||
uint[] array5 = this.internalState;
|
||||
uint num5 = Blake2sDigest.blake2s_IV[2];
|
||||
array5[6] = num5;
|
||||
uint[] array6 = this.internalState;
|
||||
uint num6 = Blake2sDigest.blake2s_IV[2];
|
||||
array6[6] = num6;
|
||||
uint[] array7 = this.internalState;
|
||||
uint num7 = Blake2sDigest.blake2s_IV[3];
|
||||
array7[7] = num7;
|
||||
uint[] array8 = this.internalState;
|
||||
uint num8 = Blake2sDigest.blake2s_IV[3];
|
||||
array8[7] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x06009E40 RID: 40512 RVA: 0x00245B54 File Offset: 0x00243D54
|
||||
[Token(Token = "0x6009E40")]
|
||||
[Address(RVA = "0x2175FC0", Offset = "0x21749C0", VA = "0x182175FC0", Slot = "11")]
|
||||
public virtual void Update(byte b)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
uint num2;
|
||||
byte[] array;
|
||||
if (num2 != (uint)num)
|
||||
{
|
||||
array = this.buffer;
|
||||
return;
|
||||
}
|
||||
if (num == array.Length)
|
||||
{
|
||||
}
|
||||
byte[] array2 = this.buffer;
|
||||
int num3 = 0;
|
||||
this.Compress(array2, num3);
|
||||
byte[] array3 = this.buffer;
|
||||
int length = array3.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(array3, num4, length);
|
||||
this.buffer[0] = b;
|
||||
this.bufferPos = (int)((ulong)1L);
|
||||
}
|
||||
|
||||
// Token: 0x06009E41 RID: 40513 RVA: 0x00245BCC File Offset: 0x00243DCC
|
||||
[Token(Token = "0x6009E41")]
|
||||
[Address(RVA = "0x2174A90", Offset = "0x2173490", VA = "0x182174A90", Slot = "12")]
|
||||
public virtual void BlockUpdate(byte[] message, int offset, int len)
|
||||
{
|
||||
if (message != 0 && len != 0)
|
||||
{
|
||||
int num = this.bufferPos;
|
||||
int num2 = 0;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.buffer;
|
||||
uint num3;
|
||||
num3 -= (uint)num;
|
||||
Array.Copy(message, offset, array, num, len);
|
||||
Array.Copy(message, offset, array, num, (int)num3);
|
||||
if (num3 == (uint)len)
|
||||
{
|
||||
}
|
||||
byte[] array2 = this.buffer;
|
||||
int num4 = 0;
|
||||
this.Compress(array2, num4);
|
||||
byte[] array3 = this.buffer;
|
||||
this.bufferPos = num2;
|
||||
int length = array3.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(array3, num5, length);
|
||||
}
|
||||
num2 += offset;
|
||||
this.Compress(message, num2);
|
||||
num2 += 64;
|
||||
byte[] array4 = this.buffer;
|
||||
int num6 = 0;
|
||||
Array.Copy(message, num2, array4, num6, offset);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E42 RID: 40514 RVA: 0x00245C80 File Offset: 0x00243E80
|
||||
[Token(Token = "0x6009E42")]
|
||||
[Address(RVA = "0x2175360", Offset = "0x2173D60", VA = "0x182175360", Slot = "13")]
|
||||
public virtual int DoFinal(byte[] output, int outOffset)
|
||||
{
|
||||
this.f0 = (uint)((ulong)4294967295L);
|
||||
byte[] array = this.buffer;
|
||||
int num = 0;
|
||||
this.Compress(array, num);
|
||||
byte[] array2 = this.buffer;
|
||||
int length = array2.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array2, num2, length);
|
||||
uint[] array3 = this.internalState;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(array3, num3, length2);
|
||||
uint[] array4 = this.chainValue;
|
||||
int num4 = 0;
|
||||
uint[] array6;
|
||||
if (num4 < array4.Length && num4 < this.digestLength)
|
||||
{
|
||||
byte[] array5 = Pack.UInt32_To_LE(array4[num4]);
|
||||
int num5 = this.digestLength;
|
||||
num5 -= num4;
|
||||
int num6 = 0;
|
||||
uint num7;
|
||||
Array.Copy(array5, num6, output, 0, (int)num7);
|
||||
array6 = this.chainValue;
|
||||
num4++;
|
||||
num4 += 4;
|
||||
}
|
||||
int length3 = array6.Length;
|
||||
int num8 = 0;
|
||||
Array.Clear(array6, num8, length3);
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009E43 RID: 40515 RVA: 0x00245D70 File Offset: 0x00243F70
|
||||
[Token(Token = "0x6009E43")]
|
||||
[Address(RVA = "0x2175F40", Offset = "0x2174940", VA = "0x182175F40", Slot = "14")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num = 0;
|
||||
this.bufferPos = num;
|
||||
this.t1 = (uint)num;
|
||||
this.t0 = (uint)num;
|
||||
this.chainValue = num;
|
||||
byte[] array = this.buffer;
|
||||
int length = array.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array, num2, length);
|
||||
byte[] array2 = this.key;
|
||||
if (array2 != 0)
|
||||
{
|
||||
int length2 = array2.Length;
|
||||
int num3 = 0;
|
||||
byte[] array3 = this.buffer;
|
||||
int num4 = 0;
|
||||
Array.Copy(array2, num4, array3, num3, length2);
|
||||
this.bufferPos = (int)((ulong)64L);
|
||||
}
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x06009E44 RID: 40516 RVA: 0x00245DFC File Offset: 0x00243FFC
|
||||
[Token(Token = "0x6009E44")]
|
||||
[Address(RVA = "0x2174BD0", Offset = "0x21735D0", VA = "0x182174BD0")]
|
||||
private void Compress(byte[] message, int messagePos)
|
||||
{
|
||||
this.InitializeInternalState();
|
||||
uint[] array = new uint[16];
|
||||
int num = 0;
|
||||
num++;
|
||||
array[0] = array;
|
||||
byte[,] array2 = Blake2sDigest.blake2s_sigma;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x06009E45 RID: 40517 RVA: 0x00246064 File Offset: 0x00244264
|
||||
[Token(Token = "0x6009E45")]
|
||||
[Address(RVA = "0x21754C0", Offset = "0x2173EC0", VA = "0x1821754C0")]
|
||||
private void G(uint m1, uint m2, int posA, int posB, int posC, int posD)
|
||||
{
|
||||
uint[] array = this.internalState;
|
||||
int length = array.Length;
|
||||
uint num;
|
||||
uint num2;
|
||||
num += num2;
|
||||
num += m1;
|
||||
posA.m_value = (int)num;
|
||||
int length2 = this.internalState.Length;
|
||||
uint num3;
|
||||
array.m_value = num3;
|
||||
uint[] array2 = this.internalState;
|
||||
int length3 = array2.Length;
|
||||
uint num4;
|
||||
uint num5;
|
||||
num4 += num5;
|
||||
array2[0] = num4;
|
||||
int length4 = this.internalState.Length;
|
||||
int length5 = this.internalState.Length;
|
||||
uint num6;
|
||||
uint num7;
|
||||
num6 += num7;
|
||||
num6 += m2;
|
||||
posA.m_value = (int)num6;
|
||||
int length6 = this.internalState.Length;
|
||||
uint num8;
|
||||
array.m_value = num8;
|
||||
uint[] array3 = this.internalState;
|
||||
int length7 = array3.Length;
|
||||
uint num9;
|
||||
uint num10;
|
||||
num9 += num10;
|
||||
array3[0] = num9;
|
||||
int length8 = this.internalState.Length;
|
||||
}
|
||||
|
||||
// Token: 0x06009E46 RID: 40518 RVA: 0x00246140 File Offset: 0x00244340
|
||||
[Token(Token = "0x6009E46")]
|
||||
[Address(RVA = "0x2176730", Offset = "0x2175130", VA = "0x182176730")]
|
||||
private uint rotr32(uint x, int rot)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x17001908 RID: 6408
|
||||
// (get) Token: 0x06009E47 RID: 40519 RVA: 0x00246150 File Offset: 0x00244350
|
||||
[Token(Token = "0x17001908")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009E47")]
|
||||
[Address(RVA = "0x2176700", Offset = "0x2175100", VA = "0x182176700", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return "BLAKE2s";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E48 RID: 40520 RVA: 0x00246164 File Offset: 0x00244364
|
||||
[Token(Token = "0x6009E48")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "16")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009E49 RID: 40521 RVA: 0x00246178 File Offset: 0x00244378
|
||||
[Token(Token = "0x6009E49")]
|
||||
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "17")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x06009E4A RID: 40522 RVA: 0x00246188 File Offset: 0x00244388
|
||||
[Token(Token = "0x6009E4A")]
|
||||
[Address(RVA = "0x2172D70", Offset = "0x2171770", VA = "0x182172D70", Slot = "18")]
|
||||
public virtual void ClearKey()
|
||||
{
|
||||
byte[] array = this.key;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
byte[] array2 = this.buffer;
|
||||
int length2 = array2.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array2, num2, length2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E4B RID: 40523 RVA: 0x002461D4 File Offset: 0x002443D4
|
||||
[Token(Token = "0x6009E4B")]
|
||||
[Address(RVA = "0x2172DC0", Offset = "0x21717C0", VA = "0x182172DC0", Slot = "19")]
|
||||
public virtual void ClearSalt()
|
||||
{
|
||||
byte[] array = this.salt;
|
||||
if (array != 0)
|
||||
{
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E4C RID: 40524 RVA: 0x00246200 File Offset: 0x00244400
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E4C")]
|
||||
[Address(RVA = "0x2176080", Offset = "0x2174A80", VA = "0x182176080")]
|
||||
static Blake2sDigest()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.013B76F7DD3E0346CB351F079CC062EFBD293457).FieldHandle);
|
||||
Blake2sDigest.blake2s_IV = array;
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.7F817443C1F736721DD92BD67C7C8994C7B8DEBF).FieldHandle);
|
||||
Blake2sDigest.blake2s_sigma = array;
|
||||
}
|
||||
|
||||
// Token: 0x0400680D RID: 26637
|
||||
[Token(Token = "0x400680D")]
|
||||
private static readonly uint[] blake2s_IV;
|
||||
|
||||
// Token: 0x0400680E RID: 26638
|
||||
[Token(Token = "0x400680E")]
|
||||
private static readonly byte[,] blake2s_sigma;
|
||||
|
||||
// Token: 0x0400680F RID: 26639
|
||||
[Token(Token = "0x400680F")]
|
||||
private const int ROUNDS = 10;
|
||||
|
||||
// Token: 0x04006810 RID: 26640
|
||||
[Token(Token = "0x4006810")]
|
||||
private const int BLOCK_LENGTH_BYTES = 64;
|
||||
|
||||
// Token: 0x04006811 RID: 26641
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006811")]
|
||||
private int digestLength;
|
||||
|
||||
// Token: 0x04006812 RID: 26642
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006812")]
|
||||
private int keyLength;
|
||||
|
||||
// Token: 0x04006813 RID: 26643
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006813")]
|
||||
private byte[] salt;
|
||||
|
||||
// Token: 0x04006814 RID: 26644
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006814")]
|
||||
private byte[] personalization;
|
||||
|
||||
// Token: 0x04006815 RID: 26645
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006815")]
|
||||
private byte[] key;
|
||||
|
||||
// Token: 0x04006816 RID: 26646
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006816")]
|
||||
private byte[] buffer;
|
||||
|
||||
// Token: 0x04006817 RID: 26647
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006817")]
|
||||
private int bufferPos;
|
||||
|
||||
// Token: 0x04006818 RID: 26648
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006818")]
|
||||
private uint[] internalState;
|
||||
|
||||
// Token: 0x04006819 RID: 26649
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006819")]
|
||||
private uint[] chainValue;
|
||||
|
||||
// Token: 0x0400681A RID: 26650
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x400681A")]
|
||||
private uint t0;
|
||||
|
||||
// Token: 0x0400681B RID: 26651
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x54")]
|
||||
[Token(Token = "0x400681B")]
|
||||
private uint t1;
|
||||
|
||||
// Token: 0x0400681C RID: 26652
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x400681C")]
|
||||
private uint f0;
|
||||
}
|
||||
}
|
||||
+559
@@ -0,0 +1,559 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001705 RID: 5893
|
||||
[Token(Token = "0x2001705")]
|
||||
[StructLayout(3)]
|
||||
public class Dstu7564Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x06009E4D RID: 40525 RVA: 0x00246238 File Offset: 0x00244438
|
||||
[Token(Token = "0x6009E4D")]
|
||||
[Address(RVA = "0x217B5F0", Offset = "0x2179FF0", VA = "0x18217B5F0")]
|
||||
public Dstu7564Digest(Dstu7564Digest digest)
|
||||
{
|
||||
this.CopyIn(digest);
|
||||
}
|
||||
|
||||
// Token: 0x06009E4E RID: 40526 RVA: 0x00246254 File Offset: 0x00244454
|
||||
[Token(Token = "0x6009E4E")]
|
||||
[Address(RVA = "0x2179B60", Offset = "0x2178560", VA = "0x182179B60")]
|
||||
private void CopyIn(Dstu7564Digest digest)
|
||||
{
|
||||
int num = digest.hashSize;
|
||||
this.hashSize = num;
|
||||
int num2 = digest.blockSize;
|
||||
this.blockSize = num2;
|
||||
int num3 = digest.rounds;
|
||||
this.rounds = num3;
|
||||
int num4 = this.columns;
|
||||
if (num4 > 0 && num4 == digest.S3)
|
||||
{
|
||||
ulong[] array = this.state;
|
||||
ulong[] array2 = digest.state;
|
||||
int num5 = 0;
|
||||
int num6 = 0;
|
||||
Array.Copy(array2, num6, array, num5, num4);
|
||||
int num7 = this.blockSize;
|
||||
int num8 = 0;
|
||||
byte[] array3 = this.buf;
|
||||
int num9 = 0;
|
||||
Array.Copy(digest.buf, num9, array3, num8, num7);
|
||||
}
|
||||
int num10 = digest.columns;
|
||||
this.columns = num10;
|
||||
ulong[] array4 = Arrays.Clone(digest.state);
|
||||
int num11 = this.columns;
|
||||
this.state = array4;
|
||||
ulong[] array5 = new ulong[num11];
|
||||
int num12 = this.columns;
|
||||
this.tempState1 = array5;
|
||||
ulong[] array6 = new ulong[num12];
|
||||
this.tempState2 = array6;
|
||||
byte[] array7 = Arrays.Clone(digest.buf);
|
||||
this.buf = array7;
|
||||
ulong num13 = digest.inputBlocks;
|
||||
this.inputBlocks = num13;
|
||||
int num14 = digest.bufOff;
|
||||
this.bufOff = num14;
|
||||
}
|
||||
|
||||
// Token: 0x06009E4F RID: 40527 RVA: 0x00246384 File Offset: 0x00244584
|
||||
[Token(Token = "0x6009E4F")]
|
||||
[Address(RVA = "0x217B620", Offset = "0x217A020", VA = "0x18217B620")]
|
||||
public Dstu7564Digest(int hashSizeBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E4F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Dstu7564Digest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A6:
|
||||
stloc:ArgumentException(var_11_B0, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Hash size is not recommended. Use 256/384/512 instead")))
|
||||
}
|
||||
|
||||
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: 0x17001909 RID: 6409
|
||||
// (get) Token: 0x06009E50 RID: 40528 RVA: 0x00246444 File Offset: 0x00244644
|
||||
[Token(Token = "0x17001909")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009E50")]
|
||||
[Address(RVA = "0x217B770", Offset = "0x217A170", VA = "0x18217B770", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return "DSTU7564";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E51 RID: 40529 RVA: 0x00246458 File Offset: 0x00244658
|
||||
[Token(Token = "0x6009E51")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "14")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.hashSize;
|
||||
}
|
||||
|
||||
// Token: 0x06009E52 RID: 40530 RVA: 0x0024646C File Offset: 0x0024466C
|
||||
[Token(Token = "0x6009E52")]
|
||||
[Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550", Slot = "15")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return this.blockSize;
|
||||
}
|
||||
|
||||
// Token: 0x06009E53 RID: 40531 RVA: 0x00246480 File Offset: 0x00244680
|
||||
[Token(Token = "0x6009E53")]
|
||||
[Address(RVA = "0x217B460", Offset = "0x2179E60", VA = "0x18217B460", Slot = "16")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
byte[] array = this.buf;
|
||||
int num = this.bufOff + 1;
|
||||
this.bufOff = num;
|
||||
int num2 = this.blockSize;
|
||||
if (this.bufOff == num2)
|
||||
{
|
||||
this.Reset();
|
||||
this.bufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E54 RID: 40532 RVA: 0x002464CC File Offset: 0x002446CC
|
||||
[Token(Token = "0x6009E54")]
|
||||
[Address(RVA = "0x2179A40", Offset = "0x2178440", VA = "0x182179A40", Slot = "17")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
if (this.bufOff != 0)
|
||||
{
|
||||
if (length <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
int byteLength = this.GetByteLength();
|
||||
while (this.bufOff != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
this.Reset();
|
||||
int num = this.blockSize;
|
||||
while (length >= num)
|
||||
{
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int byteLength2 = this.GetByteLength();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E55 RID: 40533 RVA: 0x00246520 File Offset: 0x00244720
|
||||
[Token(Token = "0x6009E55")]
|
||||
[Address(RVA = "0x2179CF0", Offset = "0x21786F0", VA = "0x182179CF0", Slot = "18")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
int num = this.bufOff;
|
||||
byte[] array = this.buf;
|
||||
int num2 = num + 1;
|
||||
this.bufOff = num2;
|
||||
int num3 = 0;
|
||||
int num4 = this.blockSize;
|
||||
int num5 = this.bufOff;
|
||||
if (num5 < num4)
|
||||
{
|
||||
byte[] array2 = this.buf;
|
||||
int num6 = num5 + 1;
|
||||
this.bufOff = num6;
|
||||
int num7 = this.bufOff;
|
||||
}
|
||||
this.bufOff = num3;
|
||||
this.Reset();
|
||||
int num8 = this.bufOff;
|
||||
byte[] array3 = this.buf;
|
||||
int num9 = num5 + 1;
|
||||
this.bufOff = num9;
|
||||
int num10 = this.bufOff;
|
||||
ulong num11 = this.inputBlocks;
|
||||
int num12 = this.blockSize;
|
||||
byte[] array4 = this.buf;
|
||||
ulong num13 = num11 * (ulong)num12;
|
||||
num13 += (ulong)num;
|
||||
Ed25519.Encode32((uint)num13, array4, num10);
|
||||
ulong num14 = this.inputBlocks;
|
||||
int num15 = this.blockSize;
|
||||
int num16 = this.bufOff;
|
||||
byte[] array5 = this.buf;
|
||||
Pack.UInt64_To_LE(num14 * (ulong)num15, array5, num16);
|
||||
this.Reset();
|
||||
int num17 = this.columns;
|
||||
int num18 = 0;
|
||||
ulong[] array6 = this.tempState1;
|
||||
int num19 = 0;
|
||||
Array.Copy(this.state, num19, array6, num18, num17);
|
||||
ulong[] array7 = this.tempState1;
|
||||
this.P(array7);
|
||||
int num20;
|
||||
if (this.columns > 0)
|
||||
{
|
||||
ulong[] array8 = this.state;
|
||||
ulong[] array9 = this.tempState1;
|
||||
num3++;
|
||||
num20 = this.columns;
|
||||
}
|
||||
int num21 = this.hashSize;
|
||||
num21 += num3;
|
||||
num20 -= num21;
|
||||
if (num20 < num20)
|
||||
{
|
||||
Pack.UInt64_To_LE(this.state[num20], output, outOff);
|
||||
num20++;
|
||||
}
|
||||
return this.hashSize;
|
||||
}
|
||||
|
||||
// Token: 0x06009E56 RID: 40534 RVA: 0x002466BC File Offset: 0x002448BC
|
||||
[Token(Token = "0x6009E56")]
|
||||
[Address(RVA = "0x217A590", Offset = "0x2178F90", VA = "0x18217A590", Slot = "19")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
ulong[] array = this.state;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
ulong[] array2 = this.state;
|
||||
int num2 = this.blockSize;
|
||||
array2[0] = (ulong)num2;
|
||||
int num3 = 0;
|
||||
this.inputBlocks = (ulong)num3;
|
||||
this.bufOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x06009E57 RID: 40535 RVA: 0x00246714 File Offset: 0x00244914
|
||||
[Token(Token = "0x6009E57")]
|
||||
[Address(RVA = "0x217A270", Offset = "0x2178C70", VA = "0x18217A270", Slot = "20")]
|
||||
protected virtual void ProcessBlock(byte[] input, int inOff)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.S3 > num)
|
||||
{
|
||||
ulong num2 = Pack.LE_To_UInt64(input, inOff);
|
||||
ulong[] array = this.state;
|
||||
ulong[] array2 = this.tempState1;
|
||||
ulong num3 = array[num];
|
||||
array2[0] = num3;
|
||||
ulong[] array3 = this.tempState2;
|
||||
num++;
|
||||
array3[0] = num2;
|
||||
}
|
||||
ulong[] array4 = this.tempState1;
|
||||
this.P(array4);
|
||||
ulong[] array5 = this.tempState2;
|
||||
if (this.rounds > num)
|
||||
{
|
||||
int num4 = this.columns;
|
||||
if (num4 > 0)
|
||||
{
|
||||
num++;
|
||||
ulong num5;
|
||||
num4 = (int)((ulong)num4 - num5);
|
||||
}
|
||||
this.ShiftRows(array5);
|
||||
this.SubBytes(array5);
|
||||
this.MixColumns(array5);
|
||||
num++;
|
||||
}
|
||||
if (this.S3 > num)
|
||||
{
|
||||
ulong[] array6 = this.state;
|
||||
ulong[] array7 = this.tempState1;
|
||||
ulong num6 = this.tempState2[num];
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E58 RID: 40536 RVA: 0x002467F0 File Offset: 0x002449F0
|
||||
[Token(Token = "0x6009E58")]
|
||||
[Address(RVA = "0x217A1C0", Offset = "0x2178BC0", VA = "0x18217A1C0")]
|
||||
private void P(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.rounds > num)
|
||||
{
|
||||
int num2 = 0;
|
||||
if (this.S3 > num2)
|
||||
{
|
||||
num2++;
|
||||
num += 16;
|
||||
}
|
||||
this.ShiftRows(s);
|
||||
this.SubBytes(s);
|
||||
this.MixColumns(s);
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E59 RID: 40537 RVA: 0x0024683C File Offset: 0x00244A3C
|
||||
[Token(Token = "0x6009E59")]
|
||||
[Address(RVA = "0x217A4B0", Offset = "0x2178EB0", VA = "0x18217A4B0")]
|
||||
private void Q(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.rounds > num)
|
||||
{
|
||||
int num2 = this.columns;
|
||||
int num3 = 0;
|
||||
if (num2 > 0)
|
||||
{
|
||||
num3++;
|
||||
ulong num4;
|
||||
num2 = (int)((ulong)num2 - num4);
|
||||
}
|
||||
this.ShiftRows(s);
|
||||
this.SubBytes(s);
|
||||
this.MixColumns(s);
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E5A RID: 40538 RVA: 0x00246888 File Offset: 0x00244A88
|
||||
[Token(Token = "0x6009E5A")]
|
||||
[Address(RVA = "0x2179FB0", Offset = "0x21789B0", VA = "0x182179FB0")]
|
||||
private static ulong MixColumn(ulong c)
|
||||
{
|
||||
return c;
|
||||
}
|
||||
|
||||
// Token: 0x06009E5B RID: 40539 RVA: 0x00246898 File Offset: 0x00244A98
|
||||
[Token(Token = "0x6009E5B")]
|
||||
[Address(RVA = "0x217A0F0", Offset = "0x2178AF0", VA = "0x18217A0F0")]
|
||||
private void MixColumns(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.S3 > num)
|
||||
{
|
||||
ulong num2 = Dstu7564Digest.MixColumn(s[num]);
|
||||
num++;
|
||||
s[0] = num2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E5C RID: 40540 RVA: 0x002468D0 File Offset: 0x00244AD0
|
||||
[Token(Token = "0x6009E5C")]
|
||||
[Address(RVA = "0x211C540", Offset = "0x211AF40", VA = "0x18211C540")]
|
||||
private static ulong Rotate(int n, ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009E5D RID: 40541 RVA: 0x002468E0 File Offset: 0x00244AE0
|
||||
[Token(Token = "0x6009E5D")]
|
||||
[Address(RVA = "0x217A690", Offset = "0x2179090", VA = "0x18217A690")]
|
||||
private void ShiftRows(ulong[] s)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E5D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Dstu7564Digest::ShiftRows(System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_13E:
|
||||
stloc:InvalidOperationException(var_18_148, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported state size: only 512/1024 are allowed")))
|
||||
}
|
||||
|
||||
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: 0x06009E5E RID: 40542 RVA: 0x00246A38 File Offset: 0x00244C38
|
||||
[Token(Token = "0x6009E5E")]
|
||||
[Address(RVA = "0x217B160", Offset = "0x2179B60", VA = "0x18217B160")]
|
||||
private void SubBytes(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.S3 > num)
|
||||
{
|
||||
num += 4;
|
||||
int length = Dstu7564Digest.S0.Length;
|
||||
int length2 = Dstu7564Digest.S1.Length;
|
||||
int length3 = Dstu7564Digest.S2.Length;
|
||||
int length4 = Dstu7564Digest.S3.Length;
|
||||
num++;
|
||||
byte b;
|
||||
num.m_value = (int)b;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E5F RID: 40543 RVA: 0x00246A94 File Offset: 0x00244C94
|
||||
[Token(Token = "0x6009E5F")]
|
||||
[Address(RVA = "0x2179C90", Offset = "0x2178690", VA = "0x182179C90", Slot = "21")]
|
||||
public virtual IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E5F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Dstu7564Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
call:void(Dstu7564Digest::CopyIn, ldloc:Dstu7564Digest(var_0), ldloc:Dstu7564Digest(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: 0x06009E60 RID: 40544 RVA: 0x00246AA8 File Offset: 0x00244CA8
|
||||
[Token(Token = "0x6009E60")]
|
||||
[Address(RVA = "0x217A5F0", Offset = "0x2178FF0", VA = "0x18217A5F0", Slot = "22")]
|
||||
public virtual void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009E61 RID: 40545 RVA: 0x00246AC0 File Offset: 0x00244CC0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E61")]
|
||||
[Address(RVA = "0x217B4E0", Offset = "0x2179EE0", VA = "0x18217B4E0")]
|
||||
static Dstu7564Digest()
|
||||
{
|
||||
byte[] array = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6F5D2C37DFCDB1E72B86BC606C0E717C70E188A4).FieldHandle);
|
||||
Dstu7564Digest.S0 = array;
|
||||
byte[] array2 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.79039C5C22F863E8EAE0E08E1318F343680E50A8).FieldHandle);
|
||||
Dstu7564Digest.S1 = array2;
|
||||
byte[] array3 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.340B4B55E1DFD4BADC69CA57007FC1A4CDBA7943).FieldHandle);
|
||||
Dstu7564Digest.S2 = array3;
|
||||
byte[] array4 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.5CFF612F2058DE2C287ECA5C6407ECC471F65576).FieldHandle);
|
||||
Dstu7564Digest.S3 = array4;
|
||||
}
|
||||
|
||||
// Token: 0x0400681D RID: 26653
|
||||
[Token(Token = "0x400681D")]
|
||||
private const int NB_512 = 8;
|
||||
|
||||
// Token: 0x0400681E RID: 26654
|
||||
[Token(Token = "0x400681E")]
|
||||
private const int NB_1024 = 16;
|
||||
|
||||
// Token: 0x0400681F RID: 26655
|
||||
[Token(Token = "0x400681F")]
|
||||
private const int NR_512 = 10;
|
||||
|
||||
// Token: 0x04006820 RID: 26656
|
||||
[Token(Token = "0x4006820")]
|
||||
private const int NR_1024 = 14;
|
||||
|
||||
// Token: 0x04006821 RID: 26657
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006821")]
|
||||
private int hashSize;
|
||||
|
||||
// Token: 0x04006822 RID: 26658
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006822")]
|
||||
private int blockSize;
|
||||
|
||||
// Token: 0x04006823 RID: 26659
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006823")]
|
||||
private int columns;
|
||||
|
||||
// Token: 0x04006824 RID: 26660
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4006824")]
|
||||
private int rounds;
|
||||
|
||||
// Token: 0x04006825 RID: 26661
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006825")]
|
||||
private ulong[] state;
|
||||
|
||||
// Token: 0x04006826 RID: 26662
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006826")]
|
||||
private ulong[] tempState1;
|
||||
|
||||
// Token: 0x04006827 RID: 26663
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006827")]
|
||||
private ulong[] tempState2;
|
||||
|
||||
// Token: 0x04006828 RID: 26664
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006828")]
|
||||
private ulong inputBlocks;
|
||||
|
||||
// Token: 0x04006829 RID: 26665
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006829")]
|
||||
private int bufOff;
|
||||
|
||||
// Token: 0x0400682A RID: 26666
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400682A")]
|
||||
private byte[] buf;
|
||||
|
||||
// Token: 0x0400682B RID: 26667
|
||||
[Token(Token = "0x400682B")]
|
||||
private static readonly byte[] S0;
|
||||
|
||||
// Token: 0x0400682C RID: 26668
|
||||
[Token(Token = "0x400682C")]
|
||||
private static readonly byte[] S1;
|
||||
|
||||
// Token: 0x0400682D RID: 26669
|
||||
[Token(Token = "0x400682D")]
|
||||
private static readonly byte[] S2;
|
||||
|
||||
// Token: 0x0400682E RID: 26670
|
||||
[Token(Token = "0x400682E")]
|
||||
private static readonly byte[] S3;
|
||||
}
|
||||
}
|
||||
+878
@@ -0,0 +1,878 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001707 RID: 5895
|
||||
[Token(Token = "0x2001707")]
|
||||
[StructLayout(3)]
|
||||
public abstract class GOST3411_2012Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x06009E79 RID: 40569 RVA: 0x00247958 File Offset: 0x00245B58
|
||||
[Token(Token = "0x6009E79")]
|
||||
[Address(RVA = "0x217F4B0", Offset = "0x217DEB0", VA = "0x18217F4B0")]
|
||||
protected GOST3411_2012Digest(byte[] IV)
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
this.IV = array;
|
||||
byte[] array2 = new byte[64];
|
||||
this.N = array2;
|
||||
byte[] array3 = new byte[64];
|
||||
this.Sigma = array3;
|
||||
byte[] array4 = new byte[64];
|
||||
this.Ki = array4;
|
||||
byte[] array5 = new byte[64];
|
||||
this.m = array5;
|
||||
byte[] array6 = new byte[64];
|
||||
this.h = array6;
|
||||
byte[] array7 = new byte[64];
|
||||
this.tmp = array7;
|
||||
byte[] array8 = new byte[64];
|
||||
this.block = array8;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
base..ctor();
|
||||
byte[] iv = this.IV;
|
||||
Array.Copy(IV, iv, 64);
|
||||
byte[] array9 = this.h;
|
||||
Array.Copy(IV, array9, 64);
|
||||
}
|
||||
|
||||
// Token: 0x1700190B RID: 6411
|
||||
// (get) Token: 0x06009E7A RID: 40570
|
||||
[Token(Token = "0x1700190B")]
|
||||
public abstract string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009E7A")]
|
||||
[Address(Slot = "13")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x06009E7B RID: 40571
|
||||
[Token(Token = "0x6009E7B")]
|
||||
[Address(Slot = "14")]
|
||||
public abstract IMemoable Copy();
|
||||
|
||||
// Token: 0x06009E7C RID: 40572 RVA: 0x00247A1C File Offset: 0x00245C1C
|
||||
[Token(Token = "0x6009E7C")]
|
||||
[Address(RVA = "0x217BCC0", Offset = "0x217A6C0", VA = "0x18217BCC0", Slot = "15")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
int num = this.bOff;
|
||||
int num2 = 0;
|
||||
uint num3;
|
||||
num3 -= (uint)num;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.m;
|
||||
num2++;
|
||||
while (num2 != num)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array2 = this.m;
|
||||
uint num4;
|
||||
num4 -= num3;
|
||||
int num5 = this.bOff;
|
||||
if (num5 != 64)
|
||||
{
|
||||
byte[] array3 = this.m;
|
||||
Array.Copy(this.block, num5, array3, num, (int)num3);
|
||||
}
|
||||
byte[] array4 = this.m;
|
||||
byte[] n = this.N;
|
||||
byte[] array5 = this.h;
|
||||
this.g_N(array5, n, array4);
|
||||
byte[] sigma = this.Sigma;
|
||||
byte[] array6 = this.m;
|
||||
byte b = (byte)((int)b + num2);
|
||||
byte b2;
|
||||
b2 += b;
|
||||
byte[] array7 = this.h;
|
||||
byte[] n2 = this.N;
|
||||
byte[] zero = GOST3411_2012Digest.Zero;
|
||||
this.g_N(array7, zero, n2);
|
||||
byte[] sigma2 = this.Sigma;
|
||||
byte[] array8 = this.h;
|
||||
byte[] zero2 = GOST3411_2012Digest.Zero;
|
||||
this.g_N(array8, zero2, sigma2);
|
||||
byte[] array9 = this.h;
|
||||
byte[] array10 = this.tmp;
|
||||
int length = array9.Length;
|
||||
byte[] array11;
|
||||
if (length > 0)
|
||||
{
|
||||
num2++;
|
||||
array11 = this.tmp;
|
||||
}
|
||||
int num6 = 0;
|
||||
ulong num7;
|
||||
Array.Copy(array11, num6, output, outOff, (int)num7);
|
||||
byte[] n3 = this.N;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
int num8 = 0;
|
||||
Arrays.Fill(n3, (byte)num8);
|
||||
byte[] sigma3 = this.Sigma;
|
||||
int num9 = 0;
|
||||
Arrays.Fill(sigma3, (byte)num9);
|
||||
byte[] array12 = this.h;
|
||||
int num10 = 0;
|
||||
byte[] iv = this.IV;
|
||||
int num11 = 0;
|
||||
ulong num12;
|
||||
Array.Copy(iv, num11, array12, num10, (int)num12);
|
||||
byte[] array13 = this.block;
|
||||
int num13 = 0;
|
||||
Arrays.Fill(array13, (byte)num13);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009E7D RID: 40573 RVA: 0x00247BB4 File Offset: 0x00245DB4
|
||||
[Token(Token = "0x6009E7D")]
|
||||
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x06009E7E RID: 40574
|
||||
[Token(Token = "0x6009E7E")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract int GetDigestSize();
|
||||
|
||||
// Token: 0x06009E7F RID: 40575 RVA: 0x00247BC4 File Offset: 0x00245DC4
|
||||
[Token(Token = "0x6009E7F")]
|
||||
[Address(RVA = "0x217E840", Offset = "0x217D240", VA = "0x18217E840", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
byte[] n = this.N;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
int num = 0;
|
||||
Arrays.Fill(n, (byte)num);
|
||||
byte[] sigma = this.Sigma;
|
||||
int num2 = 0;
|
||||
Arrays.Fill(sigma, (byte)num2);
|
||||
byte[] array = this.h;
|
||||
int num3 = 0;
|
||||
byte[] iv = this.IV;
|
||||
int num4 = 0;
|
||||
ulong num5;
|
||||
Array.Copy(iv, num4, array, num3, (int)num5);
|
||||
byte[] array2 = this.block;
|
||||
int num6 = 0;
|
||||
Arrays.Fill(array2, (byte)num6);
|
||||
}
|
||||
|
||||
// Token: 0x06009E80 RID: 40576 RVA: 0x00247C34 File Offset: 0x00245E34
|
||||
[Token(Token = "0x6009E80")]
|
||||
[Address(RVA = "0x217E8F0", Offset = "0x217D2F0", VA = "0x18217E8F0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (other == 0);
|
||||
this.bOff = num;
|
||||
}
|
||||
|
||||
// Token: 0x06009E81 RID: 40577 RVA: 0x00247C58 File Offset: 0x00245E58
|
||||
[Token(Token = "0x6009E81")]
|
||||
[Address(RVA = "0x217EA80", Offset = "0x217D480", VA = "0x18217EA80", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] array = this.block;
|
||||
int num = this.bOff;
|
||||
int num2 = num - 1;
|
||||
this.bOff = num2;
|
||||
int num3 = num - 1;
|
||||
if (this.bOff == 0)
|
||||
{
|
||||
byte[] array2 = this.block;
|
||||
byte[] n = this.N;
|
||||
byte[] array3 = this.h;
|
||||
this.g_N(array3, n, array2);
|
||||
byte[] n2 = this.N;
|
||||
this.addMod512(n2, 512);
|
||||
byte[] array4 = this.block;
|
||||
byte[] sigma = this.Sigma;
|
||||
this.addMod512(sigma, array4);
|
||||
this.bOff = (int)((ulong)64L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E82 RID: 40578 RVA: 0x00247CF0 File Offset: 0x00245EF0
|
||||
[Token(Token = "0x6009E82")]
|
||||
[Address(RVA = "0x217B7A0", Offset = "0x217A1A0", VA = "0x18217B7A0", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.bOff;
|
||||
if (num2 != 64 && len > 0)
|
||||
{
|
||||
int num3 = num2 - 1;
|
||||
byte[] array = this.block;
|
||||
this.bOff = num3;
|
||||
int num4 = this.bOff;
|
||||
if (num4 == 0)
|
||||
{
|
||||
byte[] array2 = this.block;
|
||||
byte[] n = this.N;
|
||||
byte[] array3 = this.h;
|
||||
this.g_N(array3, n, array2);
|
||||
byte[] n2 = this.N;
|
||||
uint num5;
|
||||
this.addMod512(n2, (int)num5);
|
||||
byte[] sigma = this.Sigma;
|
||||
uint num6;
|
||||
byte b = this.block[(int)num6];
|
||||
b = (byte)((int)b + num);
|
||||
byte b2;
|
||||
b2 += b;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
}
|
||||
while (num4 != 64)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array4 = this.tmp;
|
||||
int num7 = 0;
|
||||
ulong num8;
|
||||
Array.Copy(input, inOff, array4, num7, (int)num8);
|
||||
if (this.tmp.Length > 0)
|
||||
{
|
||||
byte[] array5 = this.block;
|
||||
num++;
|
||||
}
|
||||
byte[] array6 = this.block;
|
||||
byte[] n3 = this.N;
|
||||
byte[] array7 = this.h;
|
||||
this.g_N(array7, n3, array6);
|
||||
byte[] n4 = this.N;
|
||||
int length = n4.Length;
|
||||
byte b3 = n4[7];
|
||||
n4[7] = b3;
|
||||
byte b4;
|
||||
b3 += b4;
|
||||
byte[] sigma2 = this.Sigma;
|
||||
uint num9;
|
||||
byte b5 = this.block[(int)num9];
|
||||
b5 = (byte)((int)b5 + num);
|
||||
byte b6;
|
||||
b6 += b5;
|
||||
while (len >= 64)
|
||||
{
|
||||
}
|
||||
if (len > 0)
|
||||
{
|
||||
int num10 = this.bOff;
|
||||
byte[] array8 = this.block;
|
||||
int num11 = num10 - 1;
|
||||
this.bOff = num11;
|
||||
int num12 = num10 - 1;
|
||||
if (this.bOff == num)
|
||||
{
|
||||
byte[] array9 = this.block;
|
||||
byte[] n5 = this.N;
|
||||
byte[] array10 = this.h;
|
||||
this.g_N(array10, n5, array9);
|
||||
byte[] n6 = this.N;
|
||||
int length2 = n6.Length;
|
||||
byte b7 = n6[7];
|
||||
n6[7] = b7;
|
||||
byte b8;
|
||||
b7 += b8;
|
||||
byte[] sigma3 = this.Sigma;
|
||||
byte[] array11 = this.block;
|
||||
byte b9 = (byte)((int)b9 + num);
|
||||
byte b10;
|
||||
b10 += b9;
|
||||
this.bOff = (int)((ulong)64L);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E83 RID: 40579 RVA: 0x00247F00 File Offset: 0x00246100
|
||||
[Token(Token = "0x6009E83")]
|
||||
[Address(RVA = "0x217C2B0", Offset = "0x217ACB0", VA = "0x18217C2B0")]
|
||||
private void F(byte[] V)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E83)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.GOST3411_2012Digest::F(System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_0_06, newarr:uint64[]([mscorlib]System.UInt64, ldc.i4:int32(8)))
|
||||
stloc:uint64[][](var_1_0C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_2_13, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_1_0C)))
|
||||
stloc:uint64[](var_3_1B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(0)))
|
||||
stloc:int32(var_4_22, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint8(var_5_2B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_6_34, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_7_3D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_8_46, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_9_4F, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_10_58, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_11_61, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_12_6A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_13_73, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_14_7C, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_15_85, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_16_8E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_17_97, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_18_A0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_1_0C), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_19_A9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_20_B4, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_18_A0), ldloc:uint8[exp:int32](var_19_A9)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(0), ldloc:uint64(var_20_B4))
|
||||
stloc:uint64[][](var_21_C4, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_22_CD, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_21_C4)))
|
||||
stloc:int32(var_23_D5, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_24_DF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_25_E8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_26_F2, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_27_FB, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_28_105, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_29_10E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_30_118, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_31_121, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_32_12B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_33_134, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_34_13E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_35_147, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_36_151, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_37_15A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_38_164, ldelem:uint64[](uint64[], ldloc:uint64[][](var_21_C4), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_39_16D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_40_178, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_38_164), ldloc:uint8[exp:int32](var_39_16D)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(1), ldloc:uint64(var_40_178))
|
||||
stloc:uint64[][](var_41_188, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_42_191, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_41_188)))
|
||||
stloc:int32(var_43_199, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_44_1A3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_45_1AC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_46_1B6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_47_1BF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_48_1C9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_49_1D2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_50_1DC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_51_1E5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_52_1EF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_53_1F8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_54_202, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_55_20B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_56_215, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_57_21E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_58_228, ldelem:uint64[](uint64[], ldloc:uint64[][](var_41_188), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_59_231, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_60_23C, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_58_228), ldloc:uint8[exp:int32](var_59_231)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(2), ldloc:uint64(var_60_23C))
|
||||
stloc:uint64[][](var_61_24C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_62_255, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_61_24C)))
|
||||
stloc:int32(var_63_25D, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_64_267, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_65_270, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_66_27A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_67_283, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_68_28D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_69_296, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_70_2A0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_71_2A9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_72_2B3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_73_2BC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_74_2C6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_75_2CF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_76_2D9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_77_2E2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_78_2EC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_61_24C), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_79_2F5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_80_300, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_78_2EC), ldloc:uint8[exp:int32](var_79_2F5)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(3), ldloc:uint64(var_80_300))
|
||||
stloc:uint64[][](var_81_310, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_82_319, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_81_310)))
|
||||
stloc:int32(var_83_321, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_84_32B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_85_334, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_86_33E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_87_347, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_88_351, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_89_35A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_90_364, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_91_36D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_92_377, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_93_380, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_94_38A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_95_393, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_96_39D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_97_3A6, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_98_3B0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_81_310), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_99_3B9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_100_3C4, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_98_3B0), ldloc:uint8[exp:int32](var_99_3B9)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(4), ldloc:uint64(var_100_3C4))
|
||||
stloc:uint64[][](var_101_3D4, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_102_3DD, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_101_3D4)))
|
||||
stloc:int32(var_103_3E5, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_104_3EF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_105_3F8, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_106_402, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_107_40B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_108_415, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_109_41E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_110_428, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_111_431, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_112_43B, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_113_444, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_114_44E, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_115_457, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_116_461, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_117_46A, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_118_474, ldelem:uint64[](uint64[], ldloc:uint64[][](var_101_3D4), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_119_47D, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_120_488, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_118_474), ldloc:uint8[exp:int32](var_119_47D)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(5), ldloc:uint64(var_120_488))
|
||||
stloc:uint64[][](var_121_498, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_122_4A1, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_121_498)))
|
||||
stloc:int32(var_123_4A9, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_124_4B3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_125_4BC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_126_4C6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_127_4CF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_128_4D9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_129_4E2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_130_4EC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_131_4F5, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_132_4FF, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_133_508, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_134_512, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_135_51B, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_136_525, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_137_52E, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_138_538, ldelem:uint64[](uint64[], ldloc:uint64[][](var_121_498), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_139_541, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_140_54C, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_138_538), ldloc:uint8[exp:int32](var_139_541)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(6), ldloc:uint64(var_140_54C))
|
||||
stloc:uint64[][](var_141_55C, ldsfld:uint64[][](GOST3411_2012Digest::T))
|
||||
stloc:int32(var_142_565, callgetter:int32(Array::get_Length, ldloc:uint64[][][exp:Array](var_141_55C)))
|
||||
stloc:int32(var_143_56D, callgetter:int32(Array::get_Length, ldloc:uint8[][exp:Array](V)))
|
||||
stloc:uint64[](var_144_577, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(0)))
|
||||
stloc:uint8(var_145_580, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(7)))
|
||||
stloc:uint64[](var_146_58A, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(1)))
|
||||
stloc:uint8(var_147_593, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6)))
|
||||
stloc:uint64[](var_148_59D, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(2)))
|
||||
stloc:uint8(var_149_5A6, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5)))
|
||||
stloc:uint64[](var_150_5B0, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(3)))
|
||||
stloc:uint8(var_151_5B9, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4)))
|
||||
stloc:uint64[](var_152_5C3, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(4)))
|
||||
stloc:uint8(var_153_5CC, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3)))
|
||||
stloc:uint64[](var_154_5D6, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(5)))
|
||||
stloc:uint8(var_155_5DF, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2)))
|
||||
stloc:uint64[](var_156_5E9, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(6)))
|
||||
stloc:uint8(var_157_5F2, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1)))
|
||||
stloc:uint64[](var_158_5FC, ldelem:uint64[](uint64[], ldloc:uint64[][](var_141_55C), ldc.i4:int32(7)))
|
||||
stloc:uint8(var_159_605, ldelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_160_610, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_158_5FC), ldloc:uint8[exp:int32](var_159_605)))
|
||||
stelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(7), ldloc:uint64(var_160_610))
|
||||
stloc:uint64(var_161_622, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(0)))
|
||||
stloc:uint64(var_160_626, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_626))
|
||||
stloc:uint64(var_160_633, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_633))
|
||||
stloc:uint64(var_160_640, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_640))
|
||||
stloc:uint64(var_160_64D, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_64D))
|
||||
stloc:uint64(var_160_65A, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_65A))
|
||||
stloc:uint64(var_160_667, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_667))
|
||||
stloc:uint64(var_160_674, ldloc:uint64(var_161_622))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_160_674))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(0), ldloc:uint64[exp:uint8](var_161_622))
|
||||
stloc:uint64(var_162_68F, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(1)))
|
||||
stloc:uint64(var_160_693, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_693))
|
||||
stloc:uint64(var_160_6A0, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6A0))
|
||||
stloc:uint64(var_160_6AD, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6AD))
|
||||
stloc:uint64(var_160_6BA, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6BA))
|
||||
stloc:uint64(var_160_6C7, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6C7))
|
||||
stloc:uint64(var_160_6D4, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6D4))
|
||||
stloc:uint64(var_160_6E1, ldloc:uint64(var_162_68F))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_160_6E1))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(1), ldloc:uint64[exp:uint8](var_162_68F))
|
||||
stloc:uint64(var_163_6FC, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(2)))
|
||||
stloc:uint64(var_160_700, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_700))
|
||||
stloc:uint64(var_160_70D, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_70D))
|
||||
stloc:uint64(var_160_71A, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_71A))
|
||||
stloc:uint64(var_160_727, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_727))
|
||||
stloc:uint64(var_160_734, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_734))
|
||||
stloc:uint64(var_160_741, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_741))
|
||||
stloc:uint64(var_160_74E, ldloc:uint64(var_163_6FC))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_160_74E))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(2), ldloc:uint64[exp:uint8](var_163_6FC))
|
||||
stloc:uint64(var_164_769, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(3)))
|
||||
stloc:uint64(var_160_76D, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_76D))
|
||||
stloc:uint64(var_160_77A, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_77A))
|
||||
stloc:uint64(var_160_787, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_787))
|
||||
stloc:uint64(var_160_794, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_794))
|
||||
stloc:uint64(var_160_7A1, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7A1))
|
||||
stloc:uint64(var_160_7AE, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7AE))
|
||||
stloc:uint64(var_160_7BB, ldloc:uint64(var_164_769))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_160_7BB))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(3), ldloc:uint64[exp:uint8](var_164_769))
|
||||
stloc:uint64(var_165_7D6, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(4)))
|
||||
stloc:uint64(var_160_7DA, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7DA))
|
||||
stloc:uint64(var_160_7E7, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7E7))
|
||||
stloc:uint64(var_160_7F4, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_7F4))
|
||||
stloc:uint64(var_160_801, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_801))
|
||||
stloc:uint64(var_160_80E, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_80E))
|
||||
stloc:uint64(var_160_81B, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_81B))
|
||||
stloc:uint64(var_160_828, ldloc:uint64(var_165_7D6))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_160_828))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(4), ldloc:uint64[exp:uint8](var_165_7D6))
|
||||
stloc:uint64(var_166_843, ldelem:uint64([mscorlib]System.UInt64, ldloc:uint64[](var_0_06), ldc.i4:int32(5)))
|
||||
stloc:uint64(var_160_847, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_847))
|
||||
stloc:uint64(var_160_854, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_854))
|
||||
stloc:uint64(var_160_861, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_861))
|
||||
stloc:uint64(var_160_86E, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_86E))
|
||||
stloc:uint64(var_160_87B, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_87B))
|
||||
stloc:uint64(var_160_888, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_888))
|
||||
stloc:uint64(var_160_895, ldloc:uint64(var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_160_895))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(5), ldloc:uint64[exp:uint8](var_166_843))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
||||
stelem:uint8([mscorlib]System.Byte, ldloc:uint8[](V), ldc.i4:int32(6), ldloc:uint64[exp:uint8](var_160_895))
|
||||
}
|
||||
|
||||
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: 0x06009E84 RID: 40580 RVA: 0x002487DC File Offset: 0x002469DC
|
||||
[Token(Token = "0x6009E84")]
|
||||
[Address(RVA = "0x217F910", Offset = "0x217E310", VA = "0x18217F910")]
|
||||
private void xor512(byte[] A, byte[] B)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x06009E85 RID: 40581 RVA: 0x002487F8 File Offset: 0x002469F8
|
||||
[Token(Token = "0x6009E85")]
|
||||
[Address(RVA = "0x217C000", Offset = "0x217AA00", VA = "0x18217C000")]
|
||||
private void E(byte[] K, byte[] m)
|
||||
{
|
||||
byte[] ki = this.Ki;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
ulong num4;
|
||||
Array.Copy(K, num3, ki, num2, (int)num4);
|
||||
num++;
|
||||
this.F(K);
|
||||
byte[] ki2 = this.Ki;
|
||||
byte[] array = GOST3411_2012Digest.C[num];
|
||||
this.xor512(ki2, array);
|
||||
byte[] ki3 = this.Ki;
|
||||
this.F(ki3);
|
||||
byte[] ki4 = this.Ki;
|
||||
this.xor512(K, ki4);
|
||||
this.F(K);
|
||||
num++;
|
||||
byte[] ki5 = this.Ki;
|
||||
byte[] array2 = GOST3411_2012Digest.C[11];
|
||||
num++;
|
||||
byte[] ki6 = this.Ki;
|
||||
this.F(ki6);
|
||||
byte[] ki7 = this.Ki;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x06009E86 RID: 40582 RVA: 0x002488B0 File Offset: 0x00246AB0
|
||||
[Token(Token = "0x6009E86")]
|
||||
[Address(RVA = "0x217F700", Offset = "0x217E100", VA = "0x18217F700")]
|
||||
private void g_N(byte[] h, byte[] N, byte[] m)
|
||||
{
|
||||
byte[] array = this.tmp;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
ulong num4;
|
||||
Array.Copy(h, num3, array, num2, (int)num4);
|
||||
num++;
|
||||
this.F(h);
|
||||
this.E(h, m);
|
||||
byte[] array2 = this.tmp;
|
||||
num++;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x06009E87 RID: 40583 RVA: 0x00248900 File Offset: 0x00246B00
|
||||
[Token(Token = "0x6009E87")]
|
||||
[Address(RVA = "0x217F650", Offset = "0x217E050", VA = "0x18217F650")]
|
||||
private void addMod512(byte[] A, int num)
|
||||
{
|
||||
byte b = A[7];
|
||||
byte b2 = A[7];
|
||||
b2 = (byte)((int)b2 + num);
|
||||
A[7] = b2;
|
||||
byte b3;
|
||||
b2 += b3;
|
||||
}
|
||||
|
||||
// Token: 0x06009E88 RID: 40584 RVA: 0x00248934 File Offset: 0x00246B34
|
||||
[Token(Token = "0x6009E88")]
|
||||
[Address(RVA = "0x217F5D0", Offset = "0x217DFD0", VA = "0x18217F5D0")]
|
||||
private void addMod512(byte[] A, byte[] B)
|
||||
{
|
||||
int num = 0;
|
||||
byte b = (byte)((int)b + num);
|
||||
byte b2;
|
||||
b2 += b;
|
||||
}
|
||||
|
||||
// Token: 0x06009E89 RID: 40585 RVA: 0x00248954 File Offset: 0x00246B54
|
||||
[Token(Token = "0x6009E89")]
|
||||
[Address(RVA = "0x217F890", Offset = "0x217E290", VA = "0x18217F890")]
|
||||
private void reverse(byte[] src, byte[] dst)
|
||||
{
|
||||
int length = src.Length;
|
||||
int num = 0;
|
||||
if (length > 0)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E8A RID: 40586 RVA: 0x00248978 File Offset: 0x00246B78
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E8A")]
|
||||
[Address(RVA = "0x217EB20", Offset = "0x217D520", VA = "0x18217EB20")]
|
||||
static GOST3411_2012Digest()
|
||||
{
|
||||
byte[][] array = new byte[12][];
|
||||
byte[] array2 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.498B9317C14CF9004FE6CB88782D926B3E379350).FieldHandle);
|
||||
if (array2 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = array2;
|
||||
byte[] array3 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.499A21DC530CE4D5D71E97C5D8DB1B3C60F0FC2E).FieldHandle);
|
||||
if (array3 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = array3;
|
||||
byte[] array4 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.0BE6B8194AB353640CA66F0A661EA93A3132393A).FieldHandle);
|
||||
if (array4 != 0)
|
||||
{
|
||||
}
|
||||
array[2] = array4;
|
||||
byte[] array5 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.7E68A6B197A3AF443FDA77CD8B492D4C72B3CF03).FieldHandle);
|
||||
if (array5 != 0)
|
||||
{
|
||||
}
|
||||
array[3] = array5;
|
||||
byte[] array6 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.21305ABEF36592B9C636A4DDFFB419BBEB14AC71).FieldHandle);
|
||||
if (array6 != 0)
|
||||
{
|
||||
}
|
||||
array[4] = array6;
|
||||
byte[] array7 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.3BA78FFB102A191597BAC4A2418C57CDF377FEE6).FieldHandle);
|
||||
if (array7 != 0)
|
||||
{
|
||||
}
|
||||
array[5] = array7;
|
||||
byte[] array8 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.87BAD4D818823E27FF0CBB935FF88DD21DAD3CC4).FieldHandle);
|
||||
if (array8 != 0)
|
||||
{
|
||||
}
|
||||
array[6] = array8;
|
||||
byte[] array9 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array9, fieldof(<PrivateImplementationDetails>.103752E99F3718E46F1AA9EED70682BF3A9B8A65).FieldHandle);
|
||||
if (array9 != 0)
|
||||
{
|
||||
}
|
||||
array[7] = array9;
|
||||
byte[] array10 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array10, fieldof(<PrivateImplementationDetails>.A32D5F33452B98E86BE15ED849ED6DF543B5F243).FieldHandle);
|
||||
if (array10 != 0)
|
||||
{
|
||||
}
|
||||
array[8] = array10;
|
||||
byte[] array11 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array11, fieldof(<PrivateImplementationDetails>.30A6392FC8DA4E1BBE29B5EEA977D84BE673CAF7).FieldHandle);
|
||||
if (array11 != 0)
|
||||
{
|
||||
}
|
||||
array[9] = array11;
|
||||
byte[] array12 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array12, fieldof(<PrivateImplementationDetails>.4A080107805D8F7103F56DD3B0D8FD5D55735937).FieldHandle);
|
||||
if (array12 != 0)
|
||||
{
|
||||
}
|
||||
array[10] = array12;
|
||||
byte[] array13 = new byte[64];
|
||||
RuntimeHelpers.InitializeArray(array13, fieldof(<PrivateImplementationDetails>.083EF765A34AC9DEC41761B4DCEA48EC009115E9).FieldHandle);
|
||||
if (array13 != 0)
|
||||
{
|
||||
}
|
||||
array[11] = array13;
|
||||
GOST3411_2012Digest.C = array;
|
||||
GOST3411_2012Digest.Zero = new byte[64];
|
||||
ulong[][] array14 = new ulong[8][];
|
||||
ulong[] array15 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array15, fieldof(<PrivateImplementationDetails>.547AF924C0A210AD3D72D199002D3CDBC2DBD0CA).FieldHandle);
|
||||
if (array15 != 0)
|
||||
{
|
||||
}
|
||||
array14[0] = array15;
|
||||
ulong[] array16 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array16, fieldof(<PrivateImplementationDetails>.929747B3E91297D56A461EE1B9E054EA31C70EC1).FieldHandle);
|
||||
if (array16 != 0)
|
||||
{
|
||||
}
|
||||
array14[1] = array16;
|
||||
ulong[] array17 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array17, fieldof(<PrivateImplementationDetails>.D73609A97D6906CFFB02ADDA320A4809483C458D).FieldHandle);
|
||||
if (array17 != 0)
|
||||
{
|
||||
}
|
||||
array14[2] = array17;
|
||||
ulong[] array18 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array18, fieldof(<PrivateImplementationDetails>.7C57CFE9FF25243824AF38485BBF41F9E57ECF21).FieldHandle);
|
||||
if (array18 != 0)
|
||||
{
|
||||
}
|
||||
array14[3] = array18;
|
||||
ulong[] array19 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array19, fieldof(<PrivateImplementationDetails>.A19414BB17AF83ECF276AD49117E7F2EE344D567).FieldHandle);
|
||||
if (array19 != 0)
|
||||
{
|
||||
}
|
||||
array14[4] = array19;
|
||||
ulong[] array20 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array20, fieldof(<PrivateImplementationDetails>.7B18F6A671FF25FBD5F195673DAF4902FB2DA4C5).FieldHandle);
|
||||
if (array20 != 0)
|
||||
{
|
||||
}
|
||||
array14[5] = array20;
|
||||
ulong[] array21 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array21, fieldof(<PrivateImplementationDetails>.A43F35160EEC5F8DD047667DD94358EDCD29BA27).FieldHandle);
|
||||
if (array21 != 0)
|
||||
{
|
||||
}
|
||||
array14[6] = array21;
|
||||
ulong[] array22 = new ulong[256];
|
||||
RuntimeHelpers.InitializeArray(array22, fieldof(<PrivateImplementationDetails>.4E16474F9D4C9E164E5F3C5FF50D0FB922D244DD).FieldHandle);
|
||||
if (array22 != 0)
|
||||
{
|
||||
}
|
||||
array14[7] = array22;
|
||||
GOST3411_2012Digest.T = array14;
|
||||
}
|
||||
|
||||
// Token: 0x04006843 RID: 26691
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006843")]
|
||||
private readonly byte[] IV;
|
||||
|
||||
// Token: 0x04006844 RID: 26692
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006844")]
|
||||
private readonly byte[] N;
|
||||
|
||||
// Token: 0x04006845 RID: 26693
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006845")]
|
||||
private readonly byte[] Sigma;
|
||||
|
||||
// Token: 0x04006846 RID: 26694
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006846")]
|
||||
private readonly byte[] Ki;
|
||||
|
||||
// Token: 0x04006847 RID: 26695
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006847")]
|
||||
private readonly byte[] m;
|
||||
|
||||
// Token: 0x04006848 RID: 26696
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006848")]
|
||||
private readonly byte[] h;
|
||||
|
||||
// Token: 0x04006849 RID: 26697
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006849")]
|
||||
private readonly byte[] tmp;
|
||||
|
||||
// Token: 0x0400684A RID: 26698
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400684A")]
|
||||
private readonly byte[] block;
|
||||
|
||||
// Token: 0x0400684B RID: 26699
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x400684B")]
|
||||
private int bOff;
|
||||
|
||||
// Token: 0x0400684C RID: 26700
|
||||
[Token(Token = "0x400684C")]
|
||||
private static readonly byte[][] C;
|
||||
|
||||
// Token: 0x0400684D RID: 26701
|
||||
[Token(Token = "0x400684D")]
|
||||
private static readonly byte[] Zero;
|
||||
|
||||
// Token: 0x0400684E RID: 26702
|
||||
[Token(Token = "0x400684E")]
|
||||
private static readonly ulong[][] T;
|
||||
}
|
||||
}
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001708 RID: 5896
|
||||
[Token(Token = "0x2001708")]
|
||||
[StructLayout(3)]
|
||||
public class GOST3411_2012_256Digest : GOST3411_2012Digest
|
||||
{
|
||||
// Token: 0x1700190C RID: 6412
|
||||
// (get) Token: 0x06009E8B RID: 40587 RVA: 0x00248C88 File Offset: 0x00246E88
|
||||
[Token(Token = "0x1700190C")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009E8B")]
|
||||
[Address(RVA = "0x217FC90", Offset = "0x217E690", VA = "0x18217FC90", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return "GOST3411-2012-256";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E8C RID: 40588 RVA: 0x00248C9C File Offset: 0x00246E9C
|
||||
[Token(Token = "0x6009E8C")]
|
||||
[Address(RVA = "0x217FB50", Offset = "0x217E550", VA = "0x18217FB50")]
|
||||
public GOST3411_2012_256Digest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E8D RID: 40589 RVA: 0x00248CAC File Offset: 0x00246EAC
|
||||
[Token(Token = "0x6009E8D")]
|
||||
[Address(RVA = "0x217FBE0", Offset = "0x217E5E0", VA = "0x18217FBE0")]
|
||||
public GOST3411_2012_256Digest(GOST3411_2012_256Digest other)
|
||||
{
|
||||
base.Reset(other);
|
||||
}
|
||||
|
||||
// Token: 0x06009E8E RID: 40590 RVA: 0x00248CC0 File Offset: 0x00246EC0
|
||||
[Token(Token = "0x6009E8E")]
|
||||
[Address(RVA = "0xC390D0", Offset = "0xC37AD0", VA = "0x180C390D0", Slot = "16")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009E8F RID: 40591 RVA: 0x00248CD0 File Offset: 0x00246ED0
|
||||
[Token(Token = "0x6009E8F")]
|
||||
[Address(RVA = "0x217FA50", Offset = "0x217E450", VA = "0x18217FA50", Slot = "15")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
int num = 0;
|
||||
int num2 = base.DoFinal(array, num);
|
||||
ulong num3;
|
||||
Array.Copy(array, 32, output, outOff, (int)num3);
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009E90 RID: 40592 RVA: 0x00248D00 File Offset: 0x00246F00
|
||||
[Token(Token = "0x6009E90")]
|
||||
[Address(RVA = "0x217F970", Offset = "0x217E370", VA = "0x18217F970", Slot = "14")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E90)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.GOST3411_2012_256Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
call:void(GOST3411_2012Digest::Reset, ldloc:GOST3411_2012_256Digest[exp:GOST3411_2012Digest](var_0), ldloc:GOST3411_2012_256Digest[exp:IMemoable](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: 0x06009E91 RID: 40593 RVA: 0x00248D14 File Offset: 0x00246F14
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E91")]
|
||||
[Address(RVA = "0x217FAF0", Offset = "0x217E4F0", VA = "0x18217FAF0")]
|
||||
static GOST3411_2012_256Digest()
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(new byte[64], fieldof(<PrivateImplementationDetails>.320B018758ECE3752FFEDBAEB1A6DB67C80B9359).FieldHandle);
|
||||
}
|
||||
|
||||
// Token: 0x0400684F RID: 26703
|
||||
[Token(Token = "0x400684F")]
|
||||
private static readonly byte[] IV;
|
||||
}
|
||||
}
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001709 RID: 5897
|
||||
[Token(Token = "0x2001709")]
|
||||
[StructLayout(3)]
|
||||
public class GOST3411_2012_512Digest : GOST3411_2012Digest
|
||||
{
|
||||
// Token: 0x1700190D RID: 6413
|
||||
// (get) Token: 0x06009E92 RID: 40594 RVA: 0x00248D34 File Offset: 0x00246F34
|
||||
[Token(Token = "0x1700190D")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009E92")]
|
||||
[Address(RVA = "0x217FF30", Offset = "0x217E930", VA = "0x18217FF30", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return "GOST3411-2012-512";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E93 RID: 40595 RVA: 0x00248D48 File Offset: 0x00246F48
|
||||
[Token(Token = "0x6009E93")]
|
||||
[Address(RVA = "0x217FDF0", Offset = "0x217E7F0", VA = "0x18217FDF0")]
|
||||
public GOST3411_2012_512Digest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E94 RID: 40596 RVA: 0x00248D58 File Offset: 0x00246F58
|
||||
[Token(Token = "0x6009E94")]
|
||||
[Address(RVA = "0x217FE80", Offset = "0x217E880", VA = "0x18217FE80")]
|
||||
public GOST3411_2012_512Digest(GOST3411_2012_512Digest other)
|
||||
{
|
||||
base.Reset(other);
|
||||
}
|
||||
|
||||
// Token: 0x06009E95 RID: 40597 RVA: 0x00248D6C File Offset: 0x00246F6C
|
||||
[Token(Token = "0x6009E95")]
|
||||
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "16")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x06009E96 RID: 40598 RVA: 0x00248D7C File Offset: 0x00246F7C
|
||||
[Token(Token = "0x6009E96")]
|
||||
[Address(RVA = "0x217FCC0", Offset = "0x217E6C0", VA = "0x18217FCC0", Slot = "14")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E96)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.GOST3411_2012_512Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
call:void(GOST3411_2012Digest::Reset, ldloc:GOST3411_2012_512Digest[exp:GOST3411_2012Digest](var_0), ldloc:GOST3411_2012_512Digest[exp:IMemoable](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: 0x06009E97 RID: 40599 RVA: 0x00248D90 File Offset: 0x00246F90
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E97")]
|
||||
[Address(RVA = "0x217FDA0", Offset = "0x217E7A0", VA = "0x18217FDA0")]
|
||||
static GOST3411_2012_512Digest()
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
}
|
||||
|
||||
// Token: 0x04006850 RID: 26704
|
||||
[Token(Token = "0x4006850")]
|
||||
private static readonly byte[] IV;
|
||||
}
|
||||
}
|
||||
+234
@@ -0,0 +1,234 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200170A RID: 5898
|
||||
[Token(Token = "0x200170A")]
|
||||
[StructLayout(3)]
|
||||
public abstract class GeneralDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x06009E98 RID: 40600 RVA: 0x00248DA8 File Offset: 0x00246FA8
|
||||
[Token(Token = "0x6009E98")]
|
||||
[Address(RVA = "0x21803A0", Offset = "0x217EDA0", VA = "0x1821803A0")]
|
||||
internal GeneralDigest()
|
||||
{
|
||||
byte[] array = new byte[4];
|
||||
this.xBuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x06009E99 RID: 40601 RVA: 0x00248DCC File Offset: 0x00246FCC
|
||||
[Token(Token = "0x6009E99")]
|
||||
[Address(RVA = "0x21803F0", Offset = "0x217EDF0", VA = "0x1821803F0")]
|
||||
internal GeneralDigest(GeneralDigest t)
|
||||
{
|
||||
byte[] array = new byte[t.xBuf.Length];
|
||||
this.xBuf = array;
|
||||
byte[] array2 = t.xBuf;
|
||||
int length = array2.Length;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(array2, num2, array, num, length);
|
||||
int num3 = t.xBufOff;
|
||||
this.xBufOff = num3;
|
||||
long num4 = t.byteCount;
|
||||
this.byteCount = num4;
|
||||
}
|
||||
|
||||
// Token: 0x06009E9A RID: 40602 RVA: 0x00248E3C File Offset: 0x0024703C
|
||||
[Token(Token = "0x6009E9A")]
|
||||
[Address(RVA = "0x2180150", Offset = "0x217EB50", VA = "0x182180150")]
|
||||
protected void CopyIn(GeneralDigest t)
|
||||
{
|
||||
byte[] array = t.xBuf;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
int num3 = t.xBufOff;
|
||||
this.xBufOff = num3;
|
||||
long num4 = t.byteCount;
|
||||
this.byteCount = num4;
|
||||
}
|
||||
|
||||
// Token: 0x06009E9B RID: 40603 RVA: 0x00248E94 File Offset: 0x00247094
|
||||
[Token(Token = "0x6009E9B")]
|
||||
[Address(RVA = "0x2180320", Offset = "0x217ED20", VA = "0x182180320", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = this.xBufOff + 1;
|
||||
this.xBufOff = num;
|
||||
int length = this.xBuf.Length;
|
||||
if (this.xBufOff == length)
|
||||
{
|
||||
this.Reset();
|
||||
this.xBufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E9C RID: 40604 RVA: 0x00248EE4 File Offset: 0x002470E4
|
||||
[Token(Token = "0x6009E9C")]
|
||||
[Address(RVA = "0x217FF60", Offset = "0x217E960", VA = "0x18217FF60", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = Math.Max(0, length);
|
||||
int num2 = this.xBufOff;
|
||||
int num3 = 0;
|
||||
if (num2 != 0 && num > 0)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num4 = num2 + 1;
|
||||
this.xBufOff = num4;
|
||||
num3++;
|
||||
num3 += inOff;
|
||||
int num5 = this.xBufOff;
|
||||
if (num5 == 4)
|
||||
{
|
||||
this.Reset();
|
||||
this.xBufOff = (int)((ulong)0L);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
num -= num3;
|
||||
num += num3;
|
||||
if (num3 < num)
|
||||
{
|
||||
this.Reset();
|
||||
num3 += 4;
|
||||
}
|
||||
if (num3 < num)
|
||||
{
|
||||
int num6 = this.xBufOff;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num7 = num6 + 1;
|
||||
this.xBufOff = num7;
|
||||
num3++;
|
||||
num3 += inOff;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E9D RID: 40605 RVA: 0x00248F8C File Offset: 0x0024718C
|
||||
[Token(Token = "0x6009E9D")]
|
||||
[Address(RVA = "0x21801B0", Offset = "0x217EBB0", VA = "0x1821801B0")]
|
||||
public void Finish()
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = this.xBufOff + 1;
|
||||
this.xBufOff = num;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num2 = this.xBufOff;
|
||||
int num3 = 0;
|
||||
if (num2 == array2.Length)
|
||||
{
|
||||
this.Reset();
|
||||
this.xBufOff = num3;
|
||||
}
|
||||
if (num2 != 0)
|
||||
{
|
||||
byte[] array3 = this.xBuf;
|
||||
int num4 = num2 + 1;
|
||||
this.xBufOff = num4;
|
||||
byte[] array4 = this.xBuf;
|
||||
if (this.xBufOff == array4.Length)
|
||||
{
|
||||
this.Reset();
|
||||
this.xBufOff = num3;
|
||||
}
|
||||
while (num3 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
this.ProcessBlock();
|
||||
}
|
||||
|
||||
// Token: 0x06009E9E RID: 40606 RVA: 0x0024902C File Offset: 0x0024722C
|
||||
[Token(Token = "0x6009E9E")]
|
||||
[Address(RVA = "0x21802F0", Offset = "0x217ECF0", VA = "0x1821802F0", Slot = "13")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num = 0;
|
||||
this.byteCount = (long)num;
|
||||
this.xBufOff = num;
|
||||
byte[] array = this.xBuf;
|
||||
int length = array.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array, num2, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009E9F RID: 40607 RVA: 0x00249068 File Offset: 0x00247268
|
||||
[Token(Token = "0x6009E9F")]
|
||||
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x06009EA0 RID: 40608
|
||||
[Token(Token = "0x6009EA0")]
|
||||
[Address(Slot = "14")]
|
||||
internal abstract void ProcessWord(byte[] input, int inOff);
|
||||
|
||||
// Token: 0x06009EA1 RID: 40609
|
||||
[Token(Token = "0x6009EA1")]
|
||||
[Address(Slot = "15")]
|
||||
internal abstract void ProcessLength(long bitLength);
|
||||
|
||||
// Token: 0x06009EA2 RID: 40610
|
||||
[Token(Token = "0x6009EA2")]
|
||||
[Address(Slot = "16")]
|
||||
internal abstract void ProcessBlock();
|
||||
|
||||
// Token: 0x1700190E RID: 6414
|
||||
// (get) Token: 0x06009EA3 RID: 40611
|
||||
[Token(Token = "0x1700190E")]
|
||||
public abstract string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009EA3")]
|
||||
[Address(Slot = "17")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x06009EA4 RID: 40612
|
||||
[Token(Token = "0x6009EA4")]
|
||||
[Address(Slot = "18")]
|
||||
public abstract int GetDigestSize();
|
||||
|
||||
// Token: 0x06009EA5 RID: 40613
|
||||
[Token(Token = "0x6009EA5")]
|
||||
[Address(Slot = "19")]
|
||||
public abstract int DoFinal(byte[] output, int outOff);
|
||||
|
||||
// Token: 0x06009EA6 RID: 40614
|
||||
[Token(Token = "0x6009EA6")]
|
||||
[Address(Slot = "20")]
|
||||
public abstract IMemoable Copy();
|
||||
|
||||
// Token: 0x06009EA7 RID: 40615
|
||||
[Token(Token = "0x6009EA7")]
|
||||
[Address(Slot = "21")]
|
||||
public abstract void Reset(IMemoable t);
|
||||
|
||||
// Token: 0x04006851 RID: 26705
|
||||
[Token(Token = "0x4006851")]
|
||||
private const int BYTE_LENGTH = 64;
|
||||
|
||||
// Token: 0x04006852 RID: 26706
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006852")]
|
||||
private byte[] xBuf;
|
||||
|
||||
// Token: 0x04006853 RID: 26707
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006853")]
|
||||
private int xBufOff;
|
||||
|
||||
// Token: 0x04006854 RID: 26708
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006854")]
|
||||
private long byteCount;
|
||||
}
|
||||
}
|
||||
+790
@@ -0,0 +1,790 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001706 RID: 5894
|
||||
[Token(Token = "0x2001706")]
|
||||
[StructLayout(3)]
|
||||
public class Gost3411Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x06009E62 RID: 40546 RVA: 0x00246B40 File Offset: 0x00244D40
|
||||
[Token(Token = "0x6009E62")]
|
||||
[Address(RVA = "0x2180CB0", Offset = "0x217F6B0", VA = "0x182180CB0")]
|
||||
private static byte[][] MakeC()
|
||||
{
|
||||
byte[][] array = new byte[4][];
|
||||
int num = 0;
|
||||
byte[] array2 = new byte[32];
|
||||
if (array2 != 0)
|
||||
{
|
||||
}
|
||||
num++;
|
||||
array[0] = array2;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009E63 RID: 40547 RVA: 0x00246B78 File Offset: 0x00244D78
|
||||
[Token(Token = "0x6009E63")]
|
||||
[Address(RVA = "0x21814F0", Offset = "0x217FEF0", VA = "0x1821814F0")]
|
||||
public Gost3411Digest()
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
this.H = array;
|
||||
byte[] array2 = new byte[32];
|
||||
this.L = array2;
|
||||
byte[] array3 = new byte[32];
|
||||
this.M = array3;
|
||||
byte[] array4 = new byte[32];
|
||||
this.Sum = array4;
|
||||
byte[][] array5 = Gost3411Digest.MakeC();
|
||||
this.C = array5;
|
||||
byte[] array6 = new byte[32];
|
||||
this.xBuf = array6;
|
||||
Gost28147Engine gost28147Engine = new Gost28147Engine();
|
||||
this.cipher = gost28147Engine;
|
||||
byte[] array7 = new byte[32];
|
||||
this.K = array7;
|
||||
byte[] array8 = new byte[8];
|
||||
this.a = array8;
|
||||
short[] array9 = new short[16];
|
||||
this.wS = array9;
|
||||
short[] array10 = new short[16];
|
||||
this.w_S = array10;
|
||||
byte[] array11 = new byte[32];
|
||||
this.S = array11;
|
||||
byte[] array12 = new byte[32];
|
||||
this.U = array12;
|
||||
byte[] array13 = new byte[32];
|
||||
this.V = array13;
|
||||
byte[] array14 = new byte[32];
|
||||
this.W = array14;
|
||||
base..ctor();
|
||||
byte[] sbox = Gost28147Engine.GetSBox("D-A");
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
this.sBox = sbox;
|
||||
int num;
|
||||
ParametersWithSBox parametersWithSBox = new ParametersWithSBox(num, sbox);
|
||||
num = 0;
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009E64 RID: 40548 RVA: 0x00246CB8 File Offset: 0x00244EB8
|
||||
[Token(Token = "0x6009E64")]
|
||||
[Address(RVA = "0x21818F0", Offset = "0x21802F0", VA = "0x1821818F0")]
|
||||
public Gost3411Digest(byte[] sBoxParam)
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
this.H = array;
|
||||
byte[] array2 = new byte[32];
|
||||
this.L = array2;
|
||||
byte[] array3 = new byte[32];
|
||||
this.M = array3;
|
||||
byte[] array4 = new byte[32];
|
||||
this.Sum = array4;
|
||||
byte[][] array5 = Gost3411Digest.MakeC();
|
||||
this.C = array5;
|
||||
byte[] array6 = new byte[32];
|
||||
this.xBuf = array6;
|
||||
Gost28147Engine gost28147Engine = new Gost28147Engine();
|
||||
this.cipher = gost28147Engine;
|
||||
byte[] array7 = new byte[32];
|
||||
this.K = array7;
|
||||
byte[] array8 = new byte[8];
|
||||
this.a = array8;
|
||||
short[] array9 = new short[16];
|
||||
this.wS = array9;
|
||||
short[] array10 = new short[16];
|
||||
this.w_S = array10;
|
||||
byte[] array11 = new byte[32];
|
||||
this.S = array11;
|
||||
byte[] array12 = new byte[32];
|
||||
this.U = array12;
|
||||
byte[] array13 = new byte[32];
|
||||
this.V = array13;
|
||||
byte[] array14 = new byte[32];
|
||||
this.W = array14;
|
||||
base..ctor();
|
||||
byte[] array15 = Arrays.Clone(sBoxParam);
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
this.sBox = array15;
|
||||
int num;
|
||||
ParametersWithSBox parametersWithSBox = new ParametersWithSBox(num, array15);
|
||||
num = 0;
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009E65 RID: 40549 RVA: 0x00246DF4 File Offset: 0x00244FF4
|
||||
[Token(Token = "0x6009E65")]
|
||||
[Address(RVA = "0x2181730", Offset = "0x2180130", VA = "0x182181730")]
|
||||
public Gost3411Digest(Gost3411Digest t)
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
this.H = array;
|
||||
byte[] array2 = new byte[32];
|
||||
this.L = array2;
|
||||
byte[] array3 = new byte[32];
|
||||
this.M = array3;
|
||||
byte[] array4 = new byte[32];
|
||||
this.Sum = array4;
|
||||
byte[][] array5 = Gost3411Digest.MakeC();
|
||||
this.C = array5;
|
||||
byte[] array6 = new byte[32];
|
||||
this.xBuf = array6;
|
||||
Gost28147Engine gost28147Engine = new Gost28147Engine();
|
||||
this.cipher = gost28147Engine;
|
||||
byte[] array7 = new byte[32];
|
||||
this.K = array7;
|
||||
byte[] array8 = new byte[8];
|
||||
this.a = array8;
|
||||
short[] array9 = new short[16];
|
||||
this.wS = array9;
|
||||
short[] array10 = new short[16];
|
||||
this.w_S = array10;
|
||||
byte[] array11 = new byte[32];
|
||||
this.S = array11;
|
||||
byte[] array12 = new byte[32];
|
||||
this.U = array12;
|
||||
byte[] array13 = new byte[32];
|
||||
this.V = array13;
|
||||
byte[] array14 = new byte[32];
|
||||
this.W = array14;
|
||||
base..ctor();
|
||||
this.Reset(t);
|
||||
}
|
||||
|
||||
// Token: 0x1700190A RID: 6410
|
||||
// (get) Token: 0x06009E66 RID: 40550 RVA: 0x00246F04 File Offset: 0x00245104
|
||||
[Token(Token = "0x1700190A")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009E66")]
|
||||
[Address(RVA = "0x21820A0", Offset = "0x2180AA0", VA = "0x1821820A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "Gost3411";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E67 RID: 40551 RVA: 0x00246F18 File Offset: 0x00245118
|
||||
[Token(Token = "0x6009E67")]
|
||||
[Address(RVA = "0xC390D0", Offset = "0xC37AD0", VA = "0x180C390D0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009E68 RID: 40552 RVA: 0x00246F28 File Offset: 0x00245128
|
||||
[Token(Token = "0x6009E68")]
|
||||
[Address(RVA = "0x2181410", Offset = "0x217FE10", VA = "0x182181410", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = this.xBufOff + 1;
|
||||
this.xBufOff = num;
|
||||
byte[] array2 = this.xBuf;
|
||||
int length = array2.Length;
|
||||
if (this.xBufOff == length)
|
||||
{
|
||||
this.sumByteArray(array2);
|
||||
byte[] array3 = this.xBuf;
|
||||
int num2 = 0;
|
||||
this.processBlock(array3, num2);
|
||||
this.xBufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E69 RID: 40553 RVA: 0x00246F90 File Offset: 0x00245190
|
||||
[Token(Token = "0x6009E69")]
|
||||
[Address(RVA = "0x2180580", Offset = "0x217EF80", VA = "0x182180580", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.xBufOff;
|
||||
if (num2 != 0 && length > 0)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num3 = num2 + 1;
|
||||
this.xBufOff = num3;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num4 = this.xBufOff;
|
||||
if (num4 == array2.Length)
|
||||
{
|
||||
this.sumByteArray(array2);
|
||||
byte[] array3 = this.xBuf;
|
||||
int num5 = 0;
|
||||
this.processBlock(array3, num5);
|
||||
this.xBufOff = num;
|
||||
}
|
||||
while (num4 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array4 = this.xBuf;
|
||||
if (length > array4.Length)
|
||||
{
|
||||
int length2 = array4.Length;
|
||||
int num6 = 0;
|
||||
Array.Copy(input, inOff, array4, num6, length2);
|
||||
byte[] array5 = this.xBuf;
|
||||
int length3 = this.Sum.Length;
|
||||
if (num != length3)
|
||||
{
|
||||
byte b;
|
||||
num += (int)b;
|
||||
byte b2;
|
||||
num += (int)b2;
|
||||
num++;
|
||||
}
|
||||
byte[] array6 = this.xBuf;
|
||||
int num7 = 0;
|
||||
this.processBlock(array6, num7);
|
||||
int length4 = this.xBuf.Length;
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int num8 = this.xBufOff;
|
||||
byte[] array7 = this.xBuf;
|
||||
int num9 = num8 + 1;
|
||||
this.xBufOff = num9;
|
||||
int length5 = this.xBuf.Length;
|
||||
if (this.xBufOff == length5)
|
||||
{
|
||||
int length6 = this.Sum.Length;
|
||||
if (num != length6)
|
||||
{
|
||||
byte b3;
|
||||
num += (int)b3;
|
||||
byte b4;
|
||||
num += (int)b4;
|
||||
num++;
|
||||
}
|
||||
byte[] array8 = this.xBuf;
|
||||
int num10 = 0;
|
||||
this.processBlock(array8, num10);
|
||||
this.xBufOff = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E6A RID: 40554 RVA: 0x002470FC File Offset: 0x002452FC
|
||||
[Token(Token = "0x6009E6A")]
|
||||
[Address(RVA = "0x2180D70", Offset = "0x217F770", VA = "0x182180D70")]
|
||||
private byte[] P(byte[] input)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] k = this.K;
|
||||
byte[] k2 = this.K;
|
||||
byte[] k3 = this.K;
|
||||
num += 2;
|
||||
byte[] k4 = this.K;
|
||||
num++;
|
||||
return this.K;
|
||||
}
|
||||
|
||||
// Token: 0x06009E6B RID: 40555 RVA: 0x00247140 File Offset: 0x00245340
|
||||
[Token(Token = "0x6009E6B")]
|
||||
[Address(RVA = "0x2180490", Offset = "0x217EE90", VA = "0x182180490")]
|
||||
private byte[] A(byte[] input)
|
||||
{
|
||||
int num = 0;
|
||||
int length = input.Length;
|
||||
byte[] array = this.a;
|
||||
byte b = input[num];
|
||||
num++;
|
||||
int num2 = 0;
|
||||
ulong num3;
|
||||
Array.Copy(input, 8, input, num2, (int)num3);
|
||||
byte[] array2 = this.a;
|
||||
int num4 = 0;
|
||||
ulong num5;
|
||||
Array.Copy(array2, num4, input, 24, (int)num5);
|
||||
return input;
|
||||
}
|
||||
|
||||
// Token: 0x06009E6C RID: 40556 RVA: 0x00247198 File Offset: 0x00245398
|
||||
[Token(Token = "0x6009E6C")]
|
||||
[Address(RVA = "0x2180BD0", Offset = "0x217F5D0", VA = "0x182180BD0")]
|
||||
private void E(byte[] key, byte[] s, int sOff, byte[] input, int inOff)
|
||||
{
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
KeyParameter keyParameter = new KeyParameter(key);
|
||||
IBlockCipher blockCipher2 = this.cipher;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009E6D RID: 40557 RVA: 0x002471C0 File Offset: 0x002453C0
|
||||
[Token(Token = "0x6009E6D")]
|
||||
[Address(RVA = "0x2181D80", Offset = "0x2180780", VA = "0x182181D80")]
|
||||
private void fw(byte[] input)
|
||||
{
|
||||
short[] array = this.wS;
|
||||
int num = 0;
|
||||
int num2 = input.Length;
|
||||
num2 -= input;
|
||||
if (num < num2)
|
||||
{
|
||||
num++;
|
||||
num += 2;
|
||||
byte b;
|
||||
array[0] = (short)b;
|
||||
}
|
||||
short[] array2 = this.wS;
|
||||
short[] array3 = this.w_S;
|
||||
int length = array2.Length;
|
||||
short num3 = array2[3];
|
||||
int num4 = 0;
|
||||
array3[3] = num3;
|
||||
short[] array4 = this.w_S;
|
||||
ulong num5;
|
||||
Array.Copy(this.wS, 1, array4, num4, (int)num5);
|
||||
short[] array5 = this.w_S;
|
||||
int num6 = input.Length;
|
||||
num6--;
|
||||
if (num < num6)
|
||||
{
|
||||
short num7 = array5[num];
|
||||
num++;
|
||||
num += 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E6E RID: 40558 RVA: 0x00247274 File Offset: 0x00245474
|
||||
[Token(Token = "0x6009E6E")]
|
||||
[Address(RVA = "0x21820D0", Offset = "0x2180AD0", VA = "0x1821820D0")]
|
||||
private void processBlock(byte[] input, int inOff)
|
||||
{
|
||||
byte[] m = this.M;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
ulong num3;
|
||||
Array.Copy(input, inOff, m, num2, (int)num3);
|
||||
byte[] h = this.H;
|
||||
byte[] u = this.U;
|
||||
byte[] m2 = this.M;
|
||||
byte[] v = this.V;
|
||||
byte[] u2 = this.U;
|
||||
byte[] v2 = this.V;
|
||||
byte[] w = this.W;
|
||||
num++;
|
||||
byte[] w2 = this.W;
|
||||
byte[] array = this.P(w2);
|
||||
byte[] h2 = this.H;
|
||||
int num4 = 0;
|
||||
byte[] s = this.S;
|
||||
this.E(array, s, num4, h2, num);
|
||||
byte[] u3 = this.U;
|
||||
byte[] array2 = this.A(u3);
|
||||
uint num5;
|
||||
byte[] array3 = this.C[(int)num5];
|
||||
byte[] u4 = this.U;
|
||||
num++;
|
||||
byte[] v3 = this.V;
|
||||
byte[] array4 = this.A(v3);
|
||||
byte[] array5 = this.A(array4);
|
||||
this.V = array5;
|
||||
byte[] u5 = this.U;
|
||||
byte[] v4 = this.V;
|
||||
byte[] w3 = this.W;
|
||||
num++;
|
||||
byte[] w4 = this.W;
|
||||
byte[] array6 = this.P(w4);
|
||||
byte[] h3 = this.H;
|
||||
byte[] s2 = this.S;
|
||||
this.E(array6, s2, num, h3, num);
|
||||
num5 += (uint)1;
|
||||
byte[] s3 = this.S;
|
||||
this.fw(s3);
|
||||
byte[] s4 = this.S;
|
||||
byte[] m3 = this.M;
|
||||
num++;
|
||||
byte[] s5 = this.S;
|
||||
this.fw(s5);
|
||||
byte[] h4 = this.H;
|
||||
byte[] s6 = this.S;
|
||||
num++;
|
||||
byte[] s7 = this.S;
|
||||
this.fw(s7);
|
||||
while (num != 32)
|
||||
{
|
||||
}
|
||||
byte[] h5 = this.H;
|
||||
int length = h5.Length;
|
||||
int num6 = 0;
|
||||
byte[] s8 = this.S;
|
||||
int num7 = 0;
|
||||
Array.Copy(s8, num7, h5, num6, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009E6F RID: 40559 RVA: 0x00247444 File Offset: 0x00245644
|
||||
[Token(Token = "0x6009E6F")]
|
||||
[Address(RVA = "0x2181CB0", Offset = "0x21806B0", VA = "0x182181CB0")]
|
||||
private void finish()
|
||||
{
|
||||
ulong num = this.byteCount;
|
||||
byte[] l = this.L;
|
||||
Pack.UInt64_To_LE(num, l);
|
||||
int num2 = this.xBufOff;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
byte[] array = this.xBuf;
|
||||
int num4 = num2 + 1;
|
||||
this.xBufOff = num4;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num5 = this.xBufOff;
|
||||
if (num5 == array2.Length)
|
||||
{
|
||||
this.sumByteArray(array2);
|
||||
byte[] array3 = this.xBuf;
|
||||
int num6 = 0;
|
||||
this.processBlock(array3, num6);
|
||||
this.xBufOff = num3;
|
||||
}
|
||||
while (num5 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] l2 = this.L;
|
||||
int num7 = 0;
|
||||
this.processBlock(l2, num7);
|
||||
byte[] sum = this.Sum;
|
||||
int num8 = 0;
|
||||
this.processBlock(sum, num8);
|
||||
}
|
||||
|
||||
// Token: 0x06009E70 RID: 40560 RVA: 0x00247500 File Offset: 0x00245700
|
||||
[Token(Token = "0x6009E70")]
|
||||
[Address(RVA = "0x2180AB0", Offset = "0x217F4B0", VA = "0x182180AB0", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
ulong num = this.byteCount;
|
||||
byte[] l = this.L;
|
||||
Pack.UInt64_To_LE(num, l);
|
||||
int num2 = this.xBufOff;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
byte[] array = this.xBuf;
|
||||
int num4 = num2 + 1;
|
||||
this.xBufOff = num4;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num5 = this.xBufOff;
|
||||
if (num5 == array2.Length)
|
||||
{
|
||||
this.sumByteArray(array2);
|
||||
byte[] array3 = this.xBuf;
|
||||
int num6 = 0;
|
||||
this.processBlock(array3, num6);
|
||||
this.xBufOff = num3;
|
||||
}
|
||||
while (num5 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] l2 = this.L;
|
||||
int num7 = 0;
|
||||
this.processBlock(l2, num7);
|
||||
byte[] sum = this.Sum;
|
||||
int num8 = 0;
|
||||
this.processBlock(sum, num8);
|
||||
byte[] h = this.H;
|
||||
this.Reset();
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009E71 RID: 40561 RVA: 0x002475CC File Offset: 0x002457CC
|
||||
[Token(Token = "0x6009E71")]
|
||||
[Address(RVA = "0x2180EF0", Offset = "0x217F8F0", VA = "0x182180EF0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
byte[] h = this.H;
|
||||
int num = 0;
|
||||
this.byteCount = (ulong)num;
|
||||
this.xBufOff = num;
|
||||
int length = h.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(h, num2, length);
|
||||
byte[] l = this.L;
|
||||
int length2 = l.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(l, num3, length2);
|
||||
byte[] m = this.M;
|
||||
int length3 = m.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(m, num4, length3);
|
||||
byte[] array = this.C[1];
|
||||
int length4 = array.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(array, num5, length4);
|
||||
byte[] array2 = this.C[3];
|
||||
int length5 = array2.Length;
|
||||
int num6 = 0;
|
||||
Array.Clear(array2, num6, length5);
|
||||
byte[] sum = this.Sum;
|
||||
int length6 = sum.Length;
|
||||
int num7 = 0;
|
||||
Array.Clear(sum, num7, length6);
|
||||
byte[] array3 = this.xBuf;
|
||||
int length7 = array3.Length;
|
||||
int num8 = 0;
|
||||
Array.Clear(array3, num8, length7);
|
||||
byte[][] c = this.C;
|
||||
byte[] c2 = Gost3411Digest.C2;
|
||||
byte[] array4 = c[2];
|
||||
}
|
||||
|
||||
// Token: 0x06009E72 RID: 40562 RVA: 0x002476EC File Offset: 0x002458EC
|
||||
[Token(Token = "0x6009E72")]
|
||||
[Address(RVA = "0x2182590", Offset = "0x2180F90", VA = "0x182182590")]
|
||||
private void sumByteArray(byte[] input)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] sum = this.Sum;
|
||||
if (num != sum.Length)
|
||||
{
|
||||
num++;
|
||||
byte b;
|
||||
num += (int)b;
|
||||
byte b2;
|
||||
num += (int)b2;
|
||||
byte[] sum2 = this.Sum;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E73 RID: 40563 RVA: 0x00247728 File Offset: 0x00245928
|
||||
[Token(Token = "0x6009E73")]
|
||||
[Address(RVA = "0x2181B30", Offset = "0x2180530", VA = "0x182181B30")]
|
||||
private static void cpyBytesToShort(byte[] S, short[] wS)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = S.Length;
|
||||
num2 -= wS;
|
||||
if (num < num2)
|
||||
{
|
||||
num++;
|
||||
num += 2;
|
||||
byte b;
|
||||
wS[0] = (short)b;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E74 RID: 40564 RVA: 0x0024775C File Offset: 0x0024595C
|
||||
[Token(Token = "0x6009E74")]
|
||||
[Address(RVA = "0x2181BE0", Offset = "0x21805E0", VA = "0x182181BE0")]
|
||||
private static void cpyShortToBytes(short[] wS, byte[] S)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = S.Length;
|
||||
num2 -= S;
|
||||
if (num < num2)
|
||||
{
|
||||
short num3 = wS[num];
|
||||
num++;
|
||||
num += 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009E75 RID: 40565 RVA: 0x00247790 File Offset: 0x00245990
|
||||
[Token(Token = "0x6009E75")]
|
||||
[Address(RVA = "0xC390D0", Offset = "0xC37AD0", VA = "0x180C390D0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009E76 RID: 40566 RVA: 0x002477A0 File Offset: 0x002459A0
|
||||
[Token(Token = "0x6009E76")]
|
||||
[Address(RVA = "0x21808C0", Offset = "0x217F2C0", VA = "0x1821808C0", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009E76)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Gost3411Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint8[](var_1_07, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::H, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_1_07))
|
||||
stloc:uint8[](var_2_16, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::L, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_2_16))
|
||||
stloc:uint8[](var_3_25, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::M, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_3_25))
|
||||
stloc:uint8[](var_4_34, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::Sum, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_4_34))
|
||||
stloc:uint8[][](var_6_46, call:uint8[][](Gost3411Digest::MakeC))
|
||||
stfld:uint8[][](Gost3411Digest::C, ldloc:Gost3411Digest(var_0), ldloc:uint8[][](var_6_46))
|
||||
stloc:uint8[](var_7_57, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::xBuf, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_7_57))
|
||||
stloc:Gost28147Engine(var_8_66, newobj:Gost28147Engine(Gost28147Engine::.ctor))
|
||||
stfld:IBlockCipher(Gost3411Digest::cipher, ldloc:Gost3411Digest(var_0), ldloc:Gost28147Engine[exp:IBlockCipher](var_8_66))
|
||||
stloc:uint8[](var_9_77, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::K, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_9_77))
|
||||
stloc:uint8[](var_10_87, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(8)))
|
||||
stfld:uint8[](Gost3411Digest::a, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_10_87))
|
||||
stloc:int16[](var_11_98, newarr:int16[]([mscorlib]System.Int16, ldc.i4:int32(16)))
|
||||
stfld:int16[](Gost3411Digest::wS, ldloc:Gost3411Digest(var_0), ldloc:int16[](var_11_98))
|
||||
stloc:int16[](var_12_A9, newarr:int16[]([mscorlib]System.Int16, ldc.i4:int32(16)))
|
||||
stfld:int16[](Gost3411Digest::w_S, ldloc:Gost3411Digest(var_0), ldloc:int16[](var_12_A9))
|
||||
stloc:uint8[](var_13_BA, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::S, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_13_BA))
|
||||
stloc:uint8[](var_14_CB, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::U, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_14_CB))
|
||||
stloc:uint8[](var_15_DC, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::V, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_15_DC))
|
||||
stloc:uint8[](var_16_ED, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(32)))
|
||||
stfld:uint8[](Gost3411Digest::W, ldloc:Gost3411Digest(var_0), ldloc:uint8[](var_16_ED))
|
||||
call:void(Gost3411Digest::Reset, ldloc:Gost3411Digest(var_0), ldloc:Gost3411Digest[exp:IMemoable](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: 0x06009E77 RID: 40567 RVA: 0x002478AC File Offset: 0x00245AAC
|
||||
[Token(Token = "0x6009E77")]
|
||||
[Address(RVA = "0x21810B0", Offset = "0x217FAB0", VA = "0x1821810B0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
while (other == 0)
|
||||
{
|
||||
}
|
||||
IBlockCipher blockCipher = this.cipher;
|
||||
this.sBox = other;
|
||||
this.Reset();
|
||||
byte[] l = this.L;
|
||||
byte[] l2 = this.L;
|
||||
byte[] l3 = this.L;
|
||||
byte[] l4 = this.L;
|
||||
byte[][] c = this.C;
|
||||
byte b = l4[1];
|
||||
byte[][] c2 = this.C;
|
||||
byte[][] c3 = this.C;
|
||||
this.xBufOff = c3;
|
||||
this.byteCount = c3;
|
||||
}
|
||||
|
||||
// Token: 0x06009E78 RID: 40568 RVA: 0x00247930 File Offset: 0x00245B30
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E78")]
|
||||
[Address(RVA = "0x2181490", Offset = "0x217FE90", VA = "0x182181490")]
|
||||
static Gost3411Digest()
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.CC5B8B6FA17DA57B26C3ACA4DA8B2A477C609D63).FieldHandle);
|
||||
Gost3411Digest.C2 = array;
|
||||
}
|
||||
|
||||
// Token: 0x0400682F RID: 26671
|
||||
[Token(Token = "0x400682F")]
|
||||
private const int DIGEST_LENGTH = 32;
|
||||
|
||||
// Token: 0x04006830 RID: 26672
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006830")]
|
||||
private byte[] H;
|
||||
|
||||
// Token: 0x04006831 RID: 26673
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006831")]
|
||||
private byte[] L;
|
||||
|
||||
// Token: 0x04006832 RID: 26674
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006832")]
|
||||
private byte[] M;
|
||||
|
||||
// Token: 0x04006833 RID: 26675
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006833")]
|
||||
private byte[] Sum;
|
||||
|
||||
// Token: 0x04006834 RID: 26676
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006834")]
|
||||
private byte[][] C;
|
||||
|
||||
// Token: 0x04006835 RID: 26677
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006835")]
|
||||
private byte[] xBuf;
|
||||
|
||||
// Token: 0x04006836 RID: 26678
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006836")]
|
||||
private int xBufOff;
|
||||
|
||||
// Token: 0x04006837 RID: 26679
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006837")]
|
||||
private ulong byteCount;
|
||||
|
||||
// Token: 0x04006838 RID: 26680
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006838")]
|
||||
private readonly IBlockCipher cipher;
|
||||
|
||||
// Token: 0x04006839 RID: 26681
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006839")]
|
||||
private byte[] sBox;
|
||||
|
||||
// Token: 0x0400683A RID: 26682
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x400683A")]
|
||||
private byte[] K;
|
||||
|
||||
// Token: 0x0400683B RID: 26683
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400683B")]
|
||||
private byte[] a;
|
||||
|
||||
// Token: 0x0400683C RID: 26684
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400683C")]
|
||||
internal short[] wS;
|
||||
|
||||
// Token: 0x0400683D RID: 26685
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x400683D")]
|
||||
internal short[] w_S;
|
||||
|
||||
// Token: 0x0400683E RID: 26686
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400683E")]
|
||||
internal byte[] S;
|
||||
|
||||
// Token: 0x0400683F RID: 26687
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x400683F")]
|
||||
internal byte[] U;
|
||||
|
||||
// Token: 0x04006840 RID: 26688
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x4006840")]
|
||||
internal byte[] V;
|
||||
|
||||
// Token: 0x04006841 RID: 26689
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x4006841")]
|
||||
internal byte[] W;
|
||||
|
||||
// Token: 0x04006842 RID: 26690
|
||||
[Token(Token = "0x4006842")]
|
||||
private static readonly byte[] C2;
|
||||
}
|
||||
}
|
||||
+579
@@ -0,0 +1,579 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200170B RID: 5899
|
||||
[Token(Token = "0x200170B")]
|
||||
[StructLayout(3)]
|
||||
public class KeccakDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x06009EA8 RID: 40616 RVA: 0x00249078 File Offset: 0x00247278
|
||||
[Token(Token = "0x6009EA8")]
|
||||
[Address(RVA = "0x2184400", Offset = "0x2182E00", VA = "0x182184400")]
|
||||
public KeccakDigest()
|
||||
{
|
||||
ulong[] array = new ulong[25];
|
||||
this.state = array;
|
||||
byte[] array2 = new byte[192];
|
||||
this.dataQueue = array2;
|
||||
base..ctor();
|
||||
this.Init(288);
|
||||
}
|
||||
|
||||
// Token: 0x06009EA9 RID: 40617 RVA: 0x002490B8 File Offset: 0x002472B8
|
||||
[Token(Token = "0x6009EA9")]
|
||||
[Address(RVA = "0x2184380", Offset = "0x2182D80", VA = "0x182184380")]
|
||||
public KeccakDigest(int bitLength)
|
||||
{
|
||||
ulong[] array = new ulong[25];
|
||||
this.state = array;
|
||||
byte[] array2 = new byte[192];
|
||||
this.dataQueue = array2;
|
||||
base..ctor();
|
||||
this.Init(bitLength);
|
||||
}
|
||||
|
||||
// Token: 0x06009EAA RID: 40618 RVA: 0x002490F4 File Offset: 0x002472F4
|
||||
[Token(Token = "0x6009EAA")]
|
||||
[Address(RVA = "0x2184300", Offset = "0x2182D00", VA = "0x182184300")]
|
||||
public KeccakDigest(KeccakDigest source)
|
||||
{
|
||||
ulong[] array = new ulong[25];
|
||||
this.state = array;
|
||||
byte[] array2 = new byte[192];
|
||||
this.dataQueue = array2;
|
||||
base..ctor();
|
||||
this.CopyIn(source);
|
||||
}
|
||||
|
||||
// Token: 0x06009EAB RID: 40619 RVA: 0x00249130 File Offset: 0x00247330
|
||||
[Token(Token = "0x6009EAB")]
|
||||
[Address(RVA = "0x2182930", Offset = "0x2181330", VA = "0x182182930")]
|
||||
private void CopyIn(KeccakDigest source)
|
||||
{
|
||||
ulong[] array = source.state;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
ulong[] array2 = this.state;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
byte[] array3 = source.dataQueue;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
byte[] array4 = this.dataQueue;
|
||||
int num4 = 0;
|
||||
Array.Copy(array3, num4, array4, num3, length2);
|
||||
int num5 = source.rate;
|
||||
this.rate = num5;
|
||||
int num6 = source.bitsInQueue;
|
||||
this.bitsInQueue = num6;
|
||||
int num7 = source.fixedOutputLength;
|
||||
this.fixedOutputLength = num7;
|
||||
bool flag = source.squeezing;
|
||||
this.squeezing = flag;
|
||||
}
|
||||
|
||||
// Token: 0x1700190F RID: 6415
|
||||
// (get) Token: 0x06009EAC RID: 40620 RVA: 0x002491D8 File Offset: 0x002473D8
|
||||
[Token(Token = "0x1700190F")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009EAC")]
|
||||
[Address(RVA = "0x2184470", Offset = "0x2182E70", VA = "0x182184470", Slot = "13")]
|
||||
get
|
||||
{
|
||||
int num = this.fixedOutputLength;
|
||||
return "Keccak-" + num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EAD RID: 40621 RVA: 0x002491F8 File Offset: 0x002473F8
|
||||
[Token(Token = "0x6009EAD")]
|
||||
[Address(RVA = "0x2182C90", Offset = "0x2181690", VA = "0x182182C90", Slot = "14")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.fixedOutputLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009EAE RID: 40622 RVA: 0x0024920C File Offset: 0x0024740C
|
||||
[Token(Token = "0x6009EAE")]
|
||||
[Address(RVA = "0x2184210", Offset = "0x2182C10", VA = "0x182184210", Slot = "15")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
byte[] array = new byte[] { input };
|
||||
int num = 0;
|
||||
this.Absorb(array, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x06009EAF RID: 40623 RVA: 0x0024923C File Offset: 0x0024743C
|
||||
[Token(Token = "0x6009EAF")]
|
||||
[Address(RVA = "0x2182920", Offset = "0x2181320", VA = "0x182182920", Slot = "16")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
this.Absorb(input, inOff, len);
|
||||
}
|
||||
|
||||
// Token: 0x06009EB0 RID: 40624 RVA: 0x00249254 File Offset: 0x00247454
|
||||
[Token(Token = "0x6009EB0")]
|
||||
[Address(RVA = "0x2182C30", Offset = "0x2181630", VA = "0x182182C30", Slot = "17")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009EB0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::DoFinal(System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, ldfld:int32(KeccakDigest::fixedOutputLength, ldloc:KeccakDigest(this)))
|
||||
call:void(KeccakDigest::Squeeze, ldloc:KeccakDigest(this), ldloc:uint8[](output), ldloc:int32(outOff), ldloc:int32[exp:int64](var_0_06))
|
||||
stloc:IMemoable(var_3_16, call:IMemoable(IMemoable::Copy, ldloc:KeccakDigest[exp:IMemoable](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: 0x06009EB1 RID: 40625 RVA: 0x00249278 File Offset: 0x00247478
|
||||
[Token(Token = "0x6009EB1")]
|
||||
[Address(RVA = "0x2182A70", Offset = "0x2181470", VA = "0x182182A70", Slot = "18")]
|
||||
protected virtual int DoFinal(byte[] output, int outOff, byte partialByte, int partialBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009EB1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::DoFinal(System.Byte[],System.Int32,System.Byte,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_42:
|
||||
stloc:InvalidOperationException(var_7_4C, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("attempt to absorb while squeezing")))
|
||||
}
|
||||
|
||||
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: 0x06009EB2 RID: 40626 RVA: 0x002492D4 File Offset: 0x002474D4
|
||||
[Token(Token = "0x6009EB2")]
|
||||
[Address(RVA = "0x2184090", Offset = "0x2182A90", VA = "0x182184090", Slot = "19")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num = this.fixedOutputLength;
|
||||
this.Init(num);
|
||||
}
|
||||
|
||||
// Token: 0x06009EB3 RID: 40627 RVA: 0x002492F0 File Offset: 0x002474F0
|
||||
[Token(Token = "0x6009EB3")]
|
||||
[Address(RVA = "0x2182C80", Offset = "0x2181680", VA = "0x182182C80", Slot = "20")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return this.rate;
|
||||
}
|
||||
|
||||
// Token: 0x06009EB4 RID: 40628 RVA: 0x00249304 File Offset: 0x00247504
|
||||
[Token(Token = "0x6009EB4")]
|
||||
[Address(RVA = "0x2182D90", Offset = "0x2181790", VA = "0x182182D90")]
|
||||
private void Init(int bitLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009EB4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::Init(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_9C:
|
||||
stloc:ArgumentException(var_7_AB, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must be one of 128, 224, 256, 288, 384, or 512."), ldstr:string("bitLength")))
|
||||
}
|
||||
|
||||
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: 0x06009EB5 RID: 40629 RVA: 0x002493C0 File Offset: 0x002475C0
|
||||
[Token(Token = "0x6009EB5")]
|
||||
[Address(RVA = "0x2182CA0", Offset = "0x21816A0", VA = "0x182182CA0")]
|
||||
private void InitSponge(int rate)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009EB5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::InitSponge(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5F:
|
||||
stloc:InvalidOperationException(var_6_69, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("invalid rate value")))
|
||||
}
|
||||
|
||||
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: 0x06009EB6 RID: 40630 RVA: 0x00249438 File Offset: 0x00247638
|
||||
[Token(Token = "0x6009EB6")]
|
||||
[Address(RVA = "0x2182780", Offset = "0x2181180", VA = "0x182182780")]
|
||||
protected void Absorb(byte[] data, int off, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009EB6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::Absorb(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_82:
|
||||
stloc:InvalidOperationException(var_9_8C, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("attempt to absorb while squeezing")))
|
||||
}
|
||||
|
||||
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: 0x06009EB7 RID: 40631 RVA: 0x002494D4 File Offset: 0x002476D4
|
||||
[Token(Token = "0x6009EB7")]
|
||||
[Address(RVA = "0x2182630", Offset = "0x2181030", VA = "0x182182630")]
|
||||
protected void AbsorbBits(int data, int bits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009EB7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::AbsorbBits(System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_37:
|
||||
stloc:InvalidOperationException(var_5_41, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("attempt to absorb while squeezing")))
|
||||
}
|
||||
|
||||
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: 0x06009EB8 RID: 40632 RVA: 0x00249524 File Offset: 0x00247724
|
||||
[Token(Token = "0x6009EB8")]
|
||||
[Address(RVA = "0x2183E00", Offset = "0x2182800", VA = "0x182183E00")]
|
||||
private void PadAndSwitchToSqueezingPhase()
|
||||
{
|
||||
byte[] array = this.dataQueue;
|
||||
int num = this.bitsInQueue;
|
||||
array += num;
|
||||
int num2 = 0;
|
||||
array[0] = (byte)num;
|
||||
int num3 = this.bitsInQueue;
|
||||
num3++;
|
||||
this.bitsInQueue = num3;
|
||||
if (num3 == this.rate)
|
||||
{
|
||||
byte[] array2 = this.dataQueue;
|
||||
int num4 = 0;
|
||||
this.KeccakAbsorb(array2, num4);
|
||||
this.bitsInQueue = num2;
|
||||
}
|
||||
ulong[] array3;
|
||||
int num6;
|
||||
if (num3 > 0)
|
||||
{
|
||||
array3 = this.state;
|
||||
ulong num5 = Pack.LE_To_UInt64(this.dataQueue, num2);
|
||||
num2 += 8;
|
||||
num2++;
|
||||
array3[0] = num5;
|
||||
num6 = 0;
|
||||
}
|
||||
if (num3 != 0)
|
||||
{
|
||||
ulong[] array4 = this.state;
|
||||
ulong num7 = Pack.LE_To_UInt64(this.dataQueue, num2);
|
||||
array3[0] = num7;
|
||||
}
|
||||
ulong[] array5 = this.state;
|
||||
int num8 = this.rate;
|
||||
this.KeccakPermutation();
|
||||
int num9 = this.rate;
|
||||
int num10 = 0;
|
||||
byte[] array6 = this.dataQueue;
|
||||
Pack.UInt64_To_LE(this.state, num10, num9, array6, num6);
|
||||
int num11 = this.rate;
|
||||
this.bitsInQueue = num11;
|
||||
this.squeezing = true;
|
||||
}
|
||||
|
||||
// Token: 0x06009EB9 RID: 40633 RVA: 0x00249630 File Offset: 0x00247830
|
||||
[Token(Token = "0x6009EB9")]
|
||||
[Address(RVA = "0x21840A0", Offset = "0x2182AA0", VA = "0x1821840A0")]
|
||||
protected void Squeeze(byte[] output, int offset, long outputLength)
|
||||
{
|
||||
if (!this.squeezing)
|
||||
{
|
||||
this.PadAndSwitchToSqueezingPhase();
|
||||
}
|
||||
int num = 0;
|
||||
int num4;
|
||||
if (this.bitsInQueue == 0)
|
||||
{
|
||||
this.KeccakPermutation();
|
||||
int num2 = this.rate;
|
||||
int num3 = 0;
|
||||
byte[] array = this.dataQueue;
|
||||
Pack.UInt64_To_LE(this.state, num3, num2, array, num);
|
||||
num4 = this.rate;
|
||||
this.bitsInQueue = num4;
|
||||
}
|
||||
long num5 = Math.Min((long)num4, outputLength);
|
||||
int num6 = this.rate;
|
||||
byte[] array2 = this.dataQueue;
|
||||
num += offset;
|
||||
Array.Copy(array2, num6, output, num, (int)num5);
|
||||
num = (int)((long)num + num5);
|
||||
}
|
||||
|
||||
// Token: 0x06009EBA RID: 40634 RVA: 0x002496C8 File Offset: 0x002478C8
|
||||
[Token(Token = "0x6009EBA")]
|
||||
[Address(RVA = "0x2182F30", Offset = "0x2181930", VA = "0x182182F30")]
|
||||
private void KeccakAbsorb(byte[] data, int off)
|
||||
{
|
||||
int num = this.rate;
|
||||
int num2 = 0;
|
||||
if (num > 0)
|
||||
{
|
||||
ulong[] array = this.state;
|
||||
ulong num3 = Pack.LE_To_UInt64(data, off);
|
||||
num2++;
|
||||
}
|
||||
this.KeccakPermutation();
|
||||
}
|
||||
|
||||
// Token: 0x06009EBB RID: 40635 RVA: 0x00249704 File Offset: 0x00247904
|
||||
[Token(Token = "0x6009EBB")]
|
||||
[Address(RVA = "0x2182FE0", Offset = "0x21819E0", VA = "0x182182FE0")]
|
||||
private void KeccakExtract()
|
||||
{
|
||||
int num = this.rate;
|
||||
int num2 = 0;
|
||||
byte[] array = this.dataQueue;
|
||||
int num3 = 0;
|
||||
Pack.UInt64_To_LE(this.state, num3, num, array, num2);
|
||||
}
|
||||
|
||||
// Token: 0x06009EBC RID: 40636 RVA: 0x00249734 File Offset: 0x00247934
|
||||
[Token(Token = "0x6009EBC")]
|
||||
[Address(RVA = "0x2183010", Offset = "0x2181A10", VA = "0x182183010")]
|
||||
private void KeccakPermutation()
|
||||
{
|
||||
ulong[] array = this.state;
|
||||
int length = array.Length;
|
||||
ulong num = array[0];
|
||||
ulong num2 = array[1];
|
||||
ulong num3 = array[2];
|
||||
ulong num4 = array[3];
|
||||
ulong num5 = array[4];
|
||||
ulong num6 = array[5];
|
||||
ulong num7 = array[6];
|
||||
ulong num8 = array[7];
|
||||
ulong num9 = array[8];
|
||||
ulong num10 = array[9];
|
||||
ulong num11 = array[10];
|
||||
ulong num12 = array[11];
|
||||
ulong num13 = array[12];
|
||||
ulong num14 = array[13];
|
||||
ulong num15 = array[14];
|
||||
ulong num16 = array[15];
|
||||
ulong num17 = array[16];
|
||||
ulong num18 = array[17];
|
||||
ulong num19 = array[18];
|
||||
ulong num20 = array[19];
|
||||
ulong num21 = array[20];
|
||||
ulong num22 = array[21];
|
||||
ulong num23 = array[22];
|
||||
ulong num24 = array[23];
|
||||
ulong num25 = array[24];
|
||||
int num26 = 0;
|
||||
num22 = num23;
|
||||
num3 = num24;
|
||||
num10 = num3;
|
||||
num15 = num21;
|
||||
num21 = num13;
|
||||
num20 = num24;
|
||||
num3 = num25;
|
||||
num24 = num16;
|
||||
num25 = num22;
|
||||
num5 = num19;
|
||||
num6 = num5;
|
||||
num7 = num6;
|
||||
num12 = num3;
|
||||
num3 = num15;
|
||||
num2 = num12;
|
||||
num19 = num20;
|
||||
num6 = num7;
|
||||
num5 = num7;
|
||||
num12 = num24;
|
||||
num16 = num5;
|
||||
ulong[] keccakRoundConstants = KeccakDigest.KeccakRoundConstants;
|
||||
num26++;
|
||||
array[0] = num;
|
||||
array[1] = num7;
|
||||
array[2] = num21;
|
||||
array[3] = num5;
|
||||
array[4] = num3;
|
||||
array[5] = num6;
|
||||
num7 = num6;
|
||||
array[6] = num7;
|
||||
array[7] = num12;
|
||||
array[8] = num5;
|
||||
array[9] = num7;
|
||||
array[10] = num2;
|
||||
array[11] = num12;
|
||||
array[12] = num3;
|
||||
array[13] = num3;
|
||||
array[14] = num15;
|
||||
array[15] = num16;
|
||||
array[16] = num5;
|
||||
array[17] = num19;
|
||||
array[18] = num19;
|
||||
num6 = num20;
|
||||
array[19] = num6;
|
||||
array[20] = num10;
|
||||
array[21] = num5;
|
||||
array[22] = num7;
|
||||
array[23] = num24;
|
||||
array[24] = num25;
|
||||
}
|
||||
|
||||
// Token: 0x06009EBD RID: 40637 RVA: 0x00249A30 File Offset: 0x00247C30
|
||||
[Token(Token = "0x6009EBD")]
|
||||
[Address(RVA = "0x21829C0", Offset = "0x21813C0", VA = "0x1821829C0", Slot = "21")]
|
||||
public virtual IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009EBD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.KeccakDigest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:KeccakDigest(var_0_05, newobj:KeccakDigest(KeccakDigest::.ctor))
|
||||
stloc:uint64[](var_1_0D, newarr:uint64[]([mscorlib]System.UInt64, ldc.i4:int32(25)))
|
||||
stfld:uint64[](KeccakDigest::state, ldloc:KeccakDigest(var_0_05), ldloc:uint64[](var_1_0D))
|
||||
stloc:uint8[](var_2_1F, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(192)))
|
||||
stfld:uint8[](KeccakDigest::dataQueue, ldloc:KeccakDigest(var_0_05), ldloc:uint8[](var_2_1F))
|
||||
call:void(KeccakDigest::CopyIn, ldloc:KeccakDigest(var_0_05), ldloc:KeccakDigest(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: 0x06009EBE RID: 40638 RVA: 0x00249A6C File Offset: 0x00247C6C
|
||||
[Token(Token = "0x6009EBE")]
|
||||
[Address(RVA = "0x2183FF0", Offset = "0x21829F0", VA = "0x182183FF0", Slot = "22")]
|
||||
public virtual void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009EBF RID: 40639 RVA: 0x00249A84 File Offset: 0x00247C84
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009EBF")]
|
||||
[Address(RVA = "0x21842A0", Offset = "0x2182CA0", VA = "0x1821842A0")]
|
||||
static KeccakDigest()
|
||||
{
|
||||
ulong[] array = new ulong[24];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6BBA9E7ACC5D57E30438CC78FF7E308399E10FE1).FieldHandle);
|
||||
KeccakDigest.KeccakRoundConstants = array;
|
||||
}
|
||||
|
||||
// Token: 0x04006855 RID: 26709
|
||||
[Token(Token = "0x4006855")]
|
||||
private static readonly ulong[] KeccakRoundConstants;
|
||||
|
||||
// Token: 0x04006856 RID: 26710
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006856")]
|
||||
private ulong[] state;
|
||||
|
||||
// Token: 0x04006857 RID: 26711
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006857")]
|
||||
protected byte[] dataQueue;
|
||||
|
||||
// Token: 0x04006858 RID: 26712
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006858")]
|
||||
protected int rate;
|
||||
|
||||
// Token: 0x04006859 RID: 26713
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x4006859")]
|
||||
protected int bitsInQueue;
|
||||
|
||||
// Token: 0x0400685A RID: 26714
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400685A")]
|
||||
protected int fixedOutputLength;
|
||||
|
||||
// Token: 0x0400685B RID: 26715
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x400685B")]
|
||||
protected bool squeezing;
|
||||
}
|
||||
}
|
||||
+631
@@ -0,0 +1,631 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200170C RID: 5900
|
||||
[Token(Token = "0x200170C")]
|
||||
[StructLayout(3)]
|
||||
public abstract class LongDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x06009EC0 RID: 40640 RVA: 0x00249AAC File Offset: 0x00247CAC
|
||||
[Token(Token = "0x6009EC0")]
|
||||
[Address(RVA = "0x2185B60", Offset = "0x2184560", VA = "0x182185B60")]
|
||||
internal LongDigest()
|
||||
{
|
||||
ulong[] array = new ulong[80];
|
||||
this.W = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[8];
|
||||
this.xBuf = array2;
|
||||
string algorithmName = this.AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x06009EC1 RID: 40641 RVA: 0x00249AF0 File Offset: 0x00247CF0
|
||||
[Token(Token = "0x6009EC1")]
|
||||
[Address(RVA = "0x2185A20", Offset = "0x2184420", VA = "0x182185A20")]
|
||||
internal LongDigest(LongDigest t)
|
||||
{
|
||||
ulong[] array = new ulong[80];
|
||||
this.W = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[t.xBuf.Length];
|
||||
this.xBuf = array2;
|
||||
byte[] array3 = t.xBuf;
|
||||
int length = array3.Length;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(array3, num2, array2, num, length);
|
||||
int num3 = t.xBufOff;
|
||||
this.xBufOff = num3;
|
||||
long num4 = t.byteCount1;
|
||||
this.byteCount1 = num4;
|
||||
long num5 = t.byteCount2;
|
||||
this.byteCount2 = num5;
|
||||
ulong h = t.H1;
|
||||
this.H1 = h;
|
||||
ulong h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
ulong h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
ulong h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
ulong h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
ulong h6 = t.H6;
|
||||
this.H6 = h6;
|
||||
ulong h7 = t.H7;
|
||||
this.H7 = h7;
|
||||
ulong h8 = t.H8;
|
||||
this.H8 = h8;
|
||||
ulong[] w = t.W;
|
||||
int length2 = w.Length;
|
||||
int num6 = 0;
|
||||
ulong[] w2 = this.W;
|
||||
int num7 = 0;
|
||||
Array.Copy(w, num7, w2, num6, length2);
|
||||
int num8 = t.wOff;
|
||||
this.wOff = num8;
|
||||
}
|
||||
|
||||
// Token: 0x06009EC2 RID: 40642 RVA: 0x00249C4C File Offset: 0x00247E4C
|
||||
[Token(Token = "0x6009EC2")]
|
||||
[Address(RVA = "0x21847D0", Offset = "0x21831D0", VA = "0x1821847D0")]
|
||||
protected void CopyIn(LongDigest t)
|
||||
{
|
||||
byte[] array = t.xBuf;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, array2, num, length);
|
||||
int num3 = t.xBufOff;
|
||||
this.xBufOff = num3;
|
||||
long num4 = t.byteCount1;
|
||||
this.byteCount1 = num4;
|
||||
long num5 = t.byteCount2;
|
||||
this.byteCount2 = num5;
|
||||
ulong h = t.H1;
|
||||
this.H1 = h;
|
||||
ulong h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
ulong h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
ulong h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
ulong h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
ulong h6 = t.H6;
|
||||
this.H6 = h6;
|
||||
ulong h7 = t.H7;
|
||||
this.H7 = h7;
|
||||
ulong h8 = t.H8;
|
||||
this.H8 = h8;
|
||||
ulong[] w = t.W;
|
||||
int length2 = w.Length;
|
||||
int num6 = 0;
|
||||
ulong[] w2 = this.W;
|
||||
int num7 = 0;
|
||||
Array.Copy(w, num7, w2, num6, length2);
|
||||
int num8 = t.wOff;
|
||||
this.wOff = num8;
|
||||
}
|
||||
|
||||
// Token: 0x06009EC3 RID: 40643 RVA: 0x00249D74 File Offset: 0x00247F74
|
||||
[Token(Token = "0x6009EC3")]
|
||||
[Address(RVA = "0x2185950", Offset = "0x2184350", VA = "0x182185950", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = this.xBufOff + 1;
|
||||
this.xBufOff = num;
|
||||
byte[] array2 = this.xBuf;
|
||||
int length = array2.Length;
|
||||
if (this.xBufOff == length)
|
||||
{
|
||||
int num2 = 0;
|
||||
this.ProcessWord(array2, num2);
|
||||
this.xBufOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EC4 RID: 40644 RVA: 0x00249DCC File Offset: 0x00247FCC
|
||||
[Token(Token = "0x6009EC4")]
|
||||
[Address(RVA = "0x2184500", Offset = "0x2182F00", VA = "0x182184500", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.xBufOff;
|
||||
if (num2 != 0 && length > 0)
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num3 = num2 + 1;
|
||||
this.xBufOff = num3;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num4 = this.xBufOff;
|
||||
if (num4 == array2.Length)
|
||||
{
|
||||
ulong[] w = this.W;
|
||||
int num5 = this.wOff;
|
||||
int num6 = 0;
|
||||
ulong num7 = Pack.BE_To_UInt64(array2, num6);
|
||||
w[0] = num7;
|
||||
int num8 = this.wOff;
|
||||
num8++;
|
||||
this.wOff = num8;
|
||||
if (num8 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.xBufOff = num;
|
||||
}
|
||||
while (num4 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array3 = this.xBuf;
|
||||
if (length > array3.Length)
|
||||
{
|
||||
ulong[] w2 = this.W;
|
||||
int num9 = this.wOff;
|
||||
ulong num10 = Pack.BE_To_UInt64(input, inOff);
|
||||
w2[0] = num10;
|
||||
int num11 = this.wOff;
|
||||
num11++;
|
||||
this.wOff = num11;
|
||||
if (num11 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
int length2 = this.xBuf.Length;
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int num12 = this.xBufOff;
|
||||
byte[] array4 = this.xBuf;
|
||||
int num13 = num12 + 1;
|
||||
this.xBufOff = num13;
|
||||
byte[] array5 = this.xBuf;
|
||||
int length3 = array5.Length;
|
||||
if (this.xBufOff == length3)
|
||||
{
|
||||
ulong[] w3 = this.W;
|
||||
int num14 = this.wOff;
|
||||
int num15 = 0;
|
||||
ulong num16 = Pack.BE_To_UInt64(array5, num15);
|
||||
w3[0] = num16;
|
||||
int num17 = this.wOff;
|
||||
num17++;
|
||||
this.wOff = num17;
|
||||
if (num17 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.xBufOff = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EC5 RID: 40645 RVA: 0x00249F78 File Offset: 0x00248178
|
||||
[Token(Token = "0x6009EC5")]
|
||||
[Address(RVA = "0x21848B0", Offset = "0x21832B0", VA = "0x1821848B0")]
|
||||
public void Finish()
|
||||
{
|
||||
long num = this.byteCount1;
|
||||
long num2 = this.byteCount2;
|
||||
ulong num3;
|
||||
if (num > (long)num3)
|
||||
{
|
||||
num2 += num;
|
||||
this.byteCount2 = num2;
|
||||
this.byteCount1 = num;
|
||||
}
|
||||
int num4 = this.xBufOff;
|
||||
byte[] array = this.xBuf;
|
||||
int num5 = num4 + 1;
|
||||
this.xBufOff = num5;
|
||||
byte[] array2 = this.xBuf;
|
||||
int num6 = this.xBufOff;
|
||||
int num7 = 0;
|
||||
if (num6 == array2.Length)
|
||||
{
|
||||
int num8 = 0;
|
||||
this.ProcessWord(array2, num8);
|
||||
this.xBufOff = num7;
|
||||
}
|
||||
if (num7 != 0)
|
||||
{
|
||||
byte[] array3 = this.xBuf;
|
||||
this.xBufOff = 1;
|
||||
byte[] array4 = this.xBuf;
|
||||
if (this.xBufOff == array4.Length)
|
||||
{
|
||||
ulong[] w = this.W;
|
||||
int num9 = this.wOff;
|
||||
int num10 = 0;
|
||||
ulong num11 = Pack.BE_To_UInt64(array4, num10);
|
||||
w[0] = num11;
|
||||
int num12 = this.wOff;
|
||||
num12++;
|
||||
this.wOff = num12;
|
||||
if (num12 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.xBufOff = num7;
|
||||
}
|
||||
while (num7 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (this.wOff > 14)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.W[14] = (ulong)num2;
|
||||
ulong[] w2 = this.W;
|
||||
this.ProcessBlock();
|
||||
}
|
||||
|
||||
// Token: 0x06009EC6 RID: 40646 RVA: 0x0024A0B0 File Offset: 0x002482B0
|
||||
[Token(Token = "0x6009EC6")]
|
||||
[Address(RVA = "0x21857E0", Offset = "0x21841E0", VA = "0x1821857E0", Slot = "13")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
byte[] array = this.xBuf;
|
||||
int num = 0;
|
||||
this.byteCount1 = (long)num;
|
||||
this.byteCount2 = (long)num;
|
||||
this.xBufOff = num;
|
||||
if (num < array.Length)
|
||||
{
|
||||
num++;
|
||||
byte[] array2 = this.xBuf;
|
||||
}
|
||||
this.wOff = num;
|
||||
ulong[] w = this.W;
|
||||
int length = w.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(w, num2, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009EC7 RID: 40647 RVA: 0x0024A118 File Offset: 0x00248318
|
||||
[Token(Token = "0x6009EC7")]
|
||||
[Address(RVA = "0x2185750", Offset = "0x2184150", VA = "0x182185750")]
|
||||
internal void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
ulong[] w = this.W;
|
||||
int num = this.wOff;
|
||||
ulong num2 = Pack.BE_To_UInt64(input, inOff);
|
||||
w[0] = num2;
|
||||
int num3 = this.wOff;
|
||||
num3++;
|
||||
this.wOff = num3;
|
||||
if (num3 == 16)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EC8 RID: 40648 RVA: 0x0024A168 File Offset: 0x00248368
|
||||
[Token(Token = "0x6009EC8")]
|
||||
[Address(RVA = "0x21844D0", Offset = "0x2182ED0", VA = "0x1821844D0")]
|
||||
private void AdjustByteCounts()
|
||||
{
|
||||
long num = this.byteCount1;
|
||||
ulong num2;
|
||||
if (num > (long)num2)
|
||||
{
|
||||
this.byteCount1 = num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EC9 RID: 40649 RVA: 0x0024A188 File Offset: 0x00248388
|
||||
[Token(Token = "0x6009EC9")]
|
||||
[Address(RVA = "0x21856C0", Offset = "0x21840C0", VA = "0x1821856C0")]
|
||||
internal void ProcessLength(long lowW, long hiW)
|
||||
{
|
||||
if (this.wOff > 14)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.W[14] = (ulong)hiW;
|
||||
this.W[15] = (ulong)lowW;
|
||||
}
|
||||
|
||||
// Token: 0x06009ECA RID: 40650 RVA: 0x0024A1C8 File Offset: 0x002483C8
|
||||
[Token(Token = "0x6009ECA")]
|
||||
[Address(RVA = "0x2184AB0", Offset = "0x21834B0", VA = "0x182184AB0")]
|
||||
internal void ProcessBlock()
|
||||
{
|
||||
long num = this.byteCount1;
|
||||
ulong num2;
|
||||
if (num > (long)num2)
|
||||
{
|
||||
this.byteCount1 = num;
|
||||
}
|
||||
ulong[] w = this.W;
|
||||
ulong[] w2 = this.W;
|
||||
int length = w2.Length;
|
||||
ulong num3 = w2[(int)num2];
|
||||
uint num4;
|
||||
num4 += (uint)1;
|
||||
num3 += num3;
|
||||
w[0] = num3;
|
||||
while (num4 <= (uint)79)
|
||||
{
|
||||
}
|
||||
ulong num5 = this.H4;
|
||||
int num6 = 0;
|
||||
ulong num7 = this.H3;
|
||||
ulong num8 = this.H5;
|
||||
ulong num9 = this.H1;
|
||||
ulong num10 = this.H2;
|
||||
ulong num11 = this.H6;
|
||||
ulong num12 = this.H7;
|
||||
ulong num13 = this.H8;
|
||||
num8 = num3;
|
||||
int length2 = LongDigest.K.Length;
|
||||
int length3 = this.W.Length;
|
||||
num3 = num8;
|
||||
num8 = num11;
|
||||
num3 += num8;
|
||||
num13 += num3;
|
||||
num3 = num9;
|
||||
num13 = num10;
|
||||
num13 += num3;
|
||||
num3 = num5;
|
||||
num13 = num5;
|
||||
num3 += num5;
|
||||
num8 = num13;
|
||||
num12 += num3;
|
||||
num3 = num13;
|
||||
num13 += num12;
|
||||
num13 += num3;
|
||||
num3 = num7;
|
||||
num13 = num7;
|
||||
num3 += num7;
|
||||
num11 += num3;
|
||||
num10 += num11;
|
||||
num3 = num13;
|
||||
num5 = num13;
|
||||
num7 = num13;
|
||||
num11 += num7;
|
||||
num11 += num3;
|
||||
num6 += 3;
|
||||
num3 = num10;
|
||||
num13 = num10;
|
||||
num7 = num10;
|
||||
num3 += num7;
|
||||
num8 += num3;
|
||||
num9 += num8;
|
||||
num3 = num11;
|
||||
num8 = num13;
|
||||
num8 += num3;
|
||||
num3 = num9;
|
||||
num9 = num10;
|
||||
num7 = num9;
|
||||
num3 += num7;
|
||||
num5 += num3;
|
||||
num3 = num8;
|
||||
num8 = num11;
|
||||
num8 += num3;
|
||||
num6 += 5;
|
||||
num3 = num13;
|
||||
num8 = num13;
|
||||
num3 += num13;
|
||||
num13 = num8;
|
||||
num7 += num3;
|
||||
num3 = num8;
|
||||
num8 += num7;
|
||||
num8 += num3;
|
||||
num3 = num13;
|
||||
num8 = num13;
|
||||
num3 += num8;
|
||||
num10 += num3;
|
||||
num11 += num10;
|
||||
num3 = num8;
|
||||
num10 += num8;
|
||||
num10 += num3;
|
||||
num6 += 7;
|
||||
num3 = num11;
|
||||
num6 += 8;
|
||||
num8 = num10;
|
||||
num3 += num8;
|
||||
num8 = num10;
|
||||
num9 += num3;
|
||||
num8 += num9;
|
||||
num3 = num10;
|
||||
num8 = num10;
|
||||
num9 += num8;
|
||||
num6++;
|
||||
num9 += num3;
|
||||
int num14 = 0;
|
||||
ulong[] w3 = this.W;
|
||||
this.H5 = num8;
|
||||
this.H6 = num8;
|
||||
this.H7 = num8;
|
||||
Array.Clear(w3, num14, 16);
|
||||
}
|
||||
|
||||
// Token: 0x06009ECB RID: 40651 RVA: 0x0024A4F0 File Offset: 0x002486F0
|
||||
[Token(Token = "0x6009ECB")]
|
||||
[Address(RVA = "0x7062E0", Offset = "0x704CE0", VA = "0x1807062E0")]
|
||||
private static ulong Ch(ulong x, ulong y, ulong z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009ECC RID: 40652 RVA: 0x0024A500 File Offset: 0x00248700
|
||||
[Token(Token = "0x6009ECC")]
|
||||
[Address(RVA = "0x706520", Offset = "0x704F20", VA = "0x180706520")]
|
||||
private static ulong Maj(ulong x, ulong y, ulong z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x06009ECD RID: 40653 RVA: 0x0024A510 File Offset: 0x00248710
|
||||
[Token(Token = "0x6009ECD")]
|
||||
[Address(RVA = "0x21858D0", Offset = "0x21842D0", VA = "0x1821858D0")]
|
||||
private static ulong Sum0(ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009ECE RID: 40654 RVA: 0x0024A520 File Offset: 0x00248720
|
||||
[Token(Token = "0x6009ECE")]
|
||||
[Address(RVA = "0x2185910", Offset = "0x2184310", VA = "0x182185910")]
|
||||
private static ulong Sum1(ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009ECF RID: 40655 RVA: 0x0024A530 File Offset: 0x00248730
|
||||
[Token(Token = "0x6009ECF")]
|
||||
[Address(RVA = "0x2185870", Offset = "0x2184270", VA = "0x182185870")]
|
||||
private static ulong Sigma0(ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009ED0 RID: 40656 RVA: 0x0024A540 File Offset: 0x00248740
|
||||
[Token(Token = "0x6009ED0")]
|
||||
[Address(RVA = "0x21858A0", Offset = "0x21842A0", VA = "0x1821858A0")]
|
||||
private static ulong Sigma1(ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009ED1 RID: 40657 RVA: 0x0024A550 File Offset: 0x00248750
|
||||
[Token(Token = "0x6009ED1")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return this.MyByteLength;
|
||||
}
|
||||
|
||||
// Token: 0x17001910 RID: 6416
|
||||
// (get) Token: 0x06009ED2 RID: 40658
|
||||
[Token(Token = "0x17001910")]
|
||||
public abstract string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009ED2")]
|
||||
[Address(Slot = "14")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x06009ED3 RID: 40659
|
||||
[Token(Token = "0x6009ED3")]
|
||||
[Address(Slot = "15")]
|
||||
public abstract int GetDigestSize();
|
||||
|
||||
// Token: 0x06009ED4 RID: 40660
|
||||
[Token(Token = "0x6009ED4")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract int DoFinal(byte[] output, int outOff);
|
||||
|
||||
// Token: 0x06009ED5 RID: 40661
|
||||
[Token(Token = "0x6009ED5")]
|
||||
[Address(Slot = "17")]
|
||||
public abstract IMemoable Copy();
|
||||
|
||||
// Token: 0x06009ED6 RID: 40662
|
||||
[Token(Token = "0x6009ED6")]
|
||||
[Address(Slot = "18")]
|
||||
public abstract void Reset(IMemoable t);
|
||||
|
||||
// Token: 0x06009ED7 RID: 40663 RVA: 0x0024A564 File Offset: 0x00248764
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009ED7")]
|
||||
[Address(RVA = "0x21859C0", Offset = "0x21843C0", VA = "0x1821859C0")]
|
||||
static LongDigest()
|
||||
{
|
||||
ulong[] array = new ulong[80];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.90A0542282A011472F94E97CEAE59F8B3B1A3291).FieldHandle);
|
||||
LongDigest.K = array;
|
||||
}
|
||||
|
||||
// Token: 0x0400685C RID: 26716
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400685C")]
|
||||
private int MyByteLength = (int)((ulong)128L);
|
||||
|
||||
// Token: 0x0400685D RID: 26717
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400685D")]
|
||||
private byte[] xBuf;
|
||||
|
||||
// Token: 0x0400685E RID: 26718
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400685E")]
|
||||
private int xBufOff;
|
||||
|
||||
// Token: 0x0400685F RID: 26719
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400685F")]
|
||||
private long byteCount1;
|
||||
|
||||
// Token: 0x04006860 RID: 26720
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006860")]
|
||||
private long byteCount2;
|
||||
|
||||
// Token: 0x04006861 RID: 26721
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006861")]
|
||||
internal ulong H1;
|
||||
|
||||
// Token: 0x04006862 RID: 26722
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006862")]
|
||||
internal ulong H2;
|
||||
|
||||
// Token: 0x04006863 RID: 26723
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006863")]
|
||||
internal ulong H3;
|
||||
|
||||
// Token: 0x04006864 RID: 26724
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006864")]
|
||||
internal ulong H4;
|
||||
|
||||
// Token: 0x04006865 RID: 26725
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006865")]
|
||||
internal ulong H5;
|
||||
|
||||
// Token: 0x04006866 RID: 26726
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006866")]
|
||||
internal ulong H6;
|
||||
|
||||
// Token: 0x04006867 RID: 26727
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006867")]
|
||||
internal ulong H7;
|
||||
|
||||
// Token: 0x04006868 RID: 26728
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006868")]
|
||||
internal ulong H8;
|
||||
|
||||
// Token: 0x04006869 RID: 26729
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006869")]
|
||||
private ulong[] W;
|
||||
|
||||
// Token: 0x0400686A RID: 26730
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400686A")]
|
||||
private int wOff;
|
||||
|
||||
// Token: 0x0400686B RID: 26731
|
||||
[Token(Token = "0x400686B")]
|
||||
internal static readonly ulong[] K;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,378 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200170D RID: 5901
|
||||
[Token(Token = "0x200170D")]
|
||||
[StructLayout(3)]
|
||||
public class MD2Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x06009ED8 RID: 40664 RVA: 0x0024A58C File Offset: 0x0024878C
|
||||
[Token(Token = "0x6009ED8")]
|
||||
[Address(RVA = "0x2186640", Offset = "0x2185040", VA = "0x182186640")]
|
||||
public MD2Digest()
|
||||
{
|
||||
byte[] array = new byte[48];
|
||||
this.X = array;
|
||||
byte[] array2 = new byte[16];
|
||||
this.M = array2;
|
||||
byte[] array3 = new byte[16];
|
||||
this.C = array3;
|
||||
base..ctor();
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009ED9 RID: 40665 RVA: 0x0024A5D4 File Offset: 0x002487D4
|
||||
[Token(Token = "0x6009ED9")]
|
||||
[Address(RVA = "0x21866C0", Offset = "0x21850C0", VA = "0x1821866C0")]
|
||||
public MD2Digest(MD2Digest t)
|
||||
{
|
||||
byte[] array = new byte[48];
|
||||
this.X = array;
|
||||
byte[] array2 = new byte[16];
|
||||
this.M = array2;
|
||||
byte[] array3 = new byte[16];
|
||||
this.C = array3;
|
||||
base..ctor();
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009EDA RID: 40666 RVA: 0x0024A61C File Offset: 0x0024881C
|
||||
[Token(Token = "0x6009EDA")]
|
||||
[Address(RVA = "0x2185DB0", Offset = "0x21847B0", VA = "0x182185DB0")]
|
||||
private void CopyIn(MD2Digest t)
|
||||
{
|
||||
byte[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
byte[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
byte[] m = t.M;
|
||||
int length2 = m.Length;
|
||||
int num4 = 0;
|
||||
byte[] m2 = this.M;
|
||||
int num5 = 0;
|
||||
Array.Copy(m, num5, m2, num4, length2);
|
||||
int num6 = t.mOff;
|
||||
this.mOff = num6;
|
||||
byte[] c = t.C;
|
||||
int length3 = c.Length;
|
||||
int num7 = 0;
|
||||
byte[] c2 = this.C;
|
||||
int num8 = 0;
|
||||
Array.Copy(c, num8, c2, num7, length3);
|
||||
int coff = t.COff;
|
||||
this.COff = coff;
|
||||
}
|
||||
|
||||
// Token: 0x17001911 RID: 6417
|
||||
// (get) Token: 0x06009EDB RID: 40667 RVA: 0x0024A6E0 File Offset: 0x002488E0
|
||||
[Token(Token = "0x17001911")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009EDB")]
|
||||
[Address(RVA = "0x2186750", Offset = "0x2185150", VA = "0x182186750", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "MD2";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EDC RID: 40668 RVA: 0x0024A6F4 File Offset: 0x002488F4
|
||||
[Token(Token = "0x6009EDC")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009EDD RID: 40669 RVA: 0x0024A704 File Offset: 0x00248904
|
||||
[Token(Token = "0x6009EDD")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009EDE RID: 40670 RVA: 0x0024A714 File Offset: 0x00248914
|
||||
[Token(Token = "0x6009EDE")]
|
||||
[Address(RVA = "0x2185F30", Offset = "0x2184930", VA = "0x182185F30", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
byte[] m = this.M;
|
||||
int length = m.Length;
|
||||
int num = this.mOff;
|
||||
byte[] m2;
|
||||
if (num < m.Length)
|
||||
{
|
||||
num++;
|
||||
m2 = this.M;
|
||||
}
|
||||
this.ProcessChecksum(m2);
|
||||
byte[] m3 = this.M;
|
||||
this.ProcessBlock(m3);
|
||||
byte[] c = this.C;
|
||||
this.ProcessBlock(c);
|
||||
int num2 = this.xOff;
|
||||
ulong num3;
|
||||
Array.Copy(this.X, num2, output, outOff, (int)num3);
|
||||
this.Reset();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009EDF RID: 40671 RVA: 0x0024A798 File Offset: 0x00248998
|
||||
[Token(Token = "0x6009EDF")]
|
||||
[Address(RVA = "0x21863B0", Offset = "0x2184DB0", VA = "0x1821863B0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
do
|
||||
{
|
||||
int num = 0;
|
||||
this.xOff = num;
|
||||
byte[] x = this.X;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
byte[] x2 = this.X;
|
||||
}
|
||||
byte[] m = this.M;
|
||||
this.mOff = num;
|
||||
if (num != m.Length)
|
||||
{
|
||||
num++;
|
||||
if (this.M != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
byte[] c = this.C;
|
||||
this.COff = num;
|
||||
if (num == c.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
num++;
|
||||
}
|
||||
while (this.C != 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009EE0 RID: 40672 RVA: 0x0024A81C File Offset: 0x00248A1C
|
||||
[Token(Token = "0x6009EE0")]
|
||||
[Address(RVA = "0x2186570", Offset = "0x2184F70", VA = "0x182186570", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] m = this.M;
|
||||
int num = this.mOff + 1;
|
||||
this.mOff = num;
|
||||
if (this.mOff == 16)
|
||||
{
|
||||
byte[] m2 = this.M;
|
||||
this.ProcessChecksum(m2);
|
||||
byte[] m3 = this.M;
|
||||
this.ProcessBlock(m3);
|
||||
this.mOff = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EE1 RID: 40673 RVA: 0x0024A878 File Offset: 0x00248A78
|
||||
[Token(Token = "0x6009EE1")]
|
||||
[Address(RVA = "0x2185BE0", Offset = "0x21845E0", VA = "0x182185BE0", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.mOff;
|
||||
int num3;
|
||||
if (num2 != 0 && length > 0)
|
||||
{
|
||||
byte[] m = this.M;
|
||||
num3 = num2 + 1;
|
||||
this.mOff = num3;
|
||||
num3 = num2;
|
||||
int num4 = this.mOff;
|
||||
if (num4 == 16)
|
||||
{
|
||||
byte[] m2 = this.M;
|
||||
this.ProcessChecksum(m2);
|
||||
byte[] m3 = this.M;
|
||||
this.ProcessBlock(m3);
|
||||
this.mOff = num;
|
||||
}
|
||||
while (num4 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 16)
|
||||
{
|
||||
num3++;
|
||||
byte[] m4 = this.M;
|
||||
int num5 = 0;
|
||||
ulong num6;
|
||||
Array.Copy(input, inOff, m4, num5, (int)num6);
|
||||
byte[] m5 = this.M;
|
||||
this.ProcessChecksum(m5);
|
||||
byte[] m6 = this.M;
|
||||
this.ProcessBlock(m6);
|
||||
while (length != 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int num7 = this.mOff;
|
||||
byte[] m7 = this.M;
|
||||
num3 = inOff;
|
||||
int num8 = num7 + 1;
|
||||
this.mOff = num8;
|
||||
if (this.mOff == 16)
|
||||
{
|
||||
byte[] m8 = this.M;
|
||||
this.ProcessChecksum(m8);
|
||||
byte[] m9 = this.M;
|
||||
this.ProcessBlock(m9);
|
||||
this.mOff = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EE2 RID: 40674 RVA: 0x0024A98C File Offset: 0x00248B8C
|
||||
[Token(Token = "0x6009EE2")]
|
||||
[Address(RVA = "0x2186230", Offset = "0x2184C30", VA = "0x182186230")]
|
||||
internal void ProcessChecksum(byte[] m)
|
||||
{
|
||||
byte b = this.C[1];
|
||||
int num = 0;
|
||||
byte[] s = MD2Digest.S;
|
||||
byte[] c = this.C;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x06009EE3 RID: 40675 RVA: 0x0024A9C0 File Offset: 0x00248BC0
|
||||
[Token(Token = "0x6009EE3")]
|
||||
[Address(RVA = "0x2186020", Offset = "0x2184A20", VA = "0x182186020")]
|
||||
internal void ProcessBlock(byte[] m)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] x = this.X;
|
||||
int length = this.X.Length;
|
||||
num++;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
byte[] x2 = this.X;
|
||||
num3 += x2;
|
||||
byte[] s = MD2Digest.S;
|
||||
num3++;
|
||||
byte b = (byte)((int)b + num2);
|
||||
if (num3 < 48)
|
||||
{
|
||||
}
|
||||
num2++;
|
||||
}
|
||||
|
||||
// Token: 0x06009EE4 RID: 40676 RVA: 0x0024AA24 File Offset: 0x00248C24
|
||||
[Token(Token = "0x6009EE4")]
|
||||
[Address(RVA = "0x2185E70", Offset = "0x2184870", VA = "0x182185E70", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009EE4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.MD2Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:MD2Digest(var_0_05, newobj:MD2Digest(MD2Digest::.ctor))
|
||||
stloc:uint8[](var_1_0D, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(48)))
|
||||
stfld:uint8[](MD2Digest::X, ldloc:MD2Digest(var_0_05), ldloc:uint8[](var_1_0D))
|
||||
stloc:uint8[](var_2_1C, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(16)))
|
||||
stfld:uint8[](MD2Digest::M, ldloc:MD2Digest(var_0_05), ldloc:uint8[](var_2_1C))
|
||||
stloc:uint8[](var_3_2B, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(16)))
|
||||
stfld:uint8[](MD2Digest::C, ldloc:MD2Digest(var_0_05), ldloc:uint8[](var_3_2B))
|
||||
call:void(MD2Digest::CopyIn, ldloc:MD2Digest(var_0_05), ldloc:MD2Digest(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: 0x06009EE5 RID: 40677 RVA: 0x0024AA6C File Offset: 0x00248C6C
|
||||
[Token(Token = "0x6009EE5")]
|
||||
[Address(RVA = "0x21864D0", Offset = "0x2184ED0", VA = "0x1821864D0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009EE6 RID: 40678 RVA: 0x0024AA84 File Offset: 0x00248C84
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009EE6")]
|
||||
[Address(RVA = "0x21865E0", Offset = "0x2184FE0", VA = "0x1821865E0")]
|
||||
static MD2Digest()
|
||||
{
|
||||
byte[] array = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.D2C5BAE967587C6F3D9F2C4551911E0575A1101F).FieldHandle);
|
||||
MD2Digest.S = array;
|
||||
}
|
||||
|
||||
// Token: 0x0400686C RID: 26732
|
||||
[Token(Token = "0x400686C")]
|
||||
private const int DigestLength = 16;
|
||||
|
||||
// Token: 0x0400686D RID: 26733
|
||||
[Token(Token = "0x400686D")]
|
||||
private const int BYTE_LENGTH = 16;
|
||||
|
||||
// Token: 0x0400686E RID: 26734
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400686E")]
|
||||
private byte[] X;
|
||||
|
||||
// Token: 0x0400686F RID: 26735
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400686F")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x04006870 RID: 26736
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006870")]
|
||||
private byte[] M;
|
||||
|
||||
// Token: 0x04006871 RID: 26737
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006871")]
|
||||
private int mOff;
|
||||
|
||||
// Token: 0x04006872 RID: 26738
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006872")]
|
||||
private byte[] C;
|
||||
|
||||
// Token: 0x04006873 RID: 26739
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006873")]
|
||||
private int COff;
|
||||
|
||||
// Token: 0x04006874 RID: 26740
|
||||
[Token(Token = "0x4006874")]
|
||||
private static readonly byte[] S;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,476 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200170E RID: 5902
|
||||
[Token(Token = "0x200170E")]
|
||||
[StructLayout(3)]
|
||||
public class MD4Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x06009EE7 RID: 40679 RVA: 0x0024AAB0 File Offset: 0x00248CB0
|
||||
[Token(Token = "0x6009EE7")]
|
||||
[Address(RVA = "0x21879D0", Offset = "0x21863D0", VA = "0x1821879D0")]
|
||||
public MD4Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[4];
|
||||
this.xBuf = array2;
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009EE8 RID: 40680 RVA: 0x0024AAE8 File Offset: 0x00248CE8
|
||||
[Token(Token = "0x6009EE8")]
|
||||
[Address(RVA = "0x21878F0", Offset = "0x21862F0", VA = "0x1821878F0")]
|
||||
public MD4Digest(MD4Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
byte[] array2 = new byte[t.xBuf.Length];
|
||||
this.xBuf = array2;
|
||||
byte[] xBuf = t.xBuf;
|
||||
int length = xBuf.Length;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(xBuf, num2, array2, num, length);
|
||||
int xBufOff = t.xBufOff;
|
||||
this.xBufOff = xBufOff;
|
||||
long byteCount = t.byteCount;
|
||||
this.byteCount = byteCount;
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009EE9 RID: 40681 RVA: 0x0024AB70 File Offset: 0x00248D70
|
||||
[Token(Token = "0x6009EE9")]
|
||||
[Address(RVA = "0x2186780", Offset = "0x2185180", VA = "0x182186780")]
|
||||
private void CopyIn(MD4Digest t)
|
||||
{
|
||||
byte[] xBuf = t.xBuf;
|
||||
int length = xBuf.Length;
|
||||
int num = 0;
|
||||
byte[] xBuf2 = this.xBuf;
|
||||
int num2 = 0;
|
||||
Array.Copy(xBuf, num2, xBuf2, num, length);
|
||||
int xBufOff = t.xBufOff;
|
||||
this.xBufOff = xBufOff;
|
||||
long byteCount = t.byteCount;
|
||||
this.byteCount = byteCount;
|
||||
int h = t.H1;
|
||||
this.H1 = h;
|
||||
int h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
int h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
int h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
int[] x = t.X;
|
||||
int length2 = x.Length;
|
||||
int num3 = 0;
|
||||
int[] x2 = this.X;
|
||||
int num4 = 0;
|
||||
Array.Copy(x, num4, x2, num3, length2);
|
||||
int num5 = t.xOff;
|
||||
this.xOff = num5;
|
||||
}
|
||||
|
||||
// Token: 0x17001912 RID: 6418
|
||||
// (get) Token: 0x06009EEA RID: 40682 RVA: 0x0024AC48 File Offset: 0x00248E48
|
||||
[Token(Token = "0x17001912")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009EEA")]
|
||||
[Address(RVA = "0x2187A60", Offset = "0x2186460", VA = "0x182187A60", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "MD4";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EEB RID: 40683 RVA: 0x0024AC5C File Offset: 0x00248E5C
|
||||
[Token(Token = "0x6009EEB")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009EEC RID: 40684 RVA: 0x0024AC6C File Offset: 0x00248E6C
|
||||
[Token(Token = "0x6009EEC")]
|
||||
[Address(RVA = "0x21875E0", Offset = "0x2185FE0", VA = "0x1821875E0", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EED RID: 40685 RVA: 0x0024ACB8 File Offset: 0x00248EB8
|
||||
[Token(Token = "0x6009EED")]
|
||||
[Address(RVA = "0x2187560", Offset = "0x2185F60", VA = "0x182187560", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009EEE RID: 40686 RVA: 0x0024ACF0 File Offset: 0x00248EF0
|
||||
[Token(Token = "0x6009EEE")]
|
||||
[Address(RVA = "0x2187850", Offset = "0x2186250", VA = "0x182187850")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x06009EEF RID: 40687 RVA: 0x0024AD08 File Offset: 0x00248F08
|
||||
[Token(Token = "0x6009EEF")]
|
||||
[Address(RVA = "0x2186940", Offset = "0x2185340", VA = "0x182186940", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H1;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H2;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H3;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H4;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009EF0 RID: 40688 RVA: 0x0024AD80 File Offset: 0x00248F80
|
||||
[Token(Token = "0x6009EF0")]
|
||||
[Address(RVA = "0x2187700", Offset = "0x2186100", VA = "0x182187700", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
int num = 0;
|
||||
this.byteCount = (long)num;
|
||||
this.xBufOff = num;
|
||||
byte[] xBuf = this.xBuf;
|
||||
int length = xBuf.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(xBuf, num2, length);
|
||||
int[] x = this.X;
|
||||
this.H1 = (int)((ulong)1732584193L);
|
||||
this.H2 = (int)((ulong)4023233417L);
|
||||
this.H3 = (int)((ulong)2562383102L);
|
||||
this.H4 = (int)((ulong)271733878L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EF1 RID: 40689 RVA: 0x0024AE24 File Offset: 0x00249024
|
||||
[Token(Token = "0x6009EF1")]
|
||||
[Address(RVA = "0x2128700", Offset = "0x2127100", VA = "0x182128700")]
|
||||
private int RotateLeft(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009EF2 RID: 40690 RVA: 0x0024AE34 File Offset: 0x00249034
|
||||
[Token(Token = "0x6009EF2")]
|
||||
[Address(RVA = "0xB6B770", Offset = "0xB6A170", VA = "0x180B6B770")]
|
||||
private int F(int u, int v, int w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x06009EF3 RID: 40691 RVA: 0x0024AE44 File Offset: 0x00249044
|
||||
[Token(Token = "0x6009EF3")]
|
||||
[Address(RVA = "0xB6B7D0", Offset = "0xB6A1D0", VA = "0x180B6B7D0")]
|
||||
private int G(int u, int v, int w)
|
||||
{
|
||||
return v;
|
||||
}
|
||||
|
||||
// Token: 0x06009EF4 RID: 40692 RVA: 0x0024AE54 File Offset: 0x00249054
|
||||
[Token(Token = "0x6009EF4")]
|
||||
[Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")]
|
||||
private int H(int u, int v, int w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x06009EF5 RID: 40693 RVA: 0x0024AE64 File Offset: 0x00249064
|
||||
[Token(Token = "0x6009EF5")]
|
||||
[Address(RVA = "0x2186B80", Offset = "0x2185580", VA = "0x182186B80", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
int[] x = this.X;
|
||||
int num = this.H2;
|
||||
int num2 = this.H3;
|
||||
int h = this.H4;
|
||||
int h2 = this.H1;
|
||||
int num3 = x.Length;
|
||||
num += h2;
|
||||
num += h;
|
||||
num2 = num;
|
||||
num += num2;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
int num4 = x[6];
|
||||
num += num4;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num += num;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += 1518500249;
|
||||
num2 += num4;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num2 = num;
|
||||
num2 += 1518500249;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += 1518500249;
|
||||
num2 += num;
|
||||
num4 = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num4;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += 1518500249;
|
||||
num2 += num4;
|
||||
num3 = num2;
|
||||
num2 = num;
|
||||
num += 1859775393;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num2 = num3;
|
||||
num += num2;
|
||||
num2 = num;
|
||||
num3 = num;
|
||||
num += num2;
|
||||
num2 = num3;
|
||||
num += num2;
|
||||
num2 += num3;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num += num2;
|
||||
num2 = num;
|
||||
num3 = num;
|
||||
num += num2;
|
||||
num2 = num3;
|
||||
num += num2;
|
||||
num2 += num3;
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num += num2;
|
||||
num4 = num;
|
||||
num2 = num4;
|
||||
num3 = num4;
|
||||
num += num2;
|
||||
num = num3;
|
||||
num += 1859775393;
|
||||
num += num;
|
||||
num2 += num3;
|
||||
num = num2;
|
||||
num += 1859775393;
|
||||
num += num4;
|
||||
num2 = num;
|
||||
num += num2;
|
||||
num += 1859775393;
|
||||
this.H1 = num2;
|
||||
num += num;
|
||||
num2 = num;
|
||||
num2 += num;
|
||||
this.H2 = num2;
|
||||
this.H3 = num2;
|
||||
int num5 = 0;
|
||||
this.H4 = num2;
|
||||
this.xOff = num5;
|
||||
if (num5 != x.Length)
|
||||
{
|
||||
num5++;
|
||||
x[0] = num5;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EF6 RID: 40694 RVA: 0x0024B0A4 File Offset: 0x002492A4
|
||||
[Token(Token = "0x6009EF6")]
|
||||
[Address(RVA = "0x2186830", Offset = "0x2185230", VA = "0x182186830", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
MD4Digest md4Digest = new MD4Digest();
|
||||
int[] array = new int[16];
|
||||
md4Digest.X = array;
|
||||
byte[] array2 = new byte[this.xBuf.Length];
|
||||
md4Digest.xBuf = array2;
|
||||
byte[] xBuf = this.xBuf;
|
||||
int length = xBuf.Length;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(xBuf, num2, array2, num, length);
|
||||
int xBufOff = this.xBufOff;
|
||||
md4Digest.xBufOff = xBufOff;
|
||||
long byteCount = this.byteCount;
|
||||
md4Digest.byteCount = byteCount;
|
||||
md4Digest.CopyIn(this);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009EF7 RID: 40695 RVA: 0x0024B12C File Offset: 0x0024932C
|
||||
[Token(Token = "0x6009EF7")]
|
||||
[Address(RVA = "0x21877B0", Offset = "0x21861B0", VA = "0x1821877B0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x04006875 RID: 26741
|
||||
[Token(Token = "0x4006875")]
|
||||
private const int DigestLength = 16;
|
||||
|
||||
// Token: 0x04006876 RID: 26742
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006876")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x04006877 RID: 26743
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x4006877")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x04006878 RID: 26744
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006878")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x04006879 RID: 26745
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x4006879")]
|
||||
private int H4;
|
||||
|
||||
// Token: 0x0400687A RID: 26746
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400687A")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x0400687B RID: 26747
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400687B")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x0400687C RID: 26748
|
||||
[Token(Token = "0x400687C")]
|
||||
private const int S11 = 3;
|
||||
|
||||
// Token: 0x0400687D RID: 26749
|
||||
[Token(Token = "0x400687D")]
|
||||
private const int S12 = 7;
|
||||
|
||||
// Token: 0x0400687E RID: 26750
|
||||
[Token(Token = "0x400687E")]
|
||||
private const int S13 = 11;
|
||||
|
||||
// Token: 0x0400687F RID: 26751
|
||||
[Token(Token = "0x400687F")]
|
||||
private const int S14 = 19;
|
||||
|
||||
// Token: 0x04006880 RID: 26752
|
||||
[Token(Token = "0x4006880")]
|
||||
private const int S21 = 3;
|
||||
|
||||
// Token: 0x04006881 RID: 26753
|
||||
[Token(Token = "0x4006881")]
|
||||
private const int S22 = 5;
|
||||
|
||||
// Token: 0x04006882 RID: 26754
|
||||
[Token(Token = "0x4006882")]
|
||||
private const int S23 = 9;
|
||||
|
||||
// Token: 0x04006883 RID: 26755
|
||||
[Token(Token = "0x4006883")]
|
||||
private const int S24 = 13;
|
||||
|
||||
// Token: 0x04006884 RID: 26756
|
||||
[Token(Token = "0x4006884")]
|
||||
private const int S31 = 3;
|
||||
|
||||
// Token: 0x04006885 RID: 26757
|
||||
[Token(Token = "0x4006885")]
|
||||
private const int S32 = 9;
|
||||
|
||||
// Token: 0x04006886 RID: 26758
|
||||
[Token(Token = "0x4006886")]
|
||||
private const int S33 = 11;
|
||||
|
||||
// Token: 0x04006887 RID: 26759
|
||||
[Token(Token = "0x4006887")]
|
||||
private const int S34 = 15;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,347 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200170F RID: 5903
|
||||
[Token(Token = "0x200170F")]
|
||||
[StructLayout(3)]
|
||||
public class MD5Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x06009EF8 RID: 40696 RVA: 0x0024B144 File Offset: 0x00249344
|
||||
[Token(Token = "0x6009EF8")]
|
||||
[Address(RVA = "0x2241BC0", Offset = "0x22405C0", VA = "0x182241BC0")]
|
||||
public MD5Digest()
|
||||
{
|
||||
uint[] array = new uint[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009EF9 RID: 40697 RVA: 0x0024B170 File Offset: 0x00249370
|
||||
[Token(Token = "0x6009EF9")]
|
||||
[Address(RVA = "0x2241C20", Offset = "0x2240620", VA = "0x182241C20")]
|
||||
public MD5Digest(MD5Digest t)
|
||||
{
|
||||
uint[] array = new uint[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009EFA RID: 40698 RVA: 0x0024B19C File Offset: 0x0024939C
|
||||
[Token(Token = "0x6009EFA")]
|
||||
[Address(RVA = "0x2240580", Offset = "0x223EF80", VA = "0x182240580")]
|
||||
private void CopyIn(MD5Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
uint h = t.H1;
|
||||
this.H1 = h;
|
||||
uint h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
uint h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
uint h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
uint[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
uint[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001913 RID: 6419
|
||||
// (get) Token: 0x06009EFB RID: 40699 RVA: 0x0024B22C File Offset: 0x0024942C
|
||||
[Token(Token = "0x17001913")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009EFB")]
|
||||
[Address(RVA = "0x2241C90", Offset = "0x2240690", VA = "0x182241C90", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "MD5";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EFC RID: 40700 RVA: 0x0024B240 File Offset: 0x00249440
|
||||
[Token(Token = "0x6009EFC")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009EFD RID: 40701 RVA: 0x0024B250 File Offset: 0x00249450
|
||||
[Token(Token = "0x6009EFD")]
|
||||
[Address(RVA = "0x2241880", Offset = "0x2240280", VA = "0x182241880", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int num = this.xOff;
|
||||
x[0] = (uint)inOff;
|
||||
int num2 = this.xOff;
|
||||
num2++;
|
||||
this.xOff = num2;
|
||||
if (num2 == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009EFE RID: 40702 RVA: 0x0024B290 File Offset: 0x00249490
|
||||
[Token(Token = "0x6009EFE")]
|
||||
[Address(RVA = "0x2241790", Offset = "0x2240190", VA = "0x182241790", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int num2 = 0;
|
||||
if (num > 14 && num == 15)
|
||||
{
|
||||
this.X[7] = (uint)num2;
|
||||
}
|
||||
int num3 = this.xOff;
|
||||
if (num3 < 14)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
num3++;
|
||||
x[0] = (uint)num2;
|
||||
}
|
||||
this.X[7] = (uint)bitLength;
|
||||
this.X[7] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009EFF RID: 40703 RVA: 0x0024B300 File Offset: 0x00249500
|
||||
[Token(Token = "0x6009EFF")]
|
||||
[Address(RVA = "0x22406A0", Offset = "0x223F0A0", VA = "0x1822406A0", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Ed25519.Encode32(this.H1, output, outOff);
|
||||
Ed25519.Encode32(this.H2, output, outOff);
|
||||
Ed25519.Encode32(this.H3, output, outOff);
|
||||
Ed25519.Encode32(this.H4, output, outOff);
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009F00 RID: 40704 RVA: 0x0024B34C File Offset: 0x0024954C
|
||||
[Token(Token = "0x6009F00")]
|
||||
[Address(RVA = "0x2241910", Offset = "0x2240310", VA = "0x182241910", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] x = this.X;
|
||||
int num = 0;
|
||||
this.H1 = (uint)((ulong)1732584193L);
|
||||
this.H2 = (uint)((ulong)4023233417L);
|
||||
this.H3 = (uint)((ulong)2562383102L);
|
||||
this.H4 = (uint)((ulong)271733878L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = (uint)num;
|
||||
uint[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F01 RID: 40705 RVA: 0x0024B3CC File Offset: 0x002495CC
|
||||
[Token(Token = "0x6009F01")]
|
||||
[Address(RVA = "0x21009B0", Offset = "0x20FF3B0", VA = "0x1821009B0")]
|
||||
private static uint RotateLeft(uint x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F02 RID: 40706 RVA: 0x0024B3DC File Offset: 0x002495DC
|
||||
[Token(Token = "0x6009F02")]
|
||||
[Address(RVA = "0xA94430", Offset = "0xA92E30", VA = "0x180A94430")]
|
||||
private static uint F(uint u, uint v, uint w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x06009F03 RID: 40707 RVA: 0x0024B3EC File Offset: 0x002495EC
|
||||
[Token(Token = "0x6009F03")]
|
||||
[Address(RVA = "0xA94470", Offset = "0xA92E70", VA = "0x180A94470")]
|
||||
private static uint G(uint u, uint v, uint w)
|
||||
{
|
||||
return w;
|
||||
}
|
||||
|
||||
// Token: 0x06009F04 RID: 40708 RVA: 0x0024B3FC File Offset: 0x002495FC
|
||||
[Token(Token = "0x6009F04")]
|
||||
[Address(RVA = "0xA94420", Offset = "0xA92E20", VA = "0x180A94420")]
|
||||
private static uint H(uint u, uint v, uint w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x06009F05 RID: 40709 RVA: 0x0024B40C File Offset: 0x0024960C
|
||||
[Token(Token = "0x6009F05")]
|
||||
[Address(RVA = "0x2240730", Offset = "0x223F130", VA = "0x182240730")]
|
||||
private static uint K(uint u, uint v, uint w)
|
||||
{
|
||||
return w;
|
||||
}
|
||||
|
||||
// Token: 0x06009F06 RID: 40710 RVA: 0x0024B41C File Offset: 0x0024961C
|
||||
[Token(Token = "0x6009F06")]
|
||||
[Address(RVA = "0x2240740", Offset = "0x223F140", VA = "0x182240740", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
uint h = this.H2;
|
||||
uint[] x = this.X;
|
||||
int length = x.Length;
|
||||
int num = MD5Digest.S21;
|
||||
uint num2 = x[7];
|
||||
num += -2022574463;
|
||||
}
|
||||
|
||||
// Token: 0x06009F07 RID: 40711 RVA: 0x0024B45C File Offset: 0x0024965C
|
||||
[Token(Token = "0x6009F07")]
|
||||
[Address(RVA = "0x2240600", Offset = "0x223F000", VA = "0x182240600", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F07)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.MD5Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:MD5Digest(var_0_06, newobj:MD5Digest(MD5Digest::.ctor, ldloc:MD5Digest(this)))
|
||||
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(16)))
|
||||
stfld:uint32[](MD5Digest::X, ldloc:MD5Digest(var_0_06), ldloc:uint32[](var_1_0E))
|
||||
call:void(MD5Digest::CopyIn, ldloc:MD5Digest(var_0_06), ldloc:MD5Digest(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: 0x06009F08 RID: 40712 RVA: 0x0024B488 File Offset: 0x00249688
|
||||
[Token(Token = "0x6009F08")]
|
||||
[Address(RVA = "0x22419A0", Offset = "0x22403A0", VA = "0x1822419A0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x04006888 RID: 26760
|
||||
[Token(Token = "0x4006888")]
|
||||
private const int DigestLength = 16;
|
||||
|
||||
// Token: 0x04006889 RID: 26761
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006889")]
|
||||
private uint H1;
|
||||
|
||||
// Token: 0x0400688A RID: 26762
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x400688A")]
|
||||
private uint H2;
|
||||
|
||||
// Token: 0x0400688B RID: 26763
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400688B")]
|
||||
private uint H3;
|
||||
|
||||
// Token: 0x0400688C RID: 26764
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x400688C")]
|
||||
private uint H4;
|
||||
|
||||
// Token: 0x0400688D RID: 26765
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400688D")]
|
||||
private uint[] X;
|
||||
|
||||
// Token: 0x0400688E RID: 26766
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400688E")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x0400688F RID: 26767
|
||||
[Token(Token = "0x400688F")]
|
||||
private static readonly int S11;
|
||||
|
||||
// Token: 0x04006890 RID: 26768
|
||||
[Token(Token = "0x4006890")]
|
||||
private static readonly int S12;
|
||||
|
||||
// Token: 0x04006891 RID: 26769
|
||||
[Token(Token = "0x4006891")]
|
||||
private static readonly int S13;
|
||||
|
||||
// Token: 0x04006892 RID: 26770
|
||||
[Token(Token = "0x4006892")]
|
||||
private static readonly int S14;
|
||||
|
||||
// Token: 0x04006893 RID: 26771
|
||||
[Token(Token = "0x4006893")]
|
||||
private static readonly int S21;
|
||||
|
||||
// Token: 0x04006894 RID: 26772
|
||||
[Token(Token = "0x4006894")]
|
||||
private static readonly int S22;
|
||||
|
||||
// Token: 0x04006895 RID: 26773
|
||||
[Token(Token = "0x4006895")]
|
||||
private static readonly int S23;
|
||||
|
||||
// Token: 0x04006896 RID: 26774
|
||||
[Token(Token = "0x4006896")]
|
||||
private static readonly int S24;
|
||||
|
||||
// Token: 0x04006897 RID: 26775
|
||||
[Token(Token = "0x4006897")]
|
||||
private static readonly int S31;
|
||||
|
||||
// Token: 0x04006898 RID: 26776
|
||||
[Token(Token = "0x4006898")]
|
||||
private static readonly int S32;
|
||||
|
||||
// Token: 0x04006899 RID: 26777
|
||||
[Token(Token = "0x4006899")]
|
||||
private static readonly int S33;
|
||||
|
||||
// Token: 0x0400689A RID: 26778
|
||||
[Token(Token = "0x400689A")]
|
||||
private static readonly int S34;
|
||||
|
||||
// Token: 0x0400689B RID: 26779
|
||||
[Token(Token = "0x400689B")]
|
||||
private static readonly int S41;
|
||||
|
||||
// Token: 0x0400689C RID: 26780
|
||||
[Token(Token = "0x400689C")]
|
||||
private static readonly int S42;
|
||||
|
||||
// Token: 0x0400689D RID: 26781
|
||||
[Token(Token = "0x400689D")]
|
||||
private static readonly int S43;
|
||||
|
||||
// Token: 0x0400689E RID: 26782
|
||||
[Token(Token = "0x400689E")]
|
||||
private static readonly int S44;
|
||||
}
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001710 RID: 5904
|
||||
[Token(Token = "0x2001710")]
|
||||
[StructLayout(3)]
|
||||
public class NonMemoableDigest : IDigest
|
||||
{
|
||||
// Token: 0x06009F0A RID: 40714 RVA: 0x0024B4B0 File Offset: 0x002496B0
|
||||
[Token(Token = "0x6009F0A")]
|
||||
[Address(RVA = "0x2241F00", Offset = "0x2240900", VA = "0x182241F00")]
|
||||
public NonMemoableDigest(IDigest baseDigest)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F0A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.NonMemoableDigest::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("baseDigest")))
|
||||
}
|
||||
|
||||
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: 0x17001914 RID: 6420
|
||||
// (get) Token: 0x06009F0B RID: 40715 RVA: 0x0024B4DC File Offset: 0x002496DC
|
||||
[Token(Token = "0x17001914")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F0B")]
|
||||
[Address(RVA = "0x2241F80", Offset = "0x2240980", VA = "0x182241F80", Slot = "11")]
|
||||
get
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F0C RID: 40716 RVA: 0x0024B4F8 File Offset: 0x002496F8
|
||||
[Token(Token = "0x6009F0C")]
|
||||
[Address(RVA = "0x2241E00", Offset = "0x2240800", VA = "0x182241E00", Slot = "12")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F0D RID: 40717 RVA: 0x0024B514 File Offset: 0x00249714
|
||||
[Token(Token = "0x6009F0D")]
|
||||
[Address(RVA = "0x2241EA0", Offset = "0x22408A0", VA = "0x182241EA0", Slot = "13")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F0E RID: 40718 RVA: 0x0024B530 File Offset: 0x00249730
|
||||
[Token(Token = "0x6009F0E")]
|
||||
[Address(RVA = "0x2241CC0", Offset = "0x22406C0", VA = "0x182241CC0", Slot = "14")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
}
|
||||
|
||||
// Token: 0x06009F0F RID: 40719 RVA: 0x0024B54C File Offset: 0x0024974C
|
||||
[Token(Token = "0x6009F0F")]
|
||||
[Address(RVA = "0x2241D40", Offset = "0x2240740", VA = "0x182241D40", Slot = "15")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F10 RID: 40720 RVA: 0x0024B568 File Offset: 0x00249768
|
||||
[Token(Token = "0x6009F10")]
|
||||
[Address(RVA = "0x2241E50", Offset = "0x2240850", VA = "0x182241E50", Slot = "16")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F11 RID: 40721 RVA: 0x0024B584 File Offset: 0x00249784
|
||||
[Token(Token = "0x6009F11")]
|
||||
[Address(RVA = "0x2241DB0", Offset = "0x22407B0", VA = "0x182241DB0", Slot = "17")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
IDigest digest = this.mBaseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0400689F RID: 26783
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400689F")]
|
||||
protected readonly IDigest mBaseDigest;
|
||||
}
|
||||
}
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001711 RID: 5905
|
||||
[Token(Token = "0x2001711")]
|
||||
[StructLayout(3)]
|
||||
public class NullDigest : IDigest
|
||||
{
|
||||
// Token: 0x17001915 RID: 6421
|
||||
// (get) Token: 0x06009F12 RID: 40722 RVA: 0x0024B5A0 File Offset: 0x002497A0
|
||||
[Token(Token = "0x17001915")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F12")]
|
||||
[Address(RVA = "0x2242130", Offset = "0x2240B30", VA = "0x182242130", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "NULL";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F13 RID: 40723 RVA: 0x0024B5B4 File Offset: 0x002497B4
|
||||
[Token(Token = "0x6009F13")]
|
||||
[Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x06009F14 RID: 40724 RVA: 0x0024B5C4 File Offset: 0x002497C4
|
||||
[Token(Token = "0x6009F14")]
|
||||
[Address(RVA = "0x78FE10", Offset = "0x78E810", VA = "0x18078FE10", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
((IDisposable)this.bOut).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F15 RID: 40725 RVA: 0x0024B5E4 File Offset: 0x002497E4
|
||||
[Token(Token = "0x6009F15")]
|
||||
[Address(RVA = "0xA20E50", Offset = "0xA1F850", VA = "0x180A20E50", Slot = "7")]
|
||||
public void Update(byte b)
|
||||
{
|
||||
((IDisposable)this.bOut).Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x06009F16 RID: 40726 RVA: 0x0024B604 File Offset: 0x00249804
|
||||
[Token(Token = "0x6009F16")]
|
||||
[Address(RVA = "0xA20FC0", Offset = "0xA1F9C0", VA = "0x180A20FC0", Slot = "8")]
|
||||
public void BlockUpdate(byte[] inBytes, int inOff, int len)
|
||||
{
|
||||
int num = this.bOut.Read(inBytes, inOff, len);
|
||||
}
|
||||
|
||||
// Token: 0x06009F17 RID: 40727 RVA: 0x0024B628 File Offset: 0x00249828
|
||||
[Token(Token = "0x6009F17")]
|
||||
[Address(RVA = "0x2241FD0", Offset = "0x22409D0", VA = "0x182241FD0", Slot = "9")]
|
||||
public int DoFinal(byte[] outBytes, int outOff)
|
||||
{
|
||||
int num;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
num2 = Streams.WriteBufTo(this.bOut, outBytes, outOff);
|
||||
MemoryStream memoryStream = this.bOut;
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x06009F18 RID: 40728 RVA: 0x0024B65C File Offset: 0x0024985C
|
||||
[Token(Token = "0x6009F18")]
|
||||
[Address(RVA = "0x22420A0", Offset = "0x2240AA0", VA = "0x1822420A0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
((IDisposable)this.bOut).Dispose();
|
||||
}
|
||||
|
||||
// Token: 0x06009F19 RID: 40729 RVA: 0x0024B67C File Offset: 0x0024987C
|
||||
[Token(Token = "0x6009F19")]
|
||||
[Address(RVA = "0x22420D0", Offset = "0x2240AD0", VA = "0x1822420D0")]
|
||||
public NullDigest()
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
this.bOut = memoryStream;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x040068A0 RID: 26784
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40068A0")]
|
||||
private readonly MemoryStream bOut;
|
||||
}
|
||||
}
|
||||
+818
@@ -0,0 +1,818 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001712 RID: 5906
|
||||
[Token(Token = "0x2001712")]
|
||||
[StructLayout(3)]
|
||||
public class RipeMD128Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x06009F1A RID: 40730 RVA: 0x0024B69C File Offset: 0x0024989C
|
||||
[Token(Token = "0x6009F1A")]
|
||||
[Address(RVA = "0x2243940", Offset = "0x2242340", VA = "0x182243940")]
|
||||
public RipeMD128Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009F1B RID: 40731 RVA: 0x0024B6C8 File Offset: 0x002498C8
|
||||
[Token(Token = "0x6009F1B")]
|
||||
[Address(RVA = "0x22439A0", Offset = "0x22423A0", VA = "0x1822439A0")]
|
||||
public RipeMD128Digest(RipeMD128Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009F1C RID: 40732 RVA: 0x0024B6F4 File Offset: 0x002498F4
|
||||
[Token(Token = "0x6009F1C")]
|
||||
[Address(RVA = "0x2240580", Offset = "0x223EF80", VA = "0x182240580")]
|
||||
private void CopyIn(RipeMD128Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H0;
|
||||
this.H0 = h;
|
||||
int h2 = t.H1;
|
||||
this.H1 = h2;
|
||||
int h3 = t.H2;
|
||||
this.H2 = h3;
|
||||
int h4 = t.H3;
|
||||
this.H3 = h4;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001916 RID: 6422
|
||||
// (get) Token: 0x06009F1D RID: 40733 RVA: 0x0024B784 File Offset: 0x00249984
|
||||
[Token(Token = "0x17001916")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F1D")]
|
||||
[Address(RVA = "0x2243A10", Offset = "0x2242410", VA = "0x182243A10", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "RIPEMD128";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F1E RID: 40734 RVA: 0x0024B798 File Offset: 0x00249998
|
||||
[Token(Token = "0x6009F1E")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009F1F RID: 40735 RVA: 0x0024B7A8 File Offset: 0x002499A8
|
||||
[Token(Token = "0x6009F1F")]
|
||||
[Address(RVA = "0x21875E0", Offset = "0x2185FE0", VA = "0x1821875E0", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F20 RID: 40736 RVA: 0x0024B7F4 File Offset: 0x002499F4
|
||||
[Token(Token = "0x6009F20")]
|
||||
[Address(RVA = "0x2187560", Offset = "0x2185F60", VA = "0x182187560", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009F21 RID: 40737 RVA: 0x0024B82C File Offset: 0x00249A2C
|
||||
[Token(Token = "0x6009F21")]
|
||||
[Address(RVA = "0x2187850", Offset = "0x2186250", VA = "0x182187850")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x06009F22 RID: 40738 RVA: 0x0024B844 File Offset: 0x00249A44
|
||||
[Token(Token = "0x6009F22")]
|
||||
[Address(RVA = "0x2186940", Offset = "0x2185340", VA = "0x182186940", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H0;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H1;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H2;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H3;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F23 RID: 40739 RVA: 0x0024B8BC File Offset: 0x00249ABC
|
||||
[Token(Token = "0x6009F23")]
|
||||
[Address(RVA = "0x2241910", Offset = "0x2240310", VA = "0x182241910", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H0 = (int)((ulong)1732584193L);
|
||||
this.H1 = (int)((ulong)4023233417L);
|
||||
this.H2 = (int)((ulong)2562383102L);
|
||||
this.H3 = (int)((ulong)271733878L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F24 RID: 40740 RVA: 0x0024B93C File Offset: 0x00249B3C
|
||||
[Token(Token = "0x6009F24")]
|
||||
[Address(RVA = "0x2128700", Offset = "0x2127100", VA = "0x182128700")]
|
||||
private int RL(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F25 RID: 40741 RVA: 0x0024B94C File Offset: 0x00249B4C
|
||||
[Token(Token = "0x6009F25")]
|
||||
[Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")]
|
||||
private int F1(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F26 RID: 40742 RVA: 0x0024B95C File Offset: 0x00249B5C
|
||||
[Token(Token = "0x6009F26")]
|
||||
[Address(RVA = "0xB6B770", Offset = "0xB6A170", VA = "0x180B6B770")]
|
||||
private int F2(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F27 RID: 40743 RVA: 0x0024B96C File Offset: 0x00249B6C
|
||||
[Token(Token = "0x6009F27")]
|
||||
[Address(RVA = "0x2242270", Offset = "0x2240C70", VA = "0x182242270")]
|
||||
private int F3(int x, int y, int z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x06009F28 RID: 40744 RVA: 0x0024B97C File Offset: 0x00249B7C
|
||||
[Token(Token = "0x6009F28")]
|
||||
[Address(RVA = "0x2242300", Offset = "0x2240D00", VA = "0x182242300")]
|
||||
private int F4(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x06009F29 RID: 40745 RVA: 0x0024B98C File Offset: 0x00249B8C
|
||||
[Token(Token = "0x6009F29")]
|
||||
[Address(RVA = "0x2242200", Offset = "0x2240C00", VA = "0x182242200")]
|
||||
private int F1(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009F2A RID: 40746 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F2A")]
|
||||
[Address(RVA = "0x2242230", Offset = "0x2240C30", VA = "0x182242230")]
|
||||
private int F2(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F2B RID: 40747 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F2B")]
|
||||
[Address(RVA = "0x2242280", Offset = "0x2240C80", VA = "0x182242280")]
|
||||
private int F3(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F2C RID: 40748 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F2C")]
|
||||
[Address(RVA = "0x22422C0", Offset = "0x2240CC0", VA = "0x1822422C0")]
|
||||
private int F4(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F2D RID: 40749 RVA: 0x0024B99C File Offset: 0x00249B9C
|
||||
[Token(Token = "0x6009F2D")]
|
||||
[Address(RVA = "0x2242200", Offset = "0x2240C00", VA = "0x182242200")]
|
||||
private int FF1(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009F2E RID: 40750 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F2E")]
|
||||
[Address(RVA = "0x2242310", Offset = "0x2240D10", VA = "0x182242310")]
|
||||
private int FF2(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F2F RID: 40751 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F2F")]
|
||||
[Address(RVA = "0x2242350", Offset = "0x2240D50", VA = "0x182242350")]
|
||||
private int FF3(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F30 RID: 40752 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F30")]
|
||||
[Address(RVA = "0x2242390", Offset = "0x2240D90", VA = "0x182242390")]
|
||||
private int FF4(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F31 RID: 40753 RVA: 0x0024B9AC File Offset: 0x00249BAC
|
||||
[Token(Token = "0x6009F31")]
|
||||
[Address(RVA = "0x22423D0", Offset = "0x2240DD0", VA = "0x1822423D0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
int[] x = this.X;
|
||||
int num = this.H0;
|
||||
int h = this.H1;
|
||||
int num2 = this.H2;
|
||||
int num3 = this.H3;
|
||||
int num4 = x.Length;
|
||||
num3 += num;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num3 += num3;
|
||||
num3 = h;
|
||||
num3 += num2;
|
||||
num2 = num3;
|
||||
num3 = num2;
|
||||
num3 += h;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num3 += num3;
|
||||
num3 += num3;
|
||||
num2 = num3;
|
||||
num3 = num2;
|
||||
num3 += num3;
|
||||
num2 += num;
|
||||
num = num2;
|
||||
num3 += num3;
|
||||
num3 += num3;
|
||||
num2 = num3;
|
||||
num3 = num2;
|
||||
num3 += num3;
|
||||
num2 += num;
|
||||
int num5 = x[6];
|
||||
num3 += num5;
|
||||
num3 += num3;
|
||||
num2 = num3;
|
||||
int num6 = x[7];
|
||||
num3 = num2;
|
||||
num3 += num6;
|
||||
num3 += num3;
|
||||
int num7 = x[7];
|
||||
num3 = num2;
|
||||
num3 += num7;
|
||||
num3 += num3;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num = num3;
|
||||
num4 = num;
|
||||
num3 += num4;
|
||||
num3 += 1518500249;
|
||||
num3 += num5;
|
||||
int num8 = x[1];
|
||||
num3 += num3;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num3 += 1518500249;
|
||||
num3 += num3;
|
||||
num = num3;
|
||||
num4 = num;
|
||||
num3 = num;
|
||||
num4 += num7;
|
||||
num3 += num4;
|
||||
num3 = num;
|
||||
num3 += 1518500249;
|
||||
num3 += num8;
|
||||
num3 += num3;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num = num3;
|
||||
num4 = num;
|
||||
num3 = num;
|
||||
num3 += num4;
|
||||
num2 = num3;
|
||||
num3 = num;
|
||||
num3 += 1518500249;
|
||||
num3 += num3;
|
||||
num3 = num2;
|
||||
num4 = num3;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num4 += num6;
|
||||
num3 += num4;
|
||||
num = num3;
|
||||
num4 = num;
|
||||
num3 = num;
|
||||
int num9 = x[5];
|
||||
num4 += num9;
|
||||
num3 += num4;
|
||||
num3 = num;
|
||||
num3 += 1518500249;
|
||||
num3 += num3;
|
||||
num4 = num3;
|
||||
num += 1859775393;
|
||||
num3 += 1859775393;
|
||||
num3 += num3;
|
||||
num2 = num3;
|
||||
num3 = num4;
|
||||
num3 += 1859775393;
|
||||
num3 += num;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num4 += 1859775393;
|
||||
num3 += num6;
|
||||
num3 += num3;
|
||||
num3 = num;
|
||||
num2 += 1859775393;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num3 += num2;
|
||||
num2 = num3;
|
||||
num3 = num4;
|
||||
num3 += num7;
|
||||
num += 1859775393;
|
||||
num3 += num;
|
||||
num3 += 1859775393;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num4 += 1859775393;
|
||||
num3 += num3;
|
||||
num3 = num;
|
||||
num2 += 1859775393;
|
||||
num3 += num4;
|
||||
num += 1859775393;
|
||||
num3 += num2;
|
||||
num4 = num3;
|
||||
num3 += 1859775393;
|
||||
num3 += num;
|
||||
num2 = num3;
|
||||
num3 = num4;
|
||||
num3 += 1859775393;
|
||||
num3 += num3;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num3 += num3;
|
||||
int num10 = x[6];
|
||||
num10 += 1859775393;
|
||||
num3 = num;
|
||||
num3 += num10;
|
||||
num3 += num4;
|
||||
num10 = num3;
|
||||
num2 += 1859775393;
|
||||
num += 1859775393;
|
||||
num3 += num9;
|
||||
num9 += -1894007588;
|
||||
num3 += num2;
|
||||
num3 = num10;
|
||||
num2 = num3;
|
||||
num3 += num;
|
||||
num = num3;
|
||||
num3 = num2;
|
||||
num4 += num3;
|
||||
num3 = num4;
|
||||
num4 = num;
|
||||
num3 += -1894007588;
|
||||
num3 += num10;
|
||||
num3 = num;
|
||||
num3 += num4;
|
||||
num3 += num9;
|
||||
num3 += num;
|
||||
num9 = num3;
|
||||
num3 = num9;
|
||||
num3 += -1894007588;
|
||||
num4 = num3;
|
||||
num3 += num3;
|
||||
num3 += num4;
|
||||
num2 = num3;
|
||||
num3 = num9;
|
||||
num3 += -1894007588;
|
||||
num3 += num3;
|
||||
num = num3;
|
||||
num3 = num;
|
||||
num4 = num2;
|
||||
num3 += -1894007588;
|
||||
num3 += num9;
|
||||
num3 += num4;
|
||||
num4 = num;
|
||||
num10 = num3;
|
||||
num3 = num;
|
||||
num3 += num4;
|
||||
num4 = num3;
|
||||
num2 = num3;
|
||||
num4 += num8;
|
||||
num3 += num4;
|
||||
num = num3;
|
||||
num4 = num10;
|
||||
num6 += -1894007588;
|
||||
num3 = num;
|
||||
num3 += num4;
|
||||
num4 = num2;
|
||||
num4 += num7;
|
||||
num3 += num4;
|
||||
num10 = num3;
|
||||
num3 = num;
|
||||
num4 = num3;
|
||||
num3 += num6;
|
||||
num3 += num2;
|
||||
num6 = num3;
|
||||
num8 = num6;
|
||||
int num11 = this.H3;
|
||||
num3 += num4;
|
||||
num4 = num10;
|
||||
num3 += num4;
|
||||
num4 = num11;
|
||||
num7 = num3;
|
||||
num8 += -1894007588;
|
||||
num8 += num10;
|
||||
int num12 = this.H2;
|
||||
int num13 = this.H0;
|
||||
num13 += 1352829926;
|
||||
num13 += num4;
|
||||
num4 = num12;
|
||||
num2 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = h;
|
||||
num11 = num13;
|
||||
num13 = h;
|
||||
num13 += num4;
|
||||
num4 = num2;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num11;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num12;
|
||||
num2 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num10;
|
||||
num11 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num2;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num11;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num12;
|
||||
num2 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num10;
|
||||
num11 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num2;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num11;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num4 = num12;
|
||||
num2 = num13;
|
||||
num13 = num12;
|
||||
num13 += num4;
|
||||
num4 = num10;
|
||||
num11 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num2 += 1548603684;
|
||||
num13 += 1352829926;
|
||||
num13 += num10;
|
||||
num4 = num13;
|
||||
num13 = num12;
|
||||
num11 += 1548603684;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num4;
|
||||
num12 += 1548603684;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num13 += num12;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num4 += 1548603684;
|
||||
num2 += 1548603684;
|
||||
num13 += num4;
|
||||
num4 = num13;
|
||||
num13 = num12;
|
||||
num11 += 1548603684;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num4;
|
||||
num12 += 1548603684;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 += 1548603684;
|
||||
num13 += num12;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num2 += 1548603684;
|
||||
num13 += num4;
|
||||
num4 = num13;
|
||||
num13 = num12;
|
||||
num11 += 1548603684;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num4;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num12 += 1548603684;
|
||||
num13 += num12;
|
||||
num4 += 1548603684;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num2 += 1548603684;
|
||||
num13 += num4;
|
||||
num4 = num13;
|
||||
num13 = num12;
|
||||
num11 += 1548603684;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num4;
|
||||
num12 += 1548603684;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 += 1548603684;
|
||||
num13 += num12;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num13 += num4;
|
||||
num10 = num13;
|
||||
num13 = num12;
|
||||
num4 = num10;
|
||||
num13 += num4;
|
||||
num3 = num13;
|
||||
num13 = num10;
|
||||
num4 = num3;
|
||||
num13 += num4;
|
||||
num2 = num13;
|
||||
num4 = num2;
|
||||
num13 = num2;
|
||||
num13 += num4;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 = num11;
|
||||
num13 += num4;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num4 = num12;
|
||||
num13 += num4;
|
||||
num10 = num13;
|
||||
num13 = num12;
|
||||
num4 = num10;
|
||||
num13 += num4;
|
||||
num3 = num13;
|
||||
num4 = num3;
|
||||
num13 = num3;
|
||||
num13 += num4;
|
||||
num2 = num13;
|
||||
num13 = num3;
|
||||
num13 += 1836072691;
|
||||
num13 += num12;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 = num11;
|
||||
num13 += num4;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num4 = num10;
|
||||
num13 += num4;
|
||||
num3 = num13;
|
||||
num13 = num3;
|
||||
num13 += 1836072691;
|
||||
num13 += num2;
|
||||
num9 = num13;
|
||||
num13 = num3;
|
||||
num13 += 1836072691;
|
||||
num13 += num11;
|
||||
num12 = num13;
|
||||
num13 = num9;
|
||||
num4 = num12;
|
||||
num13 += num4;
|
||||
num10 = num13;
|
||||
num13 = num12;
|
||||
num13 += 1836072691;
|
||||
num13 += num3;
|
||||
num2 = num13;
|
||||
num13 = num2;
|
||||
num13 += 1836072691;
|
||||
num13 += num9;
|
||||
num11 = num13;
|
||||
num13 = num2;
|
||||
num4 = num11;
|
||||
num13 += num4;
|
||||
num12 = num13;
|
||||
num13 = num2;
|
||||
num13 += num10;
|
||||
num10 = num13;
|
||||
num13 = num11;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num2;
|
||||
num4 = num2;
|
||||
num13 += num11;
|
||||
num11 = num13;
|
||||
num13 = num4;
|
||||
num13 += num12;
|
||||
num12 = num13;
|
||||
num13 = num11;
|
||||
num4 += num10;
|
||||
num10 = num4;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num2;
|
||||
num4 = num2;
|
||||
num13 += num11;
|
||||
num3 = num13;
|
||||
num13 = num4;
|
||||
num13 += num12;
|
||||
num11 = num13;
|
||||
num13 = num3;
|
||||
num4 += num10;
|
||||
num12 = num4;
|
||||
num13 += num2;
|
||||
num2 = num13;
|
||||
num13 = num2;
|
||||
num4 = num2;
|
||||
num13 += num3;
|
||||
num3 = num13;
|
||||
num13 = num4;
|
||||
num13 += num11;
|
||||
num10 = num13;
|
||||
num13 = num3;
|
||||
num4 += num12;
|
||||
num11 = num4;
|
||||
num13 += num2;
|
||||
num12 = num13;
|
||||
num13 = num12;
|
||||
num4 = num12;
|
||||
num13 += num3;
|
||||
num2 = num13;
|
||||
num4 += num10;
|
||||
int num14 = this.H2;
|
||||
num14 += num3;
|
||||
num14 += num11;
|
||||
this.H1 = num14;
|
||||
num14 = num4;
|
||||
num14 += num6;
|
||||
this.H2 = num14;
|
||||
num14 = num8;
|
||||
num14 += num2;
|
||||
this.H3 = num14;
|
||||
num14 += num7;
|
||||
int num15 = 0;
|
||||
this.H0 = num14;
|
||||
this.xOff = num15;
|
||||
if (num15 != x.Length)
|
||||
{
|
||||
num15++;
|
||||
x[0] = num15;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F32 RID: 40754 RVA: 0x0024C40C File Offset: 0x0024A60C
|
||||
[Token(Token = "0x6009F32")]
|
||||
[Address(RVA = "0x2242160", Offset = "0x2240B60", VA = "0x182242160", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F32)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD128Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RipeMD128Digest(var_0_06, newobj:RipeMD128Digest(RipeMD128Digest::.ctor, ldloc:RipeMD128Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](RipeMD128Digest::X, ldloc:RipeMD128Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(RipeMD128Digest::CopyIn, ldloc:RipeMD128Digest(var_0_06), ldloc:RipeMD128Digest(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: 0x06009F33 RID: 40755 RVA: 0x0024C438 File Offset: 0x0024A638
|
||||
[Token(Token = "0x6009F33")]
|
||||
[Address(RVA = "0x22438A0", Offset = "0x22422A0", VA = "0x1822438A0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040068A1 RID: 26785
|
||||
[Token(Token = "0x40068A1")]
|
||||
private const int DigestLength = 16;
|
||||
|
||||
// Token: 0x040068A2 RID: 26786
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40068A2")]
|
||||
private int H0;
|
||||
|
||||
// Token: 0x040068A3 RID: 26787
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40068A3")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x040068A4 RID: 26788
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40068A4")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x040068A5 RID: 26789
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40068A5")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x040068A6 RID: 26790
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40068A6")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x040068A7 RID: 26791
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40068A7")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
+757
@@ -0,0 +1,757 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001713 RID: 5907
|
||||
[Token(Token = "0x2001713")]
|
||||
[StructLayout(3)]
|
||||
public class RipeMD160Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x06009F34 RID: 40756 RVA: 0x0024C450 File Offset: 0x0024A650
|
||||
[Token(Token = "0x6009F34")]
|
||||
[Address(RVA = "0x22464F0", Offset = "0x2244EF0", VA = "0x1822464F0")]
|
||||
public RipeMD160Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009F35 RID: 40757 RVA: 0x0024C47C File Offset: 0x0024A67C
|
||||
[Token(Token = "0x6009F35")]
|
||||
[Address(RVA = "0x2246550", Offset = "0x2244F50", VA = "0x182246550")]
|
||||
public RipeMD160Digest(RipeMD160Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009F36 RID: 40758 RVA: 0x0024C4A8 File Offset: 0x0024A6A8
|
||||
[Token(Token = "0x6009F36")]
|
||||
[Address(RVA = "0x2243A40", Offset = "0x2242440", VA = "0x182243A40")]
|
||||
private void CopyIn(RipeMD160Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H0;
|
||||
this.H0 = h;
|
||||
int h2 = t.H1;
|
||||
this.H1 = h2;
|
||||
int h3 = t.H2;
|
||||
this.H2 = h3;
|
||||
int h4 = t.H3;
|
||||
this.H3 = h4;
|
||||
int h5 = t.H4;
|
||||
this.H4 = h5;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x17001917 RID: 6423
|
||||
// (get) Token: 0x06009F37 RID: 40759 RVA: 0x0024C548 File Offset: 0x0024A748
|
||||
[Token(Token = "0x17001917")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F37")]
|
||||
[Address(RVA = "0x22465C0", Offset = "0x2244FC0", VA = "0x1822465C0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "RIPEMD160";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F38 RID: 40760 RVA: 0x0024C55C File Offset: 0x0024A75C
|
||||
[Token(Token = "0x6009F38")]
|
||||
[Address(RVA = "0x15A18C0", Offset = "0x15A02C0", VA = "0x1815A18C0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
// Token: 0x06009F39 RID: 40761 RVA: 0x0024C56C File Offset: 0x0024A76C
|
||||
[Token(Token = "0x6009F39")]
|
||||
[Address(RVA = "0x2246290", Offset = "0x2244C90", VA = "0x182246290", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F3A RID: 40762 RVA: 0x0024C5B8 File Offset: 0x0024A7B8
|
||||
[Token(Token = "0x6009F3A")]
|
||||
[Address(RVA = "0x2246210", Offset = "0x2244C10", VA = "0x182246210", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009F3B RID: 40763 RVA: 0x0024C5F0 File Offset: 0x0024A7F0
|
||||
[Token(Token = "0x6009F3B")]
|
||||
[Address(RVA = "0x2187850", Offset = "0x2186250", VA = "0x182187850")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x06009F3C RID: 40764 RVA: 0x0024C608 File Offset: 0x0024A808
|
||||
[Token(Token = "0x6009F3C")]
|
||||
[Address(RVA = "0x2243B60", Offset = "0x2242560", VA = "0x182243B60", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H0;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H1;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H2;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H3;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
int h4 = this.H4;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F3D RID: 40765 RVA: 0x0024C6A0 File Offset: 0x0024A8A0
|
||||
[Token(Token = "0x6009F3D")]
|
||||
[Address(RVA = "0x2246450", Offset = "0x2244E50", VA = "0x182246450", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H0 = (int)((ulong)1732584193L);
|
||||
this.H1 = (int)((ulong)4023233417L);
|
||||
this.H2 = (int)((ulong)2562383102L);
|
||||
this.H3 = (int)((ulong)271733878L);
|
||||
this.H4 = (int)((ulong)3285377520L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F3E RID: 40766 RVA: 0x0024C730 File Offset: 0x0024A930
|
||||
[Token(Token = "0x6009F3E")]
|
||||
[Address(RVA = "0x2128700", Offset = "0x2127100", VA = "0x182128700")]
|
||||
private int RL(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F3F RID: 40767 RVA: 0x0024C740 File Offset: 0x0024A940
|
||||
[Token(Token = "0x6009F3F")]
|
||||
[Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")]
|
||||
private int F1(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F40 RID: 40768 RVA: 0x0024C750 File Offset: 0x0024A950
|
||||
[Token(Token = "0x6009F40")]
|
||||
[Address(RVA = "0xB6B770", Offset = "0xB6A170", VA = "0x180B6B770")]
|
||||
private int F2(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F41 RID: 40769 RVA: 0x0024C760 File Offset: 0x0024A960
|
||||
[Token(Token = "0x6009F41")]
|
||||
[Address(RVA = "0x2242270", Offset = "0x2240C70", VA = "0x182242270")]
|
||||
private int F3(int x, int y, int z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x06009F42 RID: 40770 RVA: 0x0024C770 File Offset: 0x0024A970
|
||||
[Token(Token = "0x6009F42")]
|
||||
[Address(RVA = "0x2242300", Offset = "0x2240D00", VA = "0x182242300")]
|
||||
private int F4(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x06009F43 RID: 40771 RVA: 0x0024C780 File Offset: 0x0024A980
|
||||
[Token(Token = "0x6009F43")]
|
||||
[Address(RVA = "0x2243E40", Offset = "0x2242840", VA = "0x182243E40")]
|
||||
private int F5(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x06009F44 RID: 40772 RVA: 0x0024C790 File Offset: 0x0024A990
|
||||
[Token(Token = "0x6009F44")]
|
||||
[Address(RVA = "0x2243E50", Offset = "0x2242850", VA = "0x182243E50", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F44)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD160Digest::ProcessBlock()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32[](var_0_06, ldfld:int32[](RipeMD160Digest::X, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_1_0D, ldfld:int32(RipeMD160Digest::H0, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_2_14, ldfld:int32(RipeMD160Digest::H1, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_3_1B, ldfld:int32(RipeMD160Digest::H2, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_4_22, ldfld:int32(RipeMD160Digest::H4, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_5_2A, ldfld:int32(RipeMD160Digest::H3, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32(var_6_32, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_0_06)))
|
||||
stloc:int32(var_5_38, add:int32(ldloc:int32(var_5_2A), ldloc:int32(var_1_0D)))
|
||||
stloc:int32(var_1_3C, ldloc:int32(var_5_38))
|
||||
stloc:int32(var_1_44, add:int32(ldloc:int32(var_1_3C), ldloc:int32(var_4_22)))
|
||||
stloc:int32(var_5_46, ldloc:int32(var_2_14))
|
||||
stloc:int32(var_5_4D, add:int32(ldloc:int32(var_5_46), ldloc:int32(var_4_22)))
|
||||
stloc:int32(var_4_51, ldloc:int32(var_5_4D))
|
||||
stloc:int32(var_5_54, ldloc:int32(var_2_14))
|
||||
stloc:int32(var_4_5B, add:int32(ldloc:int32(var_4_51), ldloc:int32(var_5_54)))
|
||||
stloc:int32(var_5_5F, ldloc:int32(var_4_5B))
|
||||
stloc:int32(var_5_66, add:int32(ldloc:int32(var_5_5F), ldloc:int32(var_5_5F)))
|
||||
stloc:int32(var_5_6C, add:int32(ldloc:int32(var_5_66), ldloc:int32(var_3_1B)))
|
||||
stloc:int32(var_5_70, ldloc:int32(var_4_5B))
|
||||
stloc:int32(var_5_76, add:int32(ldloc:int32(var_5_70), ldloc:int32(var_3_1B)))
|
||||
stloc:int32(var_1_7A, ldloc:int32(var_5_76))
|
||||
stloc:int32(var_1_7E, add:int32(ldloc:int32(var_1_7A), ldloc:int32(var_2_14)))
|
||||
stloc:int32(var_5_81, ldloc:int32(var_4_5B))
|
||||
stloc:int32(var_5_87, add:int32(ldloc:int32(var_5_81), ldloc:int32(var_2_14)))
|
||||
stloc:int32(var_4_8B, ldloc:int32(var_5_87))
|
||||
stloc:int32(var_4_91, add:int32(ldloc:int32(var_4_8B), ldloc:int32(var_1_7E)))
|
||||
stloc:int32(var_5_97, add:int32(ldloc:int32(var_5_87), ldloc:int32(var_1_7E)))
|
||||
stloc:int32(var_5_9E, add:int32(ldloc:int32(var_5_97), ldloc:int32(var_4_91)))
|
||||
stloc:int32(var_5_A1, ldloc:int32(var_1_7E))
|
||||
stloc:int32(var_5_A8, add:int32(ldloc:int32(var_5_A1), ldloc:int32(var_4_91)))
|
||||
stloc:int32(var_1_AC, ldloc:int32(var_5_A8))
|
||||
stloc:int32(var_1_B1, add:int32(ldloc:int32(var_1_AC), ldloc:int32(var_5_A8)))
|
||||
stloc:int32(var_5_B3, ldloc:int32(var_1_B1))
|
||||
stloc:int32(var_5_BA, add:int32(ldloc:int32(var_5_B3), ldloc:int32(var_5_B3)))
|
||||
stloc:int32(var_4_BE, ldloc:int32(var_5_BA))
|
||||
stloc:int32(var_4_C4, add:int32(ldloc:int32(var_4_BE), ldloc:int32(var_1_B1)))
|
||||
stloc:int32(var_5_C7, ldloc:int32(var_1_B1))
|
||||
stloc:int32(var_5_CD, add:int32(ldloc:int32(var_5_C7), ldloc:int32(var_1_B1)))
|
||||
stloc:int32(var_5_D4, add:int32(ldloc:int32(var_5_CD), ldloc:int32(var_4_C4)))
|
||||
stloc:int32(var_5_D7, ldloc:int32(var_1_B1))
|
||||
stloc:int32(var_5_DE, add:int32(ldloc:int32(var_5_D7), ldloc:int32(var_4_C4)))
|
||||
stloc:int32(var_1_E2, ldloc:int32(var_5_DE))
|
||||
stloc:int32(var_1_E7, add:int32(ldloc:int32(var_1_E2), ldloc:int32(var_5_DE)))
|
||||
stloc:int32(var_5_EA, ldloc:int32(var_4_C4))
|
||||
stloc:int32(var_5_F1, add:int32(ldloc:int32(var_5_EA), ldloc:int32(var_5_EA)))
|
||||
stloc:int32(var_4_F5, ldloc:int32(var_5_F1))
|
||||
stloc:int32(var_4_FB, add:int32(ldloc:int32(var_4_F5), ldloc:int32(var_1_E7)))
|
||||
stloc:int32(var_5_101, add:int32(ldloc:int32(var_5_F1), ldloc:int32(var_1_E7)))
|
||||
stloc:int32(var_5_108, add:int32(ldloc:int32(var_5_101), ldloc:int32(var_4_FB)))
|
||||
stloc:int32(var_5_10F, add:int32(ldloc:int32(var_5_108), ldloc:int32(var_4_FB)))
|
||||
stloc:int32(var_1_113, ldloc:int32(var_5_10F))
|
||||
stloc:int32(var_1_118, add:int32(ldloc:int32(var_1_113), ldloc:int32(var_5_10F)))
|
||||
stloc:int32(var_5_11E, add:int32(ldloc:int32(var_5_10F), ldloc:int32(var_5_10F)))
|
||||
stloc:int32(var_4_122, ldloc:int32(var_5_11E))
|
||||
stloc:int32(var_4_128, add:int32(ldloc:int32(var_4_122), ldloc:int32(var_1_118)))
|
||||
stloc:int32(var_7_131, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_0_06), ldc.i4:int32(7)))
|
||||
stloc:int32(var_5_138, add:int32(ldloc:int32(var_5_11E), ldloc:int32(var_7_131)))
|
||||
stloc:int32(var_5_13E, add:int32(ldloc:int32(var_5_138), ldloc:int32(var_1_118)))
|
||||
stloc:int32(var_5_141, ldloc:int32(var_1_118))
|
||||
stloc:int32(var_5_148, add:int32(ldloc:int32(var_5_141), ldloc:int32(var_4_128)))
|
||||
stloc:int32(var_5_14F, add:int32(ldloc:int32(var_5_148), ldloc:int32(var_4_128)))
|
||||
stloc:int32(var_6_153, ldloc:int32(var_5_14F))
|
||||
stloc:int32(var_5_157, ldloc:int32(var_4_128))
|
||||
stloc:int32(var_6_15E, add:int32(ldloc:int32(var_6_153), ldloc:int32(var_5_157)))
|
||||
stloc:int32(var_1_167, add:int32(ldloc:int32(var_1_118), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_16C, add:int32(ldloc:int32(var_5_157), ldloc:int32(var_1_167)))
|
||||
stloc:int32(var_4_170, ldloc:int32(var_5_16C))
|
||||
stloc:int32(var_4_177, add:int32(ldloc:int32(var_4_170), ldloc:int32(var_4_170)))
|
||||
stloc:int32(var_4_181, add:int32(ldloc:int32(var_4_177), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_184, ldloc:int32(var_3_1B))
|
||||
stloc:int32(var_5_18B, add:int32(ldloc:int32(var_5_184), ldloc:int32(var_7_131)))
|
||||
stloc:int32(var_7_18F, ldloc:int32(var_4_181))
|
||||
stloc:int32(var_5_196, add:int32(ldloc:int32(var_5_18B), ldloc:int32(var_4_181)))
|
||||
stloc:int32(var_4_19A, ldloc:int32(var_5_196))
|
||||
stloc:int32(var_5_19D, ldloc:int32(var_2_14))
|
||||
stloc:int32(var_4_1A4, add:int32(ldloc:int32(var_4_19A), ldloc:int32(var_5_19D)))
|
||||
stloc:int32(var_5_1B1, add:int32(ldloc:int32(var_5_19D), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_1B8, add:int32(ldloc:int32(var_5_1B1), ldloc:int32(var_5_1B1)))
|
||||
stloc:int32(var_1_1BC, ldloc:int32(var_5_1B8))
|
||||
stloc:int32(var_5_1BF, ldloc:int32(var_7_18F))
|
||||
stloc:int32(var_1_1C4, add:int32(ldloc:int32(var_1_1BC), ldloc:int32(var_3_1B)))
|
||||
stloc:int32(var_5_1D0, add:int32(ldloc:int32(var_5_1BF), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_1D6, add:int32(ldloc:int32(var_5_1D0), ldloc:int32(var_3_1B)))
|
||||
stloc:int32(var_4_1DA, ldloc:int32(var_5_1D6))
|
||||
stloc:int32(var_5_1DD, ldloc:int32(var_1_1C4))
|
||||
stloc:int32(var_4_1E3, add:int32(ldloc:int32(var_4_1DA), ldloc:int32(var_2_14)))
|
||||
stloc:int32(var_5_1ED, add:int32(ldloc:int32(var_5_1DD), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_1F3, add:int32(ldloc:int32(var_5_1ED), ldloc:int32(var_2_14)))
|
||||
stloc:int32(var_4_1F7, ldloc:int32(var_5_1F3))
|
||||
stloc:int32(var_5_1FB, ldloc:int32(var_4_1F7))
|
||||
stloc:int32(var_4_202, add:int32(ldloc:int32(var_4_1F7), ldloc:int32(var_7_18F)))
|
||||
stloc:int32(var_7_20C, add:int32(ldloc:int32(var_7_18F), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_213, add:int32(ldloc:int32(var_5_1FB), ldloc:int32(var_7_20C)))
|
||||
stloc:int32(var_7_217, ldloc:int32(var_4_202))
|
||||
stloc:int32(var_1_21B, ldloc:int32(var_5_213))
|
||||
stloc:int32(var_1_21F, add:int32(ldloc:int32(var_1_21B), ldloc:int32(var_1_21B)))
|
||||
stloc:int32(var_5_226, ldloc:int32(var_4_202))
|
||||
stloc:int32(var_1_22F, add:int32(ldloc:int32(var_1_21F), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_234, add:int32(ldloc:int32(var_5_226), ldloc:int32(var_1_22F)))
|
||||
stloc:int32(var_4_238, ldloc:int32(var_5_234))
|
||||
stloc:int32(var_4_23F, add:int32(ldloc:int32(var_4_238), ldloc:int32(var_4_238)))
|
||||
stloc:int32(var_5_249, add:int32(ldloc:int32(var_5_234), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_250, add:int32(ldloc:int32(var_5_249), ldloc:int32(var_4_23F)))
|
||||
stloc:int32(var_4_254, ldloc:int32(var_5_250))
|
||||
stloc:int32(var_5_257, ldloc:int32(var_1_22F))
|
||||
stloc:int32(var_4_25E, add:int32(ldloc:int32(var_4_254), ldloc:int32(var_7_217)))
|
||||
stloc:int32(var_7_268, add:int32(ldloc:int32(var_7_217), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_26F, add:int32(ldloc:int32(var_5_257), ldloc:int32(var_7_268)))
|
||||
stloc:int32(var_7_273, ldloc:int32(var_4_25E))
|
||||
stloc:int32(var_1_277, ldloc:int32(var_5_26F))
|
||||
stloc:int32(var_1_27C, add:int32(ldloc:int32(var_1_277), ldloc:int32(var_5_26F)))
|
||||
stloc:int32(var_5_27F, ldloc:int32(var_7_273))
|
||||
stloc:int32(var_5_289, add:int32(ldloc:int32(var_5_27F), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_290, add:int32(ldloc:int32(var_5_289), ldloc:int32(var_5_289)))
|
||||
stloc:int32(var_4_294, ldloc:int32(var_5_290))
|
||||
stloc:int32(var_5_298, ldloc:int32(var_4_294))
|
||||
stloc:int32(var_4_29E, add:int32(ldloc:int32(var_4_294), ldloc:int32(var_1_27C)))
|
||||
stloc:int32(var_1_2A7, add:int32(ldloc:int32(var_1_27C), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_2AC, add:int32(ldloc:int32(var_5_298), ldloc:int32(var_1_2A7)))
|
||||
stloc:int32(var_4_2B0, ldloc:int32(var_5_2AC))
|
||||
stloc:int32(var_4_2B7, add:int32(ldloc:int32(var_4_2B0), ldloc:int32(var_7_273)))
|
||||
stloc:int32(var_5_2BA, ldloc:int32(var_1_2A7))
|
||||
stloc:int32(var_7_2C4, add:int32(ldloc:int32(var_7_273), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_2CB, add:int32(ldloc:int32(var_5_2BA), ldloc:int32(var_7_2C4)))
|
||||
stloc:int32(var_5_2CF, ldloc:int32(var_4_2B7))
|
||||
stloc:int32(var_1_2D3, ldloc:int32(var_5_2CF))
|
||||
stloc:int32(var_7_2D6, ldloc:int32(var_4_2B7))
|
||||
stloc:int32(var_1_2DC, add:int32(ldloc:int32(var_1_2D3), ldloc:int32(var_4_2B7)))
|
||||
stloc:int32(var_5_2DE, ldloc:int32(var_1_2DC))
|
||||
stloc:int32(var_5_2E8, add:int32(ldloc:int32(var_5_2DE), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_2EF, add:int32(ldloc:int32(var_5_2E8), ldloc:int32(var_4_2B7)))
|
||||
stloc:int32(var_4_2F3, ldloc:int32(var_5_2EF))
|
||||
stloc:int32(var_5_2F7, ldloc:int32(var_7_2D6))
|
||||
stloc:int32(var_4_2FD, add:int32(ldloc:int32(var_4_2F3), ldloc:int32(var_1_2DC)))
|
||||
stloc:int32(var_5_307, add:int32(ldloc:int32(var_5_2F7), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_30D, add:int32(ldloc:int32(var_5_307), ldloc:int32(var_1_2DC)))
|
||||
stloc:int32(var_4_311, ldloc:int32(var_5_30D))
|
||||
stloc:int32(var_4_318, add:int32(ldloc:int32(var_4_311), ldloc:int32(var_5_30D)))
|
||||
stloc:int32(var_5_322, add:int32(ldloc:int32(var_5_30D), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_329, add:int32(ldloc:int32(var_5_322), ldloc:int32(var_5_322)))
|
||||
stloc:int32(var_2_32D, ldloc:int32(var_5_329))
|
||||
stloc:int32(var_5_330, ldloc:int32(var_4_318))
|
||||
stloc:int32(var_2_336, add:int32(ldloc:int32(var_2_32D), ldloc:int32(var_7_2D6)))
|
||||
stloc:int32(var_7_33F, add:int32(ldloc:int32(var_7_2D6), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_5_346, add:int32(ldloc:int32(var_5_330), ldloc:int32(var_7_33F)))
|
||||
stloc:int32(var_3_34A, ldloc:int32(var_5_346))
|
||||
stloc:int32(var_5_34D, ldloc:int32(var_4_318))
|
||||
stloc:int32(var_3_353, add:int32(ldloc:int32(var_3_34A), ldloc:int32(var_5_34D)))
|
||||
stloc:int32(var_4_35A, ldloc:int32(var_6_15E))
|
||||
stloc:int32(var_5_367, add:int32(ldloc:int32(var_5_34D), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_36E, add:int32(ldloc:int32(var_5_367), ldloc:int32(var_4_35A)))
|
||||
stloc:int32(var_1_372, ldloc:int32(var_5_36E))
|
||||
stloc:int32(var_1_377, add:int32(ldloc:int32(var_1_372), ldloc:int32(var_5_36E)))
|
||||
stloc:int32(var_4_379, ldloc:int32(var_1_377))
|
||||
stloc:int32(var_5_37C, ldloc:int32(var_1_377))
|
||||
stloc:int32(var_5_383, add:int32(ldloc:int32(var_5_37C), ldloc:int32(var_4_379)))
|
||||
stloc:int32(var_3_386, ldloc:int32(var_1_377))
|
||||
stloc:int32(var_5_388, ldloc:int32(var_1_377))
|
||||
stloc:int32(var_5_38F, add:int32(ldloc:int32(var_5_388), ldloc:int32(var_5_388)))
|
||||
stloc:int32(var_4_393, ldloc:int32(var_5_38F))
|
||||
stloc:int32(var_5_39A, add:int32(ldloc:int32(var_5_38F), ldloc:int32(var_4_393)))
|
||||
stloc:int32(var_6_39E, ldloc:int32(var_5_39A))
|
||||
stloc:int32(var_6_3A4, add:int32(ldloc:int32(var_6_39E), ldloc:int32(var_1_377)))
|
||||
stloc:int32(var_4_3A8, ldloc:int32(var_6_3A4))
|
||||
stloc:int32(var_5_3AF, add:int32(ldloc:int32(var_5_39A), ldloc:int32(var_4_3A8)))
|
||||
stloc:int32(var_1_3B3, ldloc:int32(var_5_3AF))
|
||||
stloc:int32(var_5_3B6, ldloc:int32(var_6_3A4))
|
||||
stloc:int32(var_1_3BC, add:int32(ldloc:int32(var_1_3B3), ldloc:int32(var_4_3A8)))
|
||||
stloc:int32(var_4_3BE, ldloc:int32(var_1_3BC))
|
||||
stloc:int32(var_5_3C5, add:int32(ldloc:int32(var_5_3B6), ldloc:int32(var_4_3BE)))
|
||||
stloc:int32(var_1_3C9, ldloc:int32(var_5_3C5))
|
||||
stloc:int32(var_1_3D1, add:int32(ldloc:int32(var_1_3C9), ldloc:int32(var_3_386)))
|
||||
stloc:int32(var_5_3D6, ldloc:int32(var_1_3D1))
|
||||
stloc:int32(var_5_3E3, add:int32(ldloc:int32(var_5_3D6), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_3E9, add:int32(ldloc:int32(var_5_3E3), ldloc:int32(var_3_386)))
|
||||
stloc:int32(var_5_3F0, add:int32(ldloc:int32(var_5_3E9), ldloc:int32(var_5_3E9)))
|
||||
stloc:int32(var_4_3F4, ldloc:int32(var_5_3F0))
|
||||
stloc:int32(var_5_3F7, ldloc:int32(var_1_3D1))
|
||||
stloc:int32(var_5_3FE, add:int32(ldloc:int32(var_5_3F7), ldloc:int32(var_4_3F4)))
|
||||
stloc:int32(var_6_402, ldloc:int32(var_5_3FE))
|
||||
stloc:int32(var_6_409, add:int32(ldloc:int32(var_6_402), ldloc:int32(var_5_3FE)))
|
||||
stloc:int32(var_4_40D, ldloc:int32(var_6_409))
|
||||
stloc:int32(var_3_411, ldloc:int32(var_6_409))
|
||||
stloc:int32(var_5_417, add:int32(ldloc:int32(var_5_3FE), ldloc:int32(var_4_40D)))
|
||||
stloc:int32(var_1_41B, ldloc:int32(var_5_417))
|
||||
stloc:int32(var_5_41E, ldloc:int32(var_6_409))
|
||||
stloc:int32(var_1_424, add:int32(ldloc:int32(var_1_41B), ldloc:int32(var_4_40D)))
|
||||
stloc:int32(var_4_426, ldloc:int32(var_1_424))
|
||||
stloc:int32(var_5_430, add:int32(ldloc:int32(var_5_41E), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_437, add:int32(ldloc:int32(var_5_430), ldloc:int32(var_4_426)))
|
||||
stloc:int32(var_1_43B, ldloc:int32(var_5_437))
|
||||
stloc:int32(var_1_440, add:int32(ldloc:int32(var_1_43B), ldloc:int32(var_5_437)))
|
||||
stloc:int32(var_5_445, ldloc:int32(var_1_440))
|
||||
stloc:int32(var_2_448, ldloc:int32(var_1_440))
|
||||
stloc:int32(var_5_451, add:int32(ldloc:int32(var_5_445), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_458, add:int32(ldloc:int32(var_5_451), ldloc:int32(var_5_451)))
|
||||
stloc:int32(var_5_45E, ldloc:int32(var_1_440))
|
||||
stloc:int32(var_5_465, add:int32(ldloc:int32(var_5_45E), ldloc:int32(var_5_45E)))
|
||||
stloc:int32(var_5_473, add:int32(ldloc:int32(var_5_465), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_47A, add:int32(ldloc:int32(var_5_473), ldloc:int32(var_5_473)))
|
||||
stloc:int32(var_6_47E, ldloc:int32(var_5_47A))
|
||||
stloc:int32(var_6_484, add:int32(ldloc:int32(var_6_47E), ldloc:int32(var_3_411)))
|
||||
stloc:int32(var_5_48C, ldloc:int32(var_6_484))
|
||||
stloc:int32(var_5_496, add:int32(ldloc:int32(var_5_48C), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_49A, ldloc:int32(var_6_484))
|
||||
stloc:int32(var_5_4A0, add:int32(ldloc:int32(var_5_49A), ldloc:int32(var_3_411)))
|
||||
stloc:int32(var_1_4A4, ldloc:int32(var_5_4A0))
|
||||
stloc:int32(var_5_4A7, ldloc:int32(var_6_484))
|
||||
stloc:int32(var_1_4AC, add:int32(ldloc:int32(var_1_4A4), ldloc:int32(var_2_448)))
|
||||
stloc:int32(var_4_4AE, ldloc:int32(var_1_4AC))
|
||||
stloc:int32(var_5_4B8, add:int32(ldloc:int32(var_5_4A7), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_4BE, add:int32(ldloc:int32(var_5_4B8), ldloc:int32(var_2_448)))
|
||||
stloc:int32(var_1_4C2, ldloc:int32(var_5_4BE))
|
||||
stloc:int32(var_5_4C4, ldloc:int32(var_1_4C2))
|
||||
stloc:int32(var_1_4CA, add:int32(ldloc:int32(var_1_4C2), ldloc:int32(var_4_4AE)))
|
||||
stloc:int32(var_4_4CC, ldloc:int32(var_1_4CA))
|
||||
stloc:int32(var_5_4D3, add:int32(ldloc:int32(var_5_4C4), ldloc:int32(var_4_4CC)))
|
||||
stloc:int32(var_5_4DD, add:int32(ldloc:int32(var_5_4D3), ldloc:int32(var_5_4D3)))
|
||||
stloc:int32(var_5_4E0, ldloc:int32(var_1_4CA))
|
||||
stloc:int32(var_5_4EE, add:int32(ldloc:int32(var_5_4E0), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_4F5, add:int32(ldloc:int32(var_5_4EE), ldloc:int32(var_5_4EE)))
|
||||
stloc:int32(var_6_4F9, ldloc:int32(var_5_4F5))
|
||||
stloc:int32(var_5_4FC, ldloc:int32(var_1_4CA))
|
||||
stloc:int32(var_6_503, add:int32(ldloc:int32(var_6_4F9), ldloc:int32(var_5_4FC)))
|
||||
stloc:int32(var_3_507, ldloc:int32(var_6_503))
|
||||
stloc:int32(var_5_513, add:int32(ldloc:int32(var_5_4FC), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_5_51A, add:int32(ldloc:int32(var_5_513), ldloc:int32(var_5_513)))
|
||||
stloc:int32(var_4_51E, ldloc:int32(var_5_51A))
|
||||
stloc:int32(var_4_525, add:int32(ldloc:int32(var_4_51E), ldloc:int32(var_4_51E)))
|
||||
stloc:int32(var_5_52C, ldloc:int32(var_2_448))
|
||||
stloc:int32(var_5_536, add:int32(ldloc:int32(var_5_52C), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_4_53A, ldloc:int32(var_5_536))
|
||||
stloc:int32(var_5_541, add:int32(ldloc:int32(var_5_536), ldloc:int32(var_5_536)))
|
||||
stloc:int32(var_1_545, ldloc:int32(var_5_541))
|
||||
stloc:int32(var_1_54A, add:int32(ldloc:int32(var_1_545), ldloc:int32(var_5_541)))
|
||||
stloc:int32(var_5_54C, ldloc:int32(var_1_54A))
|
||||
stloc:int32(var_5_553, add:int32(ldloc:int32(var_5_54C), ldloc:int32(var_4_53A)))
|
||||
stloc:int32(var_5_556, ldloc:int32(var_1_54A))
|
||||
stloc:int32(var_5_55D, add:int32(ldloc:int32(var_5_556), ldloc:int32(var_5_556)))
|
||||
stloc:int32(var_5_564, ldloc:int32(var_3_507))
|
||||
stloc:int32(var_4_568, ldloc:int32(var_5_564))
|
||||
stloc:int32(var_5_56F, add:int32(ldloc:int32(var_5_564), ldloc:int32(var_4_568)))
|
||||
stloc:int32(var_4_573, ldloc:int32(var_5_56F))
|
||||
stloc:int32(var_5_57A, add:int32(ldloc:int32(var_5_56F), ldloc:int32(var_5_56F)))
|
||||
stloc:int32(var_5_581, add:int32(ldloc:int32(var_5_57A), ldloc:int32(var_4_573)))
|
||||
stloc:int32(var_5_585, ldloc:int32(var_4_573))
|
||||
stloc:int32(var_5_58C, add:int32(ldloc:int32(var_5_585), ldloc:int32(var_5_585)))
|
||||
stloc:int32(var_5_593, add:int32(ldloc:int32(var_5_58C), ldloc:int32(var_4_573)))
|
||||
stloc:int32(var_1_597, ldloc:int32(var_5_593))
|
||||
stloc:int32(var_1_59C, add:int32(ldloc:int32(var_1_597), ldloc:int32(var_5_593)))
|
||||
stloc:int32(var_5_5A9, add:int32(ldloc:int32(var_5_593), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_4_5AD, ldloc:int32(var_5_5A9))
|
||||
stloc:int32(var_5_5B4, add:int32(ldloc:int32(var_5_5A9), ldloc:int32(var_5_5A9)))
|
||||
stloc:int32(var_5_5BB, add:int32(ldloc:int32(var_5_5B4), ldloc:int32(var_4_5AD)))
|
||||
stloc:int32(var_4_5BE, ldloc:int32(var_1_59C))
|
||||
stloc:int32(var_5_5C5, add:int32(ldloc:int32(var_5_5BB), ldloc:int32(var_4_5BE)))
|
||||
stloc:int32(var_5_5CC, add:int32(ldloc:int32(var_5_5C5), ldloc:int32(var_5_5C5)))
|
||||
stloc:int32(var_5_5D3, add:int32(ldloc:int32(var_5_5CC), ldloc:int32(var_4_5BE)))
|
||||
stloc:int32(var_1_5D7, ldloc:int32(var_5_5D3))
|
||||
stloc:int32(var_4_5DA, ldloc:int32(var_5_5D3))
|
||||
stloc:int32(var_1_5E0, add:int32(ldloc:int32(var_1_5D7), ldloc:int32(var_5_5D3)))
|
||||
stloc:int32(var_5_5E6, add:int32(ldloc:int32(var_5_5D3), ldloc:int32(var_4_5DA)))
|
||||
stloc:int32(var_4_5EA, ldloc:int32(var_5_5E6))
|
||||
stloc:int32(var_5_5F1, add:int32(ldloc:int32(var_5_5E6), ldloc:int32(var_4_5EA)))
|
||||
stloc:int32(var_4_5F4, ldloc:int32(var_1_5E0))
|
||||
stloc:int32(var_5_5FB, add:int32(ldloc:int32(var_5_5F1), ldloc:int32(var_4_5F4)))
|
||||
stloc:int32(var_5_602, add:int32(ldloc:int32(var_5_5FB), ldloc:int32(var_5_5FB)))
|
||||
stloc:int32(var_5_606, ldloc:int32(var_4_5F4))
|
||||
stloc:int32(var_5_60D, add:int32(ldloc:int32(var_5_606), ldloc:int32(var_4_5F4)))
|
||||
stloc:int32(var_1_611, ldloc:int32(var_5_60D))
|
||||
stloc:int32(var_1_616, add:int32(ldloc:int32(var_1_611), ldloc:int32(var_5_60D)))
|
||||
stloc:int32(var_5_618, ldloc:int32(var_1_616))
|
||||
stloc:int32(var_4_61C, ldloc:int32(var_5_618))
|
||||
stloc:int32(var_5_623, add:int32(ldloc:int32(var_5_618), ldloc:int32(var_4_61C)))
|
||||
stloc:int32(var_4_627, ldloc:int32(var_5_623))
|
||||
stloc:int32(var_5_62E, add:int32(ldloc:int32(var_5_623), ldloc:int32(var_4_627)))
|
||||
stloc:int32(var_4_631, ldloc:int32(var_1_616))
|
||||
stloc:int32(var_5_638, add:int32(ldloc:int32(var_5_62E), ldloc:int32(var_4_631)))
|
||||
stloc:int32(var_5_63F, add:int32(ldloc:int32(var_5_638), ldloc:int32(var_5_638)))
|
||||
stloc:int32(var_5_643, ldloc:int32(var_4_631))
|
||||
stloc:int32(var_3_647, ldloc:int32(var_5_643))
|
||||
stloc:int32(var_5_64D, add:int32(ldloc:int32(var_5_643), ldloc:int32(var_4_631)))
|
||||
stloc:int32(var_1_651, ldloc:int32(var_5_64D))
|
||||
stloc:int32(var_4_654, ldloc:int32(var_5_64D))
|
||||
stloc:int32(var_1_65A, add:int32(ldloc:int32(var_1_651), ldloc:int32(var_5_64D)))
|
||||
stloc:int32(var_5_663, add:int32(ldloc:int32(var_5_64D), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_5_66A, add:int32(ldloc:int32(var_5_663), ldloc:int32(var_5_663)))
|
||||
stloc:int32(var_5_671, add:int32(ldloc:int32(var_5_66A), ldloc:int32(var_4_654)))
|
||||
stloc:int32(var_4_674, ldloc:int32(var_3_647))
|
||||
stloc:int32(var_5_67D, ldloc:int32(var_3_647))
|
||||
stloc:int32(var_5_684, add:int32(ldloc:int32(var_5_67D), ldloc:int32(var_4_674)))
|
||||
stloc:int32(var_2_688, ldloc:int32(var_5_684))
|
||||
stloc:int32(var_4_691, add:int32(ldloc:int32(var_4_674), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_2_697, add:int32(ldloc:int32(var_2_688), ldloc:int32(var_5_684)))
|
||||
stloc:int32(var_4_69C, add:int32(ldloc:int32(var_4_691), ldloc:int32(var_3_647)))
|
||||
stloc:int32(var_5_6A0, ldloc:int32(var_6_503))
|
||||
stloc:int32(var_4_6A7, add:int32(ldloc:int32(var_4_69C), ldloc:int32(var_5_6A0)))
|
||||
stloc:int32(var_5_6B1, add:int32(ldloc:int32(var_5_6A0), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_6B5, ldloc:int32(var_4_6A7))
|
||||
stloc:int32(var_6_6BC, add:int32(ldloc:int32(var_6_6B5), ldloc:int32(var_5_6B1)))
|
||||
stloc:int32(var_5_6C0, ldloc:int32(var_6_6BC))
|
||||
stloc:int32(var_6_6C4, ldloc:int32(var_4_6A7))
|
||||
stloc:int32(var_5_6CB, add:int32(ldloc:int32(var_5_6C0), ldloc:int32(var_5_6C0)))
|
||||
stloc:int32(var_5_6D5, add:int32(ldloc:int32(var_5_6CB), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_6DC, add:int32(ldloc:int32(var_6_6C4), ldloc:int32(var_5_6D5)))
|
||||
stloc:int32(var_5_6E0, ldloc:int32(var_4_6A7))
|
||||
stloc:int32(var_4_6E4, ldloc:int32(var_6_6DC))
|
||||
stloc:int32(var_4_6EB, add:int32(ldloc:int32(var_4_6E4), ldloc:int32(var_5_6E0)))
|
||||
stloc:int32(var_5_6F5, add:int32(ldloc:int32(var_5_6E0), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_6F9, ldloc:int32(var_5_6F5))
|
||||
stloc:int32(var_6_700, add:int32(ldloc:int32(var_6_6F9), ldloc:int32(var_5_6F5)))
|
||||
stloc:int32(var_4_704, ldloc:int32(var_6_700))
|
||||
stloc:int32(var_4_70B, add:int32(ldloc:int32(var_4_704), ldloc:int32(var_5_6F5)))
|
||||
stloc:int32(var_6_70F, ldloc:int32(var_4_70B))
|
||||
stloc:int32(var_5_719, add:int32(ldloc:int32(var_5_6F5), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_720, add:int32(ldloc:int32(var_6_70F), ldloc:int32(var_5_719)))
|
||||
stloc:int32(var_5_728, ldloc:int32(var_6_720))
|
||||
stloc:int32(var_5_72F, add:int32(ldloc:int32(var_5_728), ldloc:int32(var_5_728)))
|
||||
stloc:int32(var_6_733, ldloc:int32(var_4_70B))
|
||||
stloc:int32(var_5_73D, add:int32(ldloc:int32(var_5_72F), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_744, add:int32(ldloc:int32(var_6_733), ldloc:int32(var_5_73D)))
|
||||
stloc:int32(var_5_748, ldloc:int32(var_4_70B))
|
||||
stloc:int32(var_4_74C, ldloc:int32(var_6_744))
|
||||
stloc:int32(var_4_753, add:int32(ldloc:int32(var_4_74C), ldloc:int32(var_5_748)))
|
||||
stloc:int32(var_6_757, ldloc:int32(var_5_748))
|
||||
stloc:int32(var_5_75B, ldloc:int32(var_4_753))
|
||||
stloc:int32(var_6_765, add:int32(ldloc:int32(var_6_757), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_76C, add:int32(ldloc:int32(var_6_765), ldloc:int32(var_5_75B)))
|
||||
stloc:int32(var_4_770, ldloc:int32(var_6_76C))
|
||||
stloc:int32(var_6_774, ldloc:int32(var_4_770))
|
||||
stloc:int32(var_4_77B, add:int32(ldloc:int32(var_4_770), ldloc:int32(var_5_75B)))
|
||||
stloc:int32(var_3_77F, ldloc:int32(var_4_77B))
|
||||
stloc:int32(var_6_788, add:int32(ldloc:int32(var_6_774), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_78F, add:int32(ldloc:int32(var_6_788), ldloc:int32(var_5_75B)))
|
||||
stloc:int32(var_5_793, ldloc:int32(var_6_78F))
|
||||
stloc:int32(var_6_797, ldloc:int32(var_4_77B))
|
||||
stloc:int32(var_5_79E, add:int32(ldloc:int32(var_5_793), ldloc:int32(var_5_793)))
|
||||
stloc:int32(var_6_7A8, add:int32(ldloc:int32(var_6_797), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_7AF, add:int32(ldloc:int32(var_6_7A8), ldloc:int32(var_5_79E)))
|
||||
stloc:int32(var_5_7B3, ldloc:int32(var_6_7AF))
|
||||
stloc:int32(var_5_7BA, add:int32(ldloc:int32(var_5_7B3), ldloc:int32(var_5_7B3)))
|
||||
stloc:int32(var_6_7BE, ldloc:int32(var_5_7BA))
|
||||
stloc:int32(var_5_7C8, add:int32(ldloc:int32(var_5_7BA), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_7CF, add:int32(ldloc:int32(var_6_7BE), ldloc:int32(var_5_7C8)))
|
||||
stloc:int32(var_5_7D3, ldloc:int32(var_6_7CF))
|
||||
stloc:int32(var_5_7DA, add:int32(ldloc:int32(var_5_7D3), ldloc:int32(var_5_7D3)))
|
||||
stloc:int32(var_6_7DE, ldloc:int32(var_5_7DA))
|
||||
stloc:int32(var_6_7E8, add:int32(ldloc:int32(var_6_7DE), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_7EF, add:int32(ldloc:int32(var_6_7E8), ldloc:int32(var_5_7DA)))
|
||||
stloc:int32(var_4_7F3, ldloc:int32(var_6_7EF))
|
||||
stloc:int32(var_6_7F7, ldloc:int32(var_5_7DA))
|
||||
stloc:int32(var_4_7FD, add:int32(ldloc:int32(var_4_7F3), ldloc:int32(var_3_77F)))
|
||||
stloc:int32(var_8_806, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_0_06), ldc.i4:int32(6)))
|
||||
stloc:int32(var_8_810, add:int32(ldloc:int32(var_8_806), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_81A, add:int32(ldloc:int32(var_6_7F7), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_820, add:int32(ldloc:int32(var_6_81A), ldloc:int32(var_3_77F)))
|
||||
stloc:int32(var_4_824, ldloc:int32(var_6_820))
|
||||
stloc:int32(var_6_828, ldloc:int32(var_4_824))
|
||||
stloc:int32(var_4_82F, add:int32(ldloc:int32(var_4_824), ldloc:int32(var_5_7DA)))
|
||||
stloc:int32(var_6_836, add:int32(ldloc:int32(var_6_828), ldloc:int32(var_8_810)))
|
||||
stloc:int32(var_8_83A, ldloc:int32(var_4_82F))
|
||||
stloc:int32(var_6_841, add:int32(ldloc:int32(var_6_836), ldloc:int32(var_5_7DA)))
|
||||
stloc:int32(var_5_845, ldloc:int32(var_6_841))
|
||||
stloc:int32(var_6_849, ldloc:int32(var_4_82F))
|
||||
stloc:int32(var_5_850, add:int32(ldloc:int32(var_5_845), ldloc:int32(var_5_845)))
|
||||
stloc:int32(var_5_85A, add:int32(ldloc:int32(var_5_850), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_861, add:int32(ldloc:int32(var_6_849), ldloc:int32(var_5_85A)))
|
||||
stloc:int32(var_5_865, ldloc:int32(var_4_82F))
|
||||
stloc:int32(var_4_869, ldloc:int32(var_6_861))
|
||||
stloc:int32(var_4_870, add:int32(ldloc:int32(var_4_869), ldloc:int32(var_5_865)))
|
||||
stloc:int32(var_9_879, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_0_06), ldc.i4:int32(6)))
|
||||
stloc:int32(var_6_87D, ldloc:int32(var_5_865))
|
||||
stloc:int32(var_4_881, ldloc:int32(var_5_865))
|
||||
stloc:int32(var_6_88B, add:int32(ldloc:int32(var_6_87D), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_892, add:int32(ldloc:int32(var_6_88B), ldloc:int32(var_5_865)))
|
||||
stloc:int32(var_3_896, ldloc:int32(var_6_892))
|
||||
stloc:int32(var_6_899, ldloc:int32(var_4_881))
|
||||
stloc:int32(var_3_89F, add:int32(ldloc:int32(var_3_896), ldloc:int32(var_8_83A)))
|
||||
stloc:int32(var_6_8A8, add:int32(ldloc:int32(var_6_899), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_6_8AF, add:int32(ldloc:int32(var_6_8A8), ldloc:int32(var_9_879)))
|
||||
stloc:int32(var_6_8B6, add:int32(ldloc:int32(var_6_8AF), ldloc:int32(var_8_83A)))
|
||||
stloc:int32(var_4_8BA, ldloc:int32(var_6_8B6))
|
||||
stloc:int32(var_4_8C5, add:int32(ldloc:int32(var_4_8BA), ldloc:int32(var_5_865)))
|
||||
stloc:int32(var_5_8C8, ldloc:int32(var_2_697))
|
||||
stloc:int32(var_5_8D2, add:int32(ldloc:int32(var_5_8C8), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_8D6, ldloc:int32(var_5_8D2))
|
||||
stloc:int32(var_6_8DD, add:int32(ldloc:int32(var_6_8D6), ldloc:int32(var_5_8D2)))
|
||||
stloc:int32(var_5_8E1, ldloc:int32(var_6_8DD))
|
||||
stloc:int32(var_6_8E4, ldloc:int32(var_2_697))
|
||||
stloc:int32(var_5_8EA, add:int32(ldloc:int32(var_5_8E1), ldloc:int32(var_3_89F)))
|
||||
stloc:int32(var_6_8F4, add:int32(ldloc:int32(var_6_8E4), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_8FA, add:int32(ldloc:int32(var_6_8F4), ldloc:int32(var_3_89F)))
|
||||
stloc:int32(var_5_8FE, ldloc:int32(var_6_8FA))
|
||||
stloc:int32(var_6_902, ldloc:int32(var_5_8FE))
|
||||
stloc:int32(var_5_908, add:int32(ldloc:int32(var_5_8FE), ldloc:int32(var_2_697)))
|
||||
stloc:int32(var_6_912, add:int32(ldloc:int32(var_6_902), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_918, add:int32(ldloc:int32(var_6_912), ldloc:int32(var_2_697)))
|
||||
stloc:int32(var_4_91C, ldloc:int32(var_6_918))
|
||||
stloc:int32(var_8_920, ldloc:int32(var_5_908))
|
||||
stloc:int32(var_4_927, add:int32(ldloc:int32(var_4_91C), ldloc:int32(var_5_908)))
|
||||
stloc:int32(var_6_92B, ldloc:int32(var_5_908))
|
||||
stloc:int32(var_5_935, add:int32(ldloc:int32(var_5_908), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_93C, add:int32(ldloc:int32(var_6_92B), ldloc:int32(var_5_935)))
|
||||
stloc:int32(var_5_940, ldloc:int32(var_6_93C))
|
||||
stloc:int32(var_5_947, add:int32(ldloc:int32(var_5_940), ldloc:int32(var_5_940)))
|
||||
stloc:int32(var_6_94B, ldloc:int32(var_4_927))
|
||||
stloc:int32(var_5_955, add:int32(ldloc:int32(var_5_947), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_95C, add:int32(ldloc:int32(var_6_94B), ldloc:int32(var_5_955)))
|
||||
stloc:int32(var_5_964, ldloc:int32(var_6_95C))
|
||||
stloc:int32(var_5_96B, add:int32(ldloc:int32(var_5_964), ldloc:int32(var_8_920)))
|
||||
stloc:int32(var_6_96F, ldloc:int32(var_5_96B))
|
||||
stloc:int32(var_8_979, add:int32(ldloc:int32(var_8_920), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_980, add:int32(ldloc:int32(var_6_96F), ldloc:int32(var_8_979)))
|
||||
stloc:int32(var_8_984, ldloc:int32(var_5_96B))
|
||||
stloc:int32(var_4_988, ldloc:int32(var_6_980))
|
||||
stloc:int32(var_6_98C, ldloc:int32(var_5_96B))
|
||||
stloc:int32(var_4_993, add:int32(ldloc:int32(var_4_988), ldloc:int32(var_5_96B)))
|
||||
stloc:int32(var_5_99D, add:int32(ldloc:int32(var_5_96B), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_9A4, add:int32(ldloc:int32(var_6_98C), ldloc:int32(var_5_99D)))
|
||||
stloc:int32(var_5_9A8, ldloc:int32(var_6_9A4))
|
||||
stloc:int32(var_6_9AC, ldloc:int32(var_4_993))
|
||||
stloc:int32(var_5_9B3, add:int32(ldloc:int32(var_5_9A8), ldloc:int32(var_5_9A8)))
|
||||
stloc:int32(var_6_9BD, add:int32(ldloc:int32(var_6_9AC), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_9C4, add:int32(ldloc:int32(var_6_9BD), ldloc:int32(var_5_9B3)))
|
||||
stloc:int32(var_5_9C8, ldloc:int32(var_6_9C4))
|
||||
stloc:int32(var_5_9CF, add:int32(ldloc:int32(var_5_9C8), ldloc:int32(var_8_984)))
|
||||
stloc:int32(var_5_9D3, ldloc:int32(var_4_993))
|
||||
stloc:int32(var_6_9D7, ldloc:int32(var_5_9D3))
|
||||
stloc:int32(var_8_9E1, add:int32(ldloc:int32(var_8_984), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_6_9E8, add:int32(ldloc:int32(var_6_9D7), ldloc:int32(var_8_9E1)))
|
||||
stloc:int32(var_9_9FA, add:int32(ldloc:int32(var_9_879), ldc.i4:int32(1836072691)))
|
||||
}
|
||||
|
||||
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: 0x06009F45 RID: 40773 RVA: 0x0024D198 File Offset: 0x0024B398
|
||||
[Token(Token = "0x6009F45")]
|
||||
[Address(RVA = "0x2243AC0", Offset = "0x22424C0", VA = "0x182243AC0", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F45)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD160Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RipeMD160Digest(var_0_06, newobj:RipeMD160Digest(RipeMD160Digest::.ctor, ldloc:RipeMD160Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](RipeMD160Digest::X, ldloc:RipeMD160Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(RipeMD160Digest::CopyIn, ldloc:RipeMD160Digest(var_0_06), ldloc:RipeMD160Digest(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: 0x06009F46 RID: 40774 RVA: 0x0024D1C4 File Offset: 0x0024B3C4
|
||||
[Token(Token = "0x6009F46")]
|
||||
[Address(RVA = "0x22463B0", Offset = "0x2244DB0", VA = "0x1822463B0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040068A8 RID: 26792
|
||||
[Token(Token = "0x40068A8")]
|
||||
private const int DigestLength = 20;
|
||||
|
||||
// Token: 0x040068A9 RID: 26793
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40068A9")]
|
||||
private int H0;
|
||||
|
||||
// Token: 0x040068AA RID: 26794
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40068AA")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x040068AB RID: 26795
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40068AB")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x040068AC RID: 26796
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40068AC")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x040068AD RID: 26797
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40068AD")]
|
||||
private int H4;
|
||||
|
||||
// Token: 0x040068AE RID: 26798
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40068AE")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x040068AF RID: 26799
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40068AF")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
+874
@@ -0,0 +1,874 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001714 RID: 5908
|
||||
[Token(Token = "0x2001714")]
|
||||
[StructLayout(3)]
|
||||
public class RipeMD256Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x17001918 RID: 6424
|
||||
// (get) Token: 0x06009F47 RID: 40775 RVA: 0x0024D1DC File Offset: 0x0024B3DC
|
||||
[Token(Token = "0x17001918")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F47")]
|
||||
[Address(RVA = "0x2248470", Offset = "0x2246E70", VA = "0x182248470", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "RIPEMD256";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F48 RID: 40776 RVA: 0x0024D1F0 File Offset: 0x0024B3F0
|
||||
[Token(Token = "0x6009F48")]
|
||||
[Address(RVA = "0xC390D0", Offset = "0xC37AD0", VA = "0x180C390D0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009F49 RID: 40777 RVA: 0x0024D200 File Offset: 0x0024B400
|
||||
[Token(Token = "0x6009F49")]
|
||||
[Address(RVA = "0x22483A0", Offset = "0x2246DA0", VA = "0x1822483A0")]
|
||||
public RipeMD256Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009F4A RID: 40778 RVA: 0x0024D22C File Offset: 0x0024B42C
|
||||
[Token(Token = "0x6009F4A")]
|
||||
[Address(RVA = "0x2248400", Offset = "0x2246E00", VA = "0x182248400")]
|
||||
public RipeMD256Digest(RipeMD256Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009F4B RID: 40779 RVA: 0x0024D258 File Offset: 0x0024B458
|
||||
[Token(Token = "0x6009F4B")]
|
||||
[Address(RVA = "0x22465F0", Offset = "0x2244FF0", VA = "0x1822465F0")]
|
||||
private void CopyIn(RipeMD256Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H0;
|
||||
this.H0 = h;
|
||||
int h2 = t.H1;
|
||||
this.H1 = h2;
|
||||
int h3 = t.H2;
|
||||
this.H2 = h3;
|
||||
int h4 = t.H3;
|
||||
this.H3 = h4;
|
||||
int h5 = t.H4;
|
||||
this.H4 = h5;
|
||||
int h6 = t.H5;
|
||||
this.H5 = h6;
|
||||
int h7 = t.H6;
|
||||
this.H6 = h7;
|
||||
int h8 = t.H7;
|
||||
this.H7 = h8;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x06009F4C RID: 40780 RVA: 0x0024D328 File Offset: 0x0024B528
|
||||
[Token(Token = "0x6009F4C")]
|
||||
[Address(RVA = "0x2248130", Offset = "0x2246B30", VA = "0x182248130", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F4D RID: 40781 RVA: 0x0024D374 File Offset: 0x0024B574
|
||||
[Token(Token = "0x6009F4D")]
|
||||
[Address(RVA = "0x22480B0", Offset = "0x2246AB0", VA = "0x1822480B0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009F4E RID: 40782 RVA: 0x0024D3AC File Offset: 0x0024B5AC
|
||||
[Token(Token = "0x6009F4E")]
|
||||
[Address(RVA = "0x2187850", Offset = "0x2186250", VA = "0x182187850")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x06009F4F RID: 40783 RVA: 0x0024D3C4 File Offset: 0x0024B5C4
|
||||
[Token(Token = "0x6009F4F")]
|
||||
[Address(RVA = "0x2246720", Offset = "0x2245120", VA = "0x182246720", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H0;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H1;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H2;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H3;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
int h4 = this.H4;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
int h5 = this.H5;
|
||||
num = h5;
|
||||
output[0] = (byte)num;
|
||||
num = h5;
|
||||
output[0] = (byte)num;
|
||||
int h6 = this.H6;
|
||||
num = h6;
|
||||
output[0] = (byte)num;
|
||||
num = h6;
|
||||
output[0] = (byte)num;
|
||||
int h7 = this.H7;
|
||||
num = h7;
|
||||
output[0] = (byte)num;
|
||||
num = h7;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F50 RID: 40784 RVA: 0x0024D4B4 File Offset: 0x0024B6B4
|
||||
[Token(Token = "0x6009F50")]
|
||||
[Address(RVA = "0x22482F0", Offset = "0x2246CF0", VA = "0x1822482F0", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H0 = (int)((ulong)1732584193L);
|
||||
this.H1 = (int)((ulong)4023233417L);
|
||||
this.H2 = (int)((ulong)2562383102L);
|
||||
this.H3 = (int)((ulong)271733878L);
|
||||
this.H4 = (int)((ulong)1985229328L);
|
||||
this.H5 = (int)((ulong)4275878552L);
|
||||
this.H6 = (int)((ulong)2309737967L);
|
||||
this.H7 = (int)((ulong)19088743L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F51 RID: 40785 RVA: 0x0024D570 File Offset: 0x0024B770
|
||||
[Token(Token = "0x6009F51")]
|
||||
[Address(RVA = "0x2128700", Offset = "0x2127100", VA = "0x182128700")]
|
||||
private int RL(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F52 RID: 40786 RVA: 0x0024D580 File Offset: 0x0024B780
|
||||
[Token(Token = "0x6009F52")]
|
||||
[Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")]
|
||||
private int F1(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F53 RID: 40787 RVA: 0x0024D590 File Offset: 0x0024B790
|
||||
[Token(Token = "0x6009F53")]
|
||||
[Address(RVA = "0xB6B770", Offset = "0xB6A170", VA = "0x180B6B770")]
|
||||
private int F2(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F54 RID: 40788 RVA: 0x0024D5A0 File Offset: 0x0024B7A0
|
||||
[Token(Token = "0x6009F54")]
|
||||
[Address(RVA = "0x2242270", Offset = "0x2240C70", VA = "0x182242270")]
|
||||
private int F3(int x, int y, int z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x06009F55 RID: 40789 RVA: 0x0024D5B0 File Offset: 0x0024B7B0
|
||||
[Token(Token = "0x6009F55")]
|
||||
[Address(RVA = "0x2242300", Offset = "0x2240D00", VA = "0x182242300")]
|
||||
private int F4(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x06009F56 RID: 40790 RVA: 0x0024D5C0 File Offset: 0x0024B7C0
|
||||
[Token(Token = "0x6009F56")]
|
||||
[Address(RVA = "0x2242200", Offset = "0x2240C00", VA = "0x182242200")]
|
||||
private int F1(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009F57 RID: 40791 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F57")]
|
||||
[Address(RVA = "0x2242230", Offset = "0x2240C30", VA = "0x182242230")]
|
||||
private int F2(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F58 RID: 40792 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F58")]
|
||||
[Address(RVA = "0x2242280", Offset = "0x2240C80", VA = "0x182242280")]
|
||||
private int F3(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F59 RID: 40793 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F59")]
|
||||
[Address(RVA = "0x22422C0", Offset = "0x2240CC0", VA = "0x1822422C0")]
|
||||
private int F4(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F5A RID: 40794 RVA: 0x0024D5D0 File Offset: 0x0024B7D0
|
||||
[Token(Token = "0x6009F5A")]
|
||||
[Address(RVA = "0x2242200", Offset = "0x2240C00", VA = "0x182242200")]
|
||||
private int FF1(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009F5B RID: 40795 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F5B")]
|
||||
[Address(RVA = "0x2242310", Offset = "0x2240D10", VA = "0x182242310")]
|
||||
private int FF2(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F5C RID: 40796 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F5C")]
|
||||
[Address(RVA = "0x2242350", Offset = "0x2240D50", VA = "0x182242350")]
|
||||
private int FF3(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F5D RID: 40797 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009F5D")]
|
||||
[Address(RVA = "0x2242390", Offset = "0x2240D90", VA = "0x182242390")]
|
||||
private int FF4(int a, int b, int c, int d, int x, int s)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009F5E RID: 40798 RVA: 0x0024D5E0 File Offset: 0x0024B7E0
|
||||
[Token(Token = "0x6009F5E")]
|
||||
[Address(RVA = "0x2246BC0", Offset = "0x22455C0", VA = "0x182246BC0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
int num = this.H4;
|
||||
int num2 = this.H5;
|
||||
int num3 = this.H0;
|
||||
int num4 = this.H1;
|
||||
int num5 = this.H2;
|
||||
int num6 = this.H3;
|
||||
int num7 = this.H6;
|
||||
int num8 = this.H7;
|
||||
int[] x = this.X;
|
||||
int num9 = x.Length;
|
||||
num6 += num3;
|
||||
num3 = num6;
|
||||
num6 = num5;
|
||||
num6 += num6;
|
||||
num6 += num5;
|
||||
num5 = num6;
|
||||
num6 = num5;
|
||||
num6 += num4;
|
||||
num4 = num6;
|
||||
num5 += num3;
|
||||
num3 = num5;
|
||||
num6 += num6;
|
||||
num6 += num6;
|
||||
num5 = num6;
|
||||
num6 = num5;
|
||||
num6 += num4;
|
||||
num4 = num6;
|
||||
num5 += num3;
|
||||
num3 = num5;
|
||||
num6 += num6;
|
||||
num6 += num6;
|
||||
int num10 = x[5];
|
||||
num5 = num6;
|
||||
num6 = num5;
|
||||
num6 += num10;
|
||||
num6 += num4;
|
||||
num4 = num6;
|
||||
num5 += num3;
|
||||
int num11 = x[6];
|
||||
num6 += num11;
|
||||
num6 += num6;
|
||||
int num12 = x[7];
|
||||
num6 += num12;
|
||||
num6 += num6;
|
||||
int num13 = x[7];
|
||||
num6 += num13;
|
||||
num6 += num4;
|
||||
num9 = num8;
|
||||
num += 1352829926;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num9 = num7;
|
||||
num = num7;
|
||||
num9 += num12;
|
||||
num += num9;
|
||||
num9 = num2;
|
||||
num4 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num9 = num3;
|
||||
num12 = num;
|
||||
num = num12;
|
||||
num += num9;
|
||||
num9 = num4;
|
||||
num6 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num9 = num12;
|
||||
num = num12;
|
||||
num += num9;
|
||||
num9 = num6;
|
||||
num4 = num;
|
||||
num = num4;
|
||||
num9 += num10;
|
||||
num += num9;
|
||||
num2 = num;
|
||||
num = num2;
|
||||
num9 = num4;
|
||||
num += 1352829926;
|
||||
num += num6;
|
||||
num12 = num;
|
||||
num = num4;
|
||||
num9 += num11;
|
||||
num += num9;
|
||||
num9 = num2;
|
||||
num3 = num;
|
||||
num = num2;
|
||||
num += num9;
|
||||
num9 = num12;
|
||||
num4 = num;
|
||||
num = num4;
|
||||
num9 += num13;
|
||||
num += num9;
|
||||
num9 = num3;
|
||||
num2 = num;
|
||||
num = num2;
|
||||
num += num9;
|
||||
num9 = num4;
|
||||
num12 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num = num2;
|
||||
num += 1352829926;
|
||||
num9 = num12;
|
||||
num += num4;
|
||||
num10 = num;
|
||||
num = num10;
|
||||
num += num9;
|
||||
num11 = num;
|
||||
num9 = num3;
|
||||
num = num11;
|
||||
num += num9;
|
||||
num13 = num;
|
||||
num = num6;
|
||||
num += num9;
|
||||
num = num9;
|
||||
num += 1518500249;
|
||||
num += num6;
|
||||
num3 = num;
|
||||
num = num3;
|
||||
num += 1518500249;
|
||||
num += num6;
|
||||
num4 = num;
|
||||
num = num3;
|
||||
num9 = num4;
|
||||
num += num9;
|
||||
num9 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num12 = num;
|
||||
num = num9;
|
||||
num9 = num12;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num9 = num3;
|
||||
num = num3;
|
||||
num += num9;
|
||||
num6 = num;
|
||||
num = num3;
|
||||
num9 = num6;
|
||||
num += num9;
|
||||
num4 = num;
|
||||
num = num6;
|
||||
num9 = num4;
|
||||
num += num9;
|
||||
num9 = num;
|
||||
num = num4;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num = num3;
|
||||
num += 1518500249;
|
||||
num += num6;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num9 = num12;
|
||||
num += num9;
|
||||
num4 = num;
|
||||
num = num12;
|
||||
num9 = num4;
|
||||
num += 1518500249;
|
||||
num += num9;
|
||||
num6 = num;
|
||||
num = num4;
|
||||
num9 = num6;
|
||||
int num14 = x[5];
|
||||
num += num9;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += 1518500249;
|
||||
num += num14;
|
||||
num += num12;
|
||||
num7 = num;
|
||||
num8 = num7;
|
||||
num6 = num8;
|
||||
num = num11;
|
||||
num6 += 1518500249;
|
||||
num6 += num4;
|
||||
num3 += 1548603684;
|
||||
num += num3;
|
||||
num14 += 1548603684;
|
||||
num3 = num;
|
||||
num = num13;
|
||||
num += num14;
|
||||
num += num10;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num += 1548603684;
|
||||
num += num11;
|
||||
num14 = num;
|
||||
num = num12;
|
||||
num3 += 1548603684;
|
||||
num += 1548603684;
|
||||
num += num13;
|
||||
num4 = num;
|
||||
num = num14;
|
||||
num12 += 1548603684;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num4;
|
||||
num14 += 1548603684;
|
||||
num += num12;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num += num14;
|
||||
num9 = num;
|
||||
num = num12;
|
||||
num += 1548603684;
|
||||
num += num4;
|
||||
num3 += 1548603684;
|
||||
num14 = num;
|
||||
num = num9;
|
||||
num12 += 1548603684;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num14;
|
||||
num += num12;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num14 += 1548603684;
|
||||
num += 1548603684;
|
||||
num += num9;
|
||||
num4 = num;
|
||||
num = num12;
|
||||
num3 += 1548603684;
|
||||
num += num14;
|
||||
num14 = num;
|
||||
num = num4;
|
||||
num += num3;
|
||||
num11 = num;
|
||||
num = num14;
|
||||
num4 += 1548603684;
|
||||
num += 1548603684;
|
||||
num += num12;
|
||||
num10 = num;
|
||||
num = num11;
|
||||
num += num4;
|
||||
num13 = num6;
|
||||
num = num10;
|
||||
num += 1548603684;
|
||||
num += num14;
|
||||
num4 = num;
|
||||
num += num8;
|
||||
num12 = num;
|
||||
num = num4;
|
||||
num += 1859775393;
|
||||
num += num6;
|
||||
num3 = num;
|
||||
num = num12;
|
||||
num4 += 1859775393;
|
||||
num += 1859775393;
|
||||
num += num7;
|
||||
num14 = num;
|
||||
num = num3;
|
||||
num12 += 1859775393;
|
||||
num += num4;
|
||||
num4 = num;
|
||||
num = num14;
|
||||
num3 += 1859775393;
|
||||
num += num12;
|
||||
num12 = num;
|
||||
num = num4;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num12;
|
||||
num4 += 1859775393;
|
||||
num += 1859775393;
|
||||
num += num14;
|
||||
num9 = num;
|
||||
num = num3;
|
||||
num += num4;
|
||||
num6 = num;
|
||||
num = num9;
|
||||
num3 += 1859775393;
|
||||
num += 1859775393;
|
||||
num += num12;
|
||||
num4 = num;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num14 = num;
|
||||
num = num4;
|
||||
num += 1859775393;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num = num14;
|
||||
num += 1859775393;
|
||||
num += num6;
|
||||
num12 = num;
|
||||
num = num3;
|
||||
num += 1859775393;
|
||||
num += num4;
|
||||
num7 = num;
|
||||
num = num12;
|
||||
num3 += 1859775393;
|
||||
num14 += 1859775393;
|
||||
num += num14;
|
||||
int num15 = x[2];
|
||||
num6 = num;
|
||||
num = num7;
|
||||
num8 = num6;
|
||||
num += num15;
|
||||
num15 += 1836072691;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num8;
|
||||
num3 += num;
|
||||
num = num3;
|
||||
num += 1836072691;
|
||||
num += num11;
|
||||
num = num13;
|
||||
num += num15;
|
||||
num += num10;
|
||||
num15 = num;
|
||||
num3 = num15;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num15;
|
||||
num += 1836072691;
|
||||
num += num13;
|
||||
num9 = num;
|
||||
num = num3;
|
||||
num3 = num9;
|
||||
num += num3;
|
||||
num12 = num;
|
||||
num = num9;
|
||||
num3 = num12;
|
||||
num += num3;
|
||||
num6 = num;
|
||||
num3 = num6;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num15 = num;
|
||||
num = num6;
|
||||
num3 = num15;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num = num3;
|
||||
num += 1836072691;
|
||||
num += num6;
|
||||
num9 = num;
|
||||
num3 = num9;
|
||||
num = num9;
|
||||
num += num3;
|
||||
num15 = num;
|
||||
num = num9;
|
||||
num3 = num15;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num10 = num;
|
||||
num = num3;
|
||||
num += 1836072691;
|
||||
num += num9;
|
||||
num11 = num;
|
||||
num3 = num11;
|
||||
num = num11;
|
||||
num += num3;
|
||||
num15 = num;
|
||||
num = num11;
|
||||
num12 = num15;
|
||||
num3 = num12;
|
||||
num += num3;
|
||||
num13 = num;
|
||||
num = num6;
|
||||
num += num8;
|
||||
num = num15;
|
||||
num += num12;
|
||||
num9 = num;
|
||||
num = num9;
|
||||
num += -1894007588;
|
||||
num += num15;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += -1894007588;
|
||||
num += num6;
|
||||
num8 = num;
|
||||
num = num9;
|
||||
num3 = num6;
|
||||
num += -1894007588;
|
||||
num += num3;
|
||||
num = num6;
|
||||
num3 = num8;
|
||||
num += -1894007588;
|
||||
num += num9;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += -1894007588;
|
||||
num += num8;
|
||||
num3 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num3 = num6;
|
||||
num9 = num;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num12 = num;
|
||||
num = num12;
|
||||
num3 = num9;
|
||||
num += -1894007588;
|
||||
num += num6;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num += num3;
|
||||
num = num12;
|
||||
num += -1894007588;
|
||||
num += num9;
|
||||
num3 = num15;
|
||||
num = num15;
|
||||
num += -1894007588;
|
||||
num += num12;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num3 = num6;
|
||||
num8 += num3;
|
||||
num = num3;
|
||||
num += num10;
|
||||
num15 = num;
|
||||
num = num3;
|
||||
num += num11;
|
||||
num6 = num;
|
||||
num = num6;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num3;
|
||||
num += num13;
|
||||
num9 = num;
|
||||
num3 += num15;
|
||||
num12 = num3;
|
||||
num = num3;
|
||||
num += num6;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num3 = num15;
|
||||
num += num3;
|
||||
num6 = num;
|
||||
num = num3;
|
||||
num += num9;
|
||||
num3 = num;
|
||||
num = num6;
|
||||
num3 += num12;
|
||||
num12 = num3;
|
||||
num += num15;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num3 = num15;
|
||||
num += num6;
|
||||
num9 = num;
|
||||
num = num3;
|
||||
num += num3;
|
||||
num3 = num;
|
||||
num = num9;
|
||||
num3 += num12;
|
||||
num6 = num3;
|
||||
num += num15;
|
||||
num15 = num;
|
||||
num = num15;
|
||||
num3 = num15;
|
||||
num += num9;
|
||||
num3 += num6;
|
||||
num3 += num3;
|
||||
if (0 != x.Length)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F5F RID: 40799 RVA: 0x0024DE3C File Offset: 0x0024C03C
|
||||
[Token(Token = "0x6009F5F")]
|
||||
[Address(RVA = "0x2246680", Offset = "0x2245080", VA = "0x182246680", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F5F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD256Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RipeMD256Digest(var_0_06, newobj:RipeMD256Digest(RipeMD256Digest::.ctor, ldloc:RipeMD256Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](RipeMD256Digest::X, ldloc:RipeMD256Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(RipeMD256Digest::CopyIn, ldloc:RipeMD256Digest(var_0_06), ldloc:RipeMD256Digest(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: 0x06009F60 RID: 40800 RVA: 0x0024DE68 File Offset: 0x0024C068
|
||||
[Token(Token = "0x6009F60")]
|
||||
[Address(RVA = "0x2248250", Offset = "0x2246C50", VA = "0x182248250", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040068B0 RID: 26800
|
||||
[Token(Token = "0x40068B0")]
|
||||
private const int DigestLength = 32;
|
||||
|
||||
// Token: 0x040068B1 RID: 26801
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40068B1")]
|
||||
private int H0;
|
||||
|
||||
// Token: 0x040068B2 RID: 26802
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40068B2")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x040068B3 RID: 26803
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40068B3")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x040068B4 RID: 26804
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40068B4")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x040068B5 RID: 26805
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40068B5")]
|
||||
private int H4;
|
||||
|
||||
// Token: 0x040068B6 RID: 26806
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x40068B6")]
|
||||
private int H5;
|
||||
|
||||
// Token: 0x040068B7 RID: 26807
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40068B7")]
|
||||
private int H6;
|
||||
|
||||
// Token: 0x040068B8 RID: 26808
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x40068B8")]
|
||||
private int H7;
|
||||
|
||||
// Token: 0x040068B9 RID: 26809
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40068B9")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x040068BA RID: 26810
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40068BA")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
+864
@@ -0,0 +1,864 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001715 RID: 5909
|
||||
[Token(Token = "0x2001715")]
|
||||
[StructLayout(3)]
|
||||
public class RipeMD320Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x17001919 RID: 6425
|
||||
// (get) Token: 0x06009F61 RID: 40801 RVA: 0x0024DE80 File Offset: 0x0024C080
|
||||
[Token(Token = "0x17001919")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F61")]
|
||||
[Address(RVA = "0x224B350", Offset = "0x2249D50", VA = "0x18224B350", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "RIPEMD320";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F62 RID: 40802 RVA: 0x0024DE94 File Offset: 0x0024C094
|
||||
[Token(Token = "0x6009F62")]
|
||||
[Address(RVA = "0x6A9540", Offset = "0x6A7F40", VA = "0x1806A9540", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 40;
|
||||
}
|
||||
|
||||
// Token: 0x06009F63 RID: 40803 RVA: 0x0024DEA4 File Offset: 0x0024C0A4
|
||||
[Token(Token = "0x6009F63")]
|
||||
[Address(RVA = "0x224B280", Offset = "0x2249C80", VA = "0x18224B280")]
|
||||
public RipeMD320Digest()
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009F64 RID: 40804 RVA: 0x0024DED0 File Offset: 0x0024C0D0
|
||||
[Token(Token = "0x6009F64")]
|
||||
[Address(RVA = "0x224B2E0", Offset = "0x2249CE0", VA = "0x18224B2E0")]
|
||||
public RipeMD320Digest(RipeMD320Digest t)
|
||||
{
|
||||
int[] array = new int[16];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009F65 RID: 40805 RVA: 0x0024DEFC File Offset: 0x0024C0FC
|
||||
[Token(Token = "0x6009F65")]
|
||||
[Address(RVA = "0x22484A0", Offset = "0x2246EA0", VA = "0x1822484A0")]
|
||||
private void CopyIn(RipeMD320Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
int h = t.H0;
|
||||
this.H0 = h;
|
||||
int h2 = t.H1;
|
||||
this.H1 = h2;
|
||||
int h3 = t.H2;
|
||||
this.H2 = h3;
|
||||
int h4 = t.H3;
|
||||
this.H3 = h4;
|
||||
int h5 = t.H4;
|
||||
this.H4 = h5;
|
||||
int h6 = t.H5;
|
||||
this.H5 = h6;
|
||||
int h7 = t.H6;
|
||||
this.H6 = h7;
|
||||
int h8 = t.H7;
|
||||
this.H7 = h8;
|
||||
int h9 = t.H8;
|
||||
this.H8 = h9;
|
||||
int h10 = t.H9;
|
||||
this.H9 = h10;
|
||||
int[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
int[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x06009F66 RID: 40806 RVA: 0x0024DFEC File Offset: 0x0024C1EC
|
||||
[Token(Token = "0x6009F66")]
|
||||
[Address(RVA = "0x224B000", Offset = "0x2249A00", VA = "0x18224B000", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
int num = this.xOff;
|
||||
int[] x = this.X;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = input.Length;
|
||||
int num3 = inOff + 1;
|
||||
byte b;
|
||||
x[0] = (int)b;
|
||||
if (this.xOff == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F67 RID: 40807 RVA: 0x0024E038 File Offset: 0x0024C238
|
||||
[Token(Token = "0x6009F67")]
|
||||
[Address(RVA = "0x224AF80", Offset = "0x2249980", VA = "0x18224AF80", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (int)bitLength;
|
||||
this.X[7] = (int)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009F68 RID: 40808 RVA: 0x0024E070 File Offset: 0x0024C270
|
||||
[Token(Token = "0x6009F68")]
|
||||
[Address(RVA = "0x2187850", Offset = "0x2186250", VA = "0x182187850")]
|
||||
private void UnpackWord(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x06009F69 RID: 40809 RVA: 0x0024E088 File Offset: 0x0024C288
|
||||
[Token(Token = "0x6009F69")]
|
||||
[Address(RVA = "0x22485E0", Offset = "0x2246FE0", VA = "0x1822485E0", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int h = this.H0;
|
||||
this.UnpackWord(h, output, outOff);
|
||||
int num = this.H1;
|
||||
output[0] = (byte)num;
|
||||
output[0] = (byte)num;
|
||||
int h2 = this.H2;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
num = h2;
|
||||
output[0] = (byte)num;
|
||||
int h3 = this.H3;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
num = h3;
|
||||
output[0] = (byte)num;
|
||||
int h4 = this.H4;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
num = h4;
|
||||
output[0] = (byte)num;
|
||||
int h5 = this.H5;
|
||||
num = h5;
|
||||
output[0] = (byte)num;
|
||||
num = h5;
|
||||
output[0] = (byte)num;
|
||||
int h6 = this.H6;
|
||||
num = h6;
|
||||
output[0] = (byte)num;
|
||||
num = h6;
|
||||
output[0] = (byte)num;
|
||||
int h7 = this.H7;
|
||||
num = h7;
|
||||
output[0] = (byte)num;
|
||||
num = h7;
|
||||
output[0] = (byte)num;
|
||||
int h8 = this.H8;
|
||||
num = h8;
|
||||
output[0] = (byte)num;
|
||||
num = h8;
|
||||
output[0] = (byte)num;
|
||||
int h9 = this.H9;
|
||||
num = h9;
|
||||
output[0] = (byte)num;
|
||||
num = h9;
|
||||
output[0] = (byte)num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009F6A RID: 40810 RVA: 0x0024E1B4 File Offset: 0x0024C3B4
|
||||
[Token(Token = "0x6009F6A")]
|
||||
[Address(RVA = "0x224B120", Offset = "0x2249B20", VA = "0x18224B120", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
int[] x = this.X;
|
||||
int num = 0;
|
||||
this.H0 = (int)((ulong)1732584193L);
|
||||
this.H1 = (int)((ulong)4023233417L);
|
||||
this.H2 = (int)((ulong)2562383102L);
|
||||
this.H3 = (int)((ulong)271733878L);
|
||||
this.H4 = (int)((ulong)3285377520L);
|
||||
this.H5 = (int)((ulong)1985229328L);
|
||||
this.H6 = (int)((ulong)4275878552L);
|
||||
this.H7 = (int)((ulong)2309737967L);
|
||||
this.H8 = (int)((ulong)19088743L);
|
||||
this.H9 = (int)((ulong)1009589775L);
|
||||
this.xOff = num;
|
||||
if (num != x.Length)
|
||||
{
|
||||
num++;
|
||||
x[0] = num;
|
||||
int[] x2 = this.X;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F6B RID: 40811 RVA: 0x0024E28C File Offset: 0x0024C48C
|
||||
[Token(Token = "0x6009F6B")]
|
||||
[Address(RVA = "0x2128700", Offset = "0x2127100", VA = "0x182128700")]
|
||||
private int RL(int x, int n)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F6C RID: 40812 RVA: 0x0024E29C File Offset: 0x0024C49C
|
||||
[Token(Token = "0x6009F6C")]
|
||||
[Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")]
|
||||
private int F1(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F6D RID: 40813 RVA: 0x0024E2AC File Offset: 0x0024C4AC
|
||||
[Token(Token = "0x6009F6D")]
|
||||
[Address(RVA = "0xB6B770", Offset = "0xB6A170", VA = "0x180B6B770")]
|
||||
private int F2(int x, int y, int z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F6E RID: 40814 RVA: 0x0024E2BC File Offset: 0x0024C4BC
|
||||
[Token(Token = "0x6009F6E")]
|
||||
[Address(RVA = "0x2242270", Offset = "0x2240C70", VA = "0x182242270")]
|
||||
private int F3(int x, int y, int z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x06009F6F RID: 40815 RVA: 0x0024E2CC File Offset: 0x0024C4CC
|
||||
[Token(Token = "0x6009F6F")]
|
||||
[Address(RVA = "0x2242300", Offset = "0x2240D00", VA = "0x182242300")]
|
||||
private int F4(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x06009F70 RID: 40816 RVA: 0x0024E2DC File Offset: 0x0024C4DC
|
||||
[Token(Token = "0x6009F70")]
|
||||
[Address(RVA = "0x2243E40", Offset = "0x2242840", VA = "0x182243E40")]
|
||||
private int F5(int x, int y, int z)
|
||||
{
|
||||
return z;
|
||||
}
|
||||
|
||||
// Token: 0x06009F71 RID: 40817 RVA: 0x0024E2EC File Offset: 0x0024C4EC
|
||||
[Token(Token = "0x6009F71")]
|
||||
[Address(RVA = "0x2248BB0", Offset = "0x22475B0", VA = "0x182248BB0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F71)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD320Digest::ProcessBlock()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, ldfld:int32(RipeMD320Digest::H5, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_1_0D, ldfld:int32(RipeMD320Digest::H0, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_2_14, ldfld:int32(RipeMD320Digest::H1, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_3_1B, ldfld:int32(RipeMD320Digest::H2, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_4_22, ldfld:int32(RipeMD320Digest::H3, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_5_2A, ldfld:int32(RipeMD320Digest::H4, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_6_32, ldfld:int32(RipeMD320Digest::H7, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_7_3A, ldfld:int32(RipeMD320Digest::H6, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_8_42, ldfld:int32(RipeMD320Digest::H8, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_9_4A, ldfld:int32(RipeMD320Digest::H9, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32[](var_10_52, ldfld:int32[](RipeMD320Digest::X, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32(var_11_5B, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_10_52)))
|
||||
stloc:int32(var_4_61, add:int32(ldloc:int32(var_4_22), ldloc:int32(var_1_0D)))
|
||||
stloc:int32(var_1_65, ldloc:int32(var_4_61))
|
||||
stloc:int32(var_1_6A, add:int32(ldloc:int32(var_1_65), ldloc:int32(var_5_2A)))
|
||||
stloc:int32(var_4_6C, ldloc:int32(var_3_1B))
|
||||
stloc:int32(var_4_73, add:int32(ldloc:int32(var_4_6C), ldloc:int32(var_5_2A)))
|
||||
stloc:int32(var_5_76, ldloc:int32(var_2_14))
|
||||
stloc:int32(var_3_7A, ldloc:int32(var_4_73))
|
||||
stloc:int32(var_3_7F, add:int32(ldloc:int32(var_3_7A), ldloc:int32(var_4_73)))
|
||||
stloc:int32(var_4_81, ldloc:int32(var_3_7F))
|
||||
stloc:int32(var_4_88, add:int32(ldloc:int32(var_4_81), ldloc:int32(var_4_81)))
|
||||
stloc:int32(var_4_8B, ldloc:int32(var_1_6A))
|
||||
stloc:int32(var_2_8F, ldloc:int32(var_4_8B))
|
||||
stloc:int32(var_2_93, add:int32(ldloc:int32(var_2_8F), ldloc:int32(var_3_7F)))
|
||||
stloc:int32(var_4_95, ldloc:int32(var_3_7F))
|
||||
stloc:int32(var_4_9B, add:int32(ldloc:int32(var_4_95), ldloc:int32(var_3_7F)))
|
||||
stloc:int32(var_1_9F, ldloc:int32(var_4_9B))
|
||||
stloc:int32(var_1_A4, add:int32(ldloc:int32(var_1_9F), ldloc:int32(var_5_76)))
|
||||
stloc:int32(var_4_A6, ldloc:int32(var_3_7F))
|
||||
stloc:int32(var_4_AD, add:int32(ldloc:int32(var_4_A6), ldloc:int32(var_5_76)))
|
||||
stloc:int32(var_5_B0, ldloc:int32(var_2_93))
|
||||
stloc:int32(var_3_B4, ldloc:int32(var_4_AD))
|
||||
stloc:int32(var_3_B9, add:int32(ldloc:int32(var_3_B4), ldloc:int32(var_4_AD)))
|
||||
stloc:int32(var_4_BC, ldloc:int32(var_5_B0))
|
||||
stloc:int32(var_4_C3, add:int32(ldloc:int32(var_4_BC), ldloc:int32(var_4_BC)))
|
||||
stloc:int32(var_4_C6, ldloc:int32(var_1_A4))
|
||||
stloc:int32(var_2_CA, ldloc:int32(var_4_C6))
|
||||
stloc:int32(var_2_CE, add:int32(ldloc:int32(var_2_CA), ldloc:int32(var_3_B9)))
|
||||
stloc:int32(var_4_D3, add:int32(ldloc:int32(var_4_C6), ldloc:int32(var_3_B9)))
|
||||
stloc:int32(var_1_D7, ldloc:int32(var_4_D3))
|
||||
stloc:int32(var_1_DC, add:int32(ldloc:int32(var_1_D7), ldloc:int32(var_5_B0)))
|
||||
stloc:int32(var_4_DE, ldloc:int32(var_1_DC))
|
||||
stloc:int32(var_4_E5, add:int32(ldloc:int32(var_4_DE), ldloc:int32(var_5_B0)))
|
||||
stloc:int32(var_5_E8, ldloc:int32(var_2_CE))
|
||||
stloc:int32(var_3_EC, ldloc:int32(var_4_E5))
|
||||
stloc:int32(var_3_F1, add:int32(ldloc:int32(var_3_EC), ldloc:int32(var_4_E5)))
|
||||
stloc:int32(var_4_F3, ldloc:int32(var_1_DC))
|
||||
stloc:int32(var_4_FA, add:int32(ldloc:int32(var_4_F3), ldloc:int32(var_4_F3)))
|
||||
stloc:int32(var_4_FD, ldloc:int32(var_1_DC))
|
||||
stloc:int32(var_2_101, ldloc:int32(var_4_FD))
|
||||
stloc:int32(var_2_105, add:int32(ldloc:int32(var_2_101), ldloc:int32(var_3_F1)))
|
||||
stloc:int32(var_4_10A, add:int32(ldloc:int32(var_4_FD), ldloc:int32(var_3_F1)))
|
||||
stloc:int32(var_1_10E, ldloc:int32(var_4_10A))
|
||||
stloc:int32(var_1_113, add:int32(ldloc:int32(var_1_10E), ldloc:int32(var_5_E8)))
|
||||
stloc:int32(var_4_115, ldloc:int32(var_3_F1))
|
||||
stloc:int32(var_4_11C, add:int32(ldloc:int32(var_4_115), ldloc:int32(var_5_E8)))
|
||||
stloc:int32(var_5_11F, ldloc:int32(var_2_105))
|
||||
stloc:int32(var_3_123, ldloc:int32(var_4_11C))
|
||||
stloc:int32(var_3_128, add:int32(ldloc:int32(var_3_123), ldloc:int32(var_4_11C)))
|
||||
stloc:int32(var_4_12B, ldloc:int32(var_5_11F))
|
||||
stloc:int32(var_4_132, add:int32(ldloc:int32(var_4_12B), ldloc:int32(var_4_12B)))
|
||||
stloc:int32(var_4_135, ldloc:int32(var_1_113))
|
||||
stloc:int32(var_2_139, ldloc:int32(var_4_135))
|
||||
stloc:int32(var_2_13D, add:int32(ldloc:int32(var_2_139), ldloc:int32(var_3_128)))
|
||||
stloc:int32(var_4_13F, ldloc:int32(var_2_13D))
|
||||
stloc:int32(var_4_145, add:int32(ldloc:int32(var_4_13F), ldloc:int32(var_3_128)))
|
||||
stloc:int32(var_3_149, ldloc:int32(var_4_145))
|
||||
stloc:int32(var_3_14E, add:int32(ldloc:int32(var_3_149), ldloc:int32(var_5_11F)))
|
||||
stloc:int32(var_4_150, ldloc:int32(var_2_13D))
|
||||
stloc:int32(var_4_157, add:int32(ldloc:int32(var_4_150), ldloc:int32(var_5_11F)))
|
||||
stloc:int32(var_1_15B, ldloc:int32(var_4_157))
|
||||
stloc:int32(var_4_15D, ldloc:int32(var_2_13D))
|
||||
stloc:int32(var_1_163, add:int32(ldloc:int32(var_1_15B), ldloc:int32(var_4_15D)))
|
||||
stloc:int32(var_12_16C, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(7)))
|
||||
stloc:int32(var_4_173, add:int32(ldloc:int32(var_4_15D), ldloc:int32(var_12_16C)))
|
||||
stloc:int32(var_4_17A, add:int32(ldloc:int32(var_4_173), ldloc:int32(var_4_173)))
|
||||
stloc:int32(var_4_180, add:int32(ldloc:int32(var_4_17A), ldloc:int32(var_3_14E)))
|
||||
stloc:int32(var_13_18A, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(7)))
|
||||
stloc:int32(var_3_193, add:int32(ldloc:int32(var_3_14E), ldloc:int32(var_13_18A)))
|
||||
stloc:int32(var_3_197, add:int32(ldloc:int32(var_3_193), ldloc:int32(var_3_193)))
|
||||
stloc:int32(var_4_19D, ldloc:int32(var_8_42))
|
||||
stloc:int32(var_0_1A6, add:int32(ldloc:int32(var_0_06), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_1AB, add:int32(ldloc:int32(var_4_19D), ldloc:int32(var_0_1A6)))
|
||||
stloc:int32(var_3_1AF, ldloc:int32(var_4_1AB))
|
||||
stloc:int32(var_3_1B4, add:int32(ldloc:int32(var_3_1AF), ldloc:int32(var_9_4A)))
|
||||
stloc:int32(var_9_1BD, add:int32(ldloc:int32(var_9_4A), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_1C3, ldloc:int32(var_3_1B4))
|
||||
stloc:int32(var_4_1CA, add:int32(ldloc:int32(var_4_1C3), ldloc:int32(var_12_16C)))
|
||||
stloc:int32(var_12_1CE, ldloc:int32(var_7_3A))
|
||||
stloc:int32(var_4_1D5, add:int32(ldloc:int32(var_4_1CA), ldloc:int32(var_9_1BD)))
|
||||
stloc:int32(var_9_1D9, ldloc:int32(var_4_1D5))
|
||||
stloc:int32(var_4_1DD, ldloc:int32(var_12_1CE))
|
||||
stloc:int32(var_9_1E4, add:int32(ldloc:int32(var_9_1D9), ldloc:int32(var_8_42)))
|
||||
stloc:int32(var_4_1EE, add:int32(ldloc:int32(var_4_1DD), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_1F5, add:int32(ldloc:int32(var_4_1EE), ldloc:int32(var_8_42)))
|
||||
stloc:int32(var_7_1F9, ldloc:int32(var_4_1F5))
|
||||
stloc:int32(var_7_1FF, add:int32(ldloc:int32(var_7_1F9), ldloc:int32(var_3_1B4)))
|
||||
stloc:int32(var_8_203, ldloc:int32(var_7_1FF))
|
||||
stloc:int32(var_3_20C, add:int32(ldloc:int32(var_3_1B4), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_211, add:int32(ldloc:int32(var_4_1F5), ldloc:int32(var_3_20C)))
|
||||
stloc:int32(var_3_218, ldloc:int32(var_4_211))
|
||||
stloc:int32(var_3_21D, add:int32(ldloc:int32(var_3_218), ldloc:int32(var_12_1CE)))
|
||||
stloc:int32(var_12_226, add:int32(ldloc:int32(var_12_1CE), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_229, ldloc:int32(var_3_21D))
|
||||
stloc:int32(var_4_230, add:int32(ldloc:int32(var_4_229), ldloc:int32(var_12_226)))
|
||||
stloc:int32(var_12_233, ldloc:int32(var_3_21D))
|
||||
stloc:int32(var_9_237, ldloc:int32(var_4_230))
|
||||
stloc:int32(var_4_23B, ldloc:int32(var_8_203))
|
||||
stloc:int32(var_9_242, add:int32(ldloc:int32(var_9_237), ldloc:int32(var_4_23B)))
|
||||
stloc:int32(var_4_24C, add:int32(ldloc:int32(var_4_23B), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_253, add:int32(ldloc:int32(var_4_24C), ldloc:int32(var_4_24C)))
|
||||
stloc:int32(var_7_257, ldloc:int32(var_4_253))
|
||||
stloc:int32(var_7_25D, add:int32(ldloc:int32(var_7_257), ldloc:int32(var_3_21D)))
|
||||
stloc:int32(var_4_265, ldloc:int32(var_9_242))
|
||||
stloc:int32(var_3_26E, add:int32(ldloc:int32(var_3_21D), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_273, add:int32(ldloc:int32(var_4_265), ldloc:int32(var_3_26E)))
|
||||
stloc:int32(var_3_27A, ldloc:int32(var_4_273))
|
||||
stloc:int32(var_3_27F, add:int32(ldloc:int32(var_3_27A), ldloc:int32(var_8_203)))
|
||||
stloc:int32(var_4_288, add:int32(ldloc:int32(var_4_273), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_28F, add:int32(ldloc:int32(var_4_288), ldloc:int32(var_8_203)))
|
||||
stloc:int32(var_9_293, ldloc:int32(var_4_28F))
|
||||
stloc:int32(var_4_296, ldloc:int32(var_3_27F))
|
||||
stloc:int32(var_9_29D, add:int32(ldloc:int32(var_9_293), ldloc:int32(var_12_233)))
|
||||
stloc:int32(var_8_2A1, ldloc:int32(var_9_29D))
|
||||
stloc:int32(var_12_2AB, add:int32(ldloc:int32(var_12_233), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_2B2, add:int32(ldloc:int32(var_4_296), ldloc:int32(var_12_2AB)))
|
||||
stloc:int32(var_12_2B5, ldloc:int32(var_3_27F))
|
||||
stloc:int32(var_7_2B9, ldloc:int32(var_4_2B2))
|
||||
stloc:int32(var_7_2C0, add:int32(ldloc:int32(var_7_2B9), ldloc:int32(var_4_2B2)))
|
||||
stloc:int32(var_4_2CA, add:int32(ldloc:int32(var_4_2B2), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_2CE, ldloc:int32(var_12_2B5))
|
||||
stloc:int32(var_4_2D5, add:int32(ldloc:int32(var_4_2CE), ldloc:int32(var_4_2CE)))
|
||||
stloc:int32(var_4_2D9, ldloc:int32(var_7_2C0))
|
||||
stloc:int32(var_3_2DD, ldloc:int32(var_4_2D9))
|
||||
stloc:int32(var_4_2E0, ldloc:int32(var_8_2A1))
|
||||
stloc:int32(var_3_2E5, add:int32(ldloc:int32(var_3_2DD), ldloc:int32(var_3_2DD)))
|
||||
stloc:int32(var_4_2EE, add:int32(ldloc:int32(var_4_2E0), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_2F5, add:int32(ldloc:int32(var_4_2EE), ldloc:int32(var_13_18A)))
|
||||
stloc:int32(var_4_2FB, add:int32(ldloc:int32(var_4_2F5), ldloc:int32(var_3_2E5)))
|
||||
stloc:int32(var_9_2FF, ldloc:int32(var_4_2FB))
|
||||
stloc:int32(var_9_306, add:int32(ldloc:int32(var_9_2FF), ldloc:int32(var_12_2B5)))
|
||||
stloc:int32(var_12_310, add:int32(ldloc:int32(var_12_2B5), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_3_314, ldloc:int32(var_9_306))
|
||||
stloc:int32(var_4_31A, add:int32(ldloc:int32(var_4_2FB), ldloc:int32(var_12_310)))
|
||||
stloc:int32(var_12_31E, ldloc:int32(var_4_31A))
|
||||
stloc:int32(var_12_325, add:int32(ldloc:int32(var_12_31E), ldloc:int32(var_8_2A1)))
|
||||
stloc:int32(var_4_328, ldloc:int32(var_3_314))
|
||||
stloc:int32(var_8_332, add:int32(ldloc:int32(var_8_2A1), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_14_33C, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(6)))
|
||||
stloc:int32(var_4_343, add:int32(ldloc:int32(var_4_328), ldloc:int32(var_8_332)))
|
||||
stloc:int32(var_3_347, ldloc:int32(var_4_343))
|
||||
stloc:int32(var_8_34A, ldloc:int32(var_12_325))
|
||||
stloc:int32(var_14_354, add:int32(ldloc:int32(var_14_33C), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_3_35A, add:int32(ldloc:int32(var_3_347), ldloc:int32(var_4_343)))
|
||||
stloc:int32(var_4_35C, ldloc:int32(var_3_35A))
|
||||
stloc:int32(var_4_366, add:int32(ldloc:int32(var_4_35C), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_36D, add:int32(ldloc:int32(var_4_366), ldloc:int32(var_4_366)))
|
||||
stloc:int32(var_7_371, ldloc:int32(var_4_36D))
|
||||
stloc:int32(var_4_375, ldloc:int32(var_8_34A))
|
||||
stloc:int32(var_7_37B, add:int32(ldloc:int32(var_7_371), ldloc:int32(var_3_35A)))
|
||||
stloc:int32(var_4_385, add:int32(ldloc:int32(var_4_375), ldc.i4:int32(1352829926)))
|
||||
stloc:int32(var_4_38B, add:int32(ldloc:int32(var_4_385), ldloc:int32(var_3_35A)))
|
||||
stloc:int32(var_13_38F, ldloc:int32(var_4_38B))
|
||||
stloc:int32(var_4_392, ldloc:int32(var_3_35A))
|
||||
stloc:int32(var_13_398, add:int32(ldloc:int32(var_13_38F), ldloc:int32(var_3_35A)))
|
||||
stloc:int32(var_14_39F, add:int32(ldloc:int32(var_14_354), ldloc:int32(var_4_392)))
|
||||
stloc:int32(var_4_3A3, ldloc:int32(var_7_37B))
|
||||
stloc:int32(var_14_3A9, add:int32(ldloc:int32(var_14_39F), ldloc:int32(var_3_35A)))
|
||||
stloc:int32(var_12_3AD, ldloc:int32(var_14_3A9))
|
||||
stloc:int32(var_12_3B4, add:int32(ldloc:int32(var_12_3AD), ldloc:int32(var_8_34A)))
|
||||
stloc:int32(var_14_3B8, ldloc:int32(var_12_3B4))
|
||||
stloc:int32(var_6_3BB, ldloc:int32(var_3_35A))
|
||||
stloc:int32(var_8_3BF, ldloc:int32(var_12_3B4))
|
||||
stloc:int32(var_4_3C6, add:int32(ldloc:int32(var_4_3A3), ldloc:int32(var_14_3B8)))
|
||||
stloc:int32(var_6_3CD, add:int32(ldloc:int32(var_6_3BB), ldloc:int32(var_4_3C6)))
|
||||
stloc:int32(var_3_3D1, ldloc:int32(var_4_3C6))
|
||||
stloc:int32(var_4_3D6, add:int32(ldloc:int32(var_4_3C6), ldloc:int32(var_3_3D1)))
|
||||
stloc:int32(var_4_3E4, add:int32(ldloc:int32(var_4_3D6), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_3_3E8, ldloc:int32(var_4_3E4))
|
||||
stloc:int32(var_4_3ED, add:int32(ldloc:int32(var_4_3E4), ldloc:int32(var_3_3E8)))
|
||||
stloc:int32(var_3_3F1, ldloc:int32(var_4_3ED))
|
||||
stloc:int32(var_3_3F6, add:int32(ldloc:int32(var_3_3F1), ldloc:int32(var_4_3ED)))
|
||||
stloc:int32(var_14_3F8, ldloc:int32(var_3_3F6))
|
||||
stloc:int32(var_4_3FB, ldloc:int32(var_3_3F6))
|
||||
stloc:int32(var_4_402, add:int32(ldloc:int32(var_4_3FB), ldloc:int32(var_14_3F8)))
|
||||
stloc:int32(var_12_406, ldloc:int32(var_4_402))
|
||||
stloc:int32(var_4_409, ldloc:int32(var_3_3F6))
|
||||
stloc:int32(var_12_40F, add:int32(ldloc:int32(var_12_406), ldloc:int32(var_3_3F6)))
|
||||
stloc:int32(var_14_413, ldloc:int32(var_12_40F))
|
||||
stloc:int32(var_4_41A, add:int32(ldloc:int32(var_4_409), ldloc:int32(var_14_413)))
|
||||
stloc:int32(var_3_41E, ldloc:int32(var_4_41A))
|
||||
stloc:int32(var_3_423, add:int32(ldloc:int32(var_3_41E), ldloc:int32(var_8_3BF)))
|
||||
stloc:int32(var_14_425, ldloc:int32(var_3_423))
|
||||
stloc:int32(var_4_429, ldloc:int32(var_12_40F))
|
||||
stloc:int32(var_3_42D, ldloc:int32(var_12_40F))
|
||||
stloc:int32(var_4_433, add:int32(ldloc:int32(var_4_429), ldloc:int32(var_14_425)))
|
||||
stloc:int32(var_8_436, ldloc:int32(var_3_42D))
|
||||
stloc:int32(var_4_43C, add:int32(ldloc:int32(var_4_433), ldloc:int32(var_3_42D)))
|
||||
stloc:int32(var_4_43F, ldloc:int32(var_3_42D))
|
||||
stloc:int32(var_4_44D, add:int32(ldloc:int32(var_4_43F), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_4_453, add:int32(ldloc:int32(var_4_44D), ldloc:int32(var_3_42D)))
|
||||
stloc:int32(var_3_457, ldloc:int32(var_4_453))
|
||||
stloc:int32(var_3_45C, add:int32(ldloc:int32(var_3_457), ldloc:int32(var_4_453)))
|
||||
stloc:int32(var_14_45E, ldloc:int32(var_3_45C))
|
||||
stloc:int32(var_4_461, ldloc:int32(var_3_45C))
|
||||
stloc:int32(var_4_468, add:int32(ldloc:int32(var_4_461), ldloc:int32(var_14_45E)))
|
||||
stloc:int32(var_12_46C, ldloc:int32(var_4_468))
|
||||
stloc:int32(var_4_46F, ldloc:int32(var_3_45C))
|
||||
stloc:int32(var_12_475, add:int32(ldloc:int32(var_12_46C), ldloc:int32(var_3_45C)))
|
||||
stloc:int32(var_14_479, ldloc:int32(var_12_475))
|
||||
stloc:int32(var_4_480, add:int32(ldloc:int32(var_4_46F), ldloc:int32(var_14_479)))
|
||||
stloc:int32(var_4_484, ldloc:int32(var_12_475))
|
||||
stloc:int32(var_4_48B, add:int32(ldloc:int32(var_4_484), ldloc:int32(var_8_436)))
|
||||
stloc:int32(var_4_499, add:int32(ldloc:int32(var_4_48B), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_4_4A0, add:int32(ldloc:int32(var_4_499), ldloc:int32(var_8_436)))
|
||||
stloc:int32(var_3_4A7, ldloc:int32(var_12_475))
|
||||
stloc:int32(var_3_4AC, add:int32(ldloc:int32(var_3_4A7), ldloc:int32(var_4_4A0)))
|
||||
stloc:int32(var_4_4B8, add:int32(ldloc:int32(var_4_4A0), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_8_4BB, ldloc:int32(var_3_4AC))
|
||||
stloc:int32(var_4_4C2, add:int32(ldloc:int32(var_4_4B8), ldloc:int32(var_4_4B8)))
|
||||
stloc:int32(var_15_4CC, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(2)))
|
||||
stloc:int32(var_3_4D0, ldloc:int32(var_4_4C2))
|
||||
stloc:int32(var_15_4D9, add:int32(ldloc:int32(var_15_4CC), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_3_4DE, add:int32(ldloc:int32(var_3_4D0), ldloc:int32(var_3_4D0)))
|
||||
stloc:int32(var_4_4E0, ldloc:int32(var_3_4DE))
|
||||
stloc:int32(var_4_4ED, add:int32(ldloc:int32(var_4_4E0), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_4_4F3, add:int32(ldloc:int32(var_4_4ED), ldloc:int32(var_3_4DE)))
|
||||
stloc:int32(var_12_4F7, ldloc:int32(var_4_4F3))
|
||||
stloc:int32(var_12_4FD, add:int32(ldloc:int32(var_12_4F7), ldloc:int32(var_3_4DE)))
|
||||
stloc:int32(var_4_505, ldloc:int32(var_12_4FD))
|
||||
stloc:int32(var_4_50C, add:int32(ldloc:int32(var_4_505), ldloc:int32(var_15_4D9)))
|
||||
stloc:int32(var_15_50F, ldloc:int32(var_3_4DE))
|
||||
stloc:int32(var_4_515, add:int32(ldloc:int32(var_4_50C), ldloc:int32(var_3_4DE)))
|
||||
stloc:int32(var_3_51C, ldloc:int32(var_12_4FD))
|
||||
stloc:int32(var_3_521, add:int32(ldloc:int32(var_3_51C), ldloc:int32(var_4_515)))
|
||||
stloc:int32(var_4_524, ldloc:int32(var_12_4FD))
|
||||
stloc:int32(var_14_527, ldloc:int32(var_3_521))
|
||||
stloc:int32(var_4_52E, add:int32(ldloc:int32(var_4_524), ldloc:int32(var_14_527)))
|
||||
stloc:int32(var_4_535, add:int32(ldloc:int32(var_4_52E), ldloc:int32(var_8_4BB)))
|
||||
stloc:int32(var_14_539, ldloc:int32(var_4_535))
|
||||
stloc:int32(var_4_53C, ldloc:int32(var_3_521))
|
||||
stloc:int32(var_8_53F, ldloc:int32(var_3_521))
|
||||
stloc:int32(var_4_546, add:int32(ldloc:int32(var_4_53C), ldloc:int32(var_14_539)))
|
||||
stloc:int32(var_4_54D, add:int32(ldloc:int32(var_4_546), ldloc:int32(var_15_50F)))
|
||||
stloc:int32(var_4_55B, add:int32(ldloc:int32(var_4_54D), ldc.i4:int32(1518500249)))
|
||||
stloc:int32(var_4_562, add:int32(ldloc:int32(var_4_55B), ldloc:int32(var_15_50F)))
|
||||
stloc:int32(var_12_566, ldloc:int32(var_4_562))
|
||||
stloc:int32(var_12_56C, add:int32(ldloc:int32(var_12_566), ldloc:int32(var_3_521)))
|
||||
stloc:int32(var_3_570, ldloc:int32(var_12_56C))
|
||||
stloc:int32(var_14_572, ldloc:int32(var_3_570))
|
||||
stloc:int32(var_4_57C, add:int32(ldloc:int32(var_4_562), ldloc:int32(var_14_572)))
|
||||
stloc:int32(var_3_580, ldloc:int32(var_4_57C))
|
||||
stloc:int32(var_14_583, ldloc:int32(var_4_57C))
|
||||
stloc:int32(var_3_589, add:int32(ldloc:int32(var_3_580), ldloc:int32(var_8_53F)))
|
||||
stloc:int32(var_8_592, add:int32(ldloc:int32(var_8_53F), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_8_599, add:int32(ldloc:int32(var_8_592), ldloc:int32(var_14_583)))
|
||||
stloc:int32(var_14_59C, ldloc:int32(var_3_589))
|
||||
stloc:int32(var_4_5A0, ldloc:int32(var_8_599))
|
||||
stloc:int32(var_4_5A7, add:int32(ldloc:int32(var_4_5A0), ldloc:int32(var_4_5A0)))
|
||||
stloc:int32(var_8_5AB, ldloc:int32(var_4_5A7))
|
||||
stloc:int32(var_8_5B2, add:int32(ldloc:int32(var_8_5AB), ldloc:int32(var_14_59C)))
|
||||
stloc:int32(var_3_5B6, ldloc:int32(var_4_5A7))
|
||||
stloc:int32(var_4_5B9, ldloc:int32(var_8_5B2))
|
||||
stloc:int32(var_15_5BD, ldloc:int32(var_6_3CD))
|
||||
stloc:int32(var_4_5C4, add:int32(ldloc:int32(var_4_5B9), ldloc:int32(var_4_5B9)))
|
||||
stloc:int32(var_8_5CC, ldloc:int32(var_4_5C4))
|
||||
stloc:int32(var_14_5D0, ldloc:int32(var_15_5BD))
|
||||
stloc:int32(var_8_5D7, add:int32(ldloc:int32(var_8_5CC), ldloc:int32(var_14_5D0)))
|
||||
stloc:int32(var_14_5DA, ldloc:int32(var_3_5B6))
|
||||
stloc:int32(var_4_5DE, ldloc:int32(var_8_5D7))
|
||||
stloc:int32(var_4_5E4, add:int32(ldloc:int32(var_4_5DE), ldloc:int32(var_3_5B6)))
|
||||
stloc:int32(var_8_5E7, ldloc:int32(var_3_5B6))
|
||||
stloc:int32(var_8_5EE, add:int32(ldloc:int32(var_8_5E7), ldloc:int32(var_14_5DA)))
|
||||
stloc:int32(var_14_5F2, ldloc:int32(var_8_5EE))
|
||||
stloc:int32(var_3_5F6, ldloc:int32(var_8_5EE))
|
||||
stloc:int32(var_3_5FB, add:int32(ldloc:int32(var_3_5F6), ldloc:int32(var_15_5BD)))
|
||||
stloc:int32(var_15_5FE, ldloc:int32(var_4_5E4))
|
||||
stloc:int32(var_8_605, add:int32(ldloc:int32(var_8_5EE), ldloc:int32(var_14_5F2)))
|
||||
stloc:int32(var_4_609, ldloc:int32(var_8_605))
|
||||
stloc:int32(var_4_613, add:int32(ldloc:int32(var_4_609), ldloc:int32(var_3_5FB)))
|
||||
stloc:int32(var_8_617, ldloc:int32(var_15_5FE))
|
||||
stloc:int32(var_8_624, add:int32(ldloc:int32(var_8_617), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_8_62A, add:int32(ldloc:int32(var_8_624), ldloc:int32(var_3_5FB)))
|
||||
stloc:int32(var_4_62E, ldloc:int32(var_8_62A))
|
||||
stloc:int32(var_4_635, add:int32(ldloc:int32(var_4_62E), ldloc:int32(var_8_62A)))
|
||||
stloc:int32(var_14_63D, ldloc:int32(var_4_635))
|
||||
stloc:int32(var_8_641, ldloc:int32(var_4_635))
|
||||
stloc:int32(var_8_648, add:int32(ldloc:int32(var_8_641), ldloc:int32(var_14_63D)))
|
||||
stloc:int32(var_3_64C, ldloc:int32(var_8_648))
|
||||
stloc:int32(var_14_64F, ldloc:int32(var_8_648))
|
||||
stloc:int32(var_3_655, add:int32(ldloc:int32(var_3_64C), ldloc:int32(var_15_5FE)))
|
||||
stloc:int32(var_8_657, ldloc:int32(var_3_655))
|
||||
stloc:int32(var_15_65B, ldloc:int32(var_4_635))
|
||||
stloc:int32(var_8_662, add:int32(ldloc:int32(var_8_657), ldloc:int32(var_14_64F)))
|
||||
stloc:int32(var_4_666, ldloc:int32(var_8_662))
|
||||
stloc:int32(var_14_66A, ldloc:int32(var_15_65B))
|
||||
stloc:int32(var_4_671, add:int32(ldloc:int32(var_4_666), ldloc:int32(var_4_666)))
|
||||
stloc:int32(var_8_675, ldloc:int32(var_15_65B))
|
||||
stloc:int32(var_8_67F, add:int32(ldloc:int32(var_8_675), ldloc:int32(var_14_66A)))
|
||||
stloc:int32(var_4_683, ldloc:int32(var_8_67F))
|
||||
stloc:int32(var_14_687, ldloc:int32(var_4_683))
|
||||
stloc:int32(var_4_68E, add:int32(ldloc:int32(var_4_683), ldloc:int32(var_8_67F)))
|
||||
stloc:int32(var_8_696, ldloc:int32(var_4_68E))
|
||||
stloc:int32(var_8_69D, add:int32(ldloc:int32(var_8_696), ldloc:int32(var_14_687)))
|
||||
stloc:int32(var_3_6A1, ldloc:int32(var_8_69D))
|
||||
stloc:int32(var_14_6A4, ldloc:int32(var_8_69D))
|
||||
stloc:int32(var_3_6AA, add:int32(ldloc:int32(var_3_6A1), ldloc:int32(var_15_65B)))
|
||||
stloc:int32(var_8_6B0, add:int32(ldloc:int32(var_8_69D), ldloc:int32(var_14_6A4)))
|
||||
stloc:int32(var_15_6B4, ldloc:int32(var_4_68E))
|
||||
stloc:int32(var_4_6B8, ldloc:int32(var_8_6B0))
|
||||
stloc:int32(var_4_6BF, add:int32(ldloc:int32(var_4_6B8), ldloc:int32(var_4_6B8)))
|
||||
stloc:int32(var_8_6C3, ldloc:int32(var_4_6BF))
|
||||
stloc:int32(var_14_6C7, ldloc:int32(var_15_6B4))
|
||||
stloc:int32(var_8_6D1, add:int32(ldloc:int32(var_8_6C3), ldloc:int32(var_14_6C7)))
|
||||
stloc:int32(var_4_6D5, ldloc:int32(var_8_6D1))
|
||||
stloc:int32(var_14_6D9, ldloc:int32(var_4_6D5))
|
||||
stloc:int32(var_4_6E0, add:int32(ldloc:int32(var_4_6D5), ldloc:int32(var_8_6D1)))
|
||||
stloc:int32(var_8_6E8, ldloc:int32(var_4_6E0))
|
||||
stloc:int32(var_8_6EF, add:int32(ldloc:int32(var_8_6E8), ldloc:int32(var_14_6D9)))
|
||||
stloc:int32(var_3_6F3, ldloc:int32(var_8_6EF))
|
||||
stloc:int32(var_14_6F6, ldloc:int32(var_8_6EF))
|
||||
stloc:int32(var_3_6FC, add:int32(ldloc:int32(var_3_6F3), ldloc:int32(var_15_6B4)))
|
||||
stloc:int32(var_15_6FF, ldloc:int32(var_4_6E0))
|
||||
stloc:int32(var_8_706, add:int32(ldloc:int32(var_8_6EF), ldloc:int32(var_14_6F6)))
|
||||
stloc:int32(var_4_70A, ldloc:int32(var_8_706))
|
||||
stloc:int32(var_4_715, add:int32(ldloc:int32(var_4_70A), ldloc:int32(var_4_70A)))
|
||||
stloc:int32(var_8_719, ldloc:int32(var_15_6FF))
|
||||
stloc:int32(var_8_723, add:int32(ldloc:int32(var_8_719), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_8_72A, add:int32(ldloc:int32(var_8_723), ldloc:int32(var_4_715)))
|
||||
stloc:int32(var_13_72E, ldloc:int32(var_8_72A))
|
||||
stloc:int32(var_13_735, add:int32(ldloc:int32(var_13_72E), ldloc:int32(var_8_72A)))
|
||||
stloc:int32(var_8_738, ldloc:int32(var_3_6FC))
|
||||
stloc:int32(var_4_73B, ldloc:int32(var_3_6FC))
|
||||
stloc:int32(var_3_743, ldloc:int32(var_4_73B))
|
||||
stloc:int32(var_8_74C, add:int32(ldloc:int32(var_8_738), ldc.i4:int32(1548603684)))
|
||||
stloc:int32(var_8_753, add:int32(ldloc:int32(var_8_74C), ldloc:int32(var_8_74C)))
|
||||
stloc:int32(var_6_757, ldloc:int32(var_8_753))
|
||||
stloc:int32(var_6_75E, add:int32(ldloc:int32(var_6_757), ldloc:int32(var_15_6FF)))
|
||||
stloc:int32(var_8_768, add:int32(ldloc:int32(var_8_753), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_8_76E, add:int32(ldloc:int32(var_8_768), ldloc:int32(var_3_743)))
|
||||
stloc:int32(var_14_772, ldloc:int32(var_8_76E))
|
||||
stloc:int32(var_4_776, ldloc:int32(var_12_56C))
|
||||
stloc:int32(var_14_77D, add:int32(ldloc:int32(var_14_772), ldloc:int32(var_4_776)))
|
||||
stloc:int32(var_4_787, add:int32(ldloc:int32(var_4_776), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_8_78B, ldloc:int32(var_14_77D))
|
||||
stloc:int32(var_12_78E, ldloc:int32(var_3_743))
|
||||
stloc:int32(var_12_795, add:int32(ldloc:int32(var_12_78E), ldloc:int32(var_4_787)))
|
||||
stloc:int32(var_4_799, ldloc:int32(var_12_795))
|
||||
stloc:int32(var_12_79D, ldloc:int32(var_14_77D))
|
||||
stloc:int32(var_4_7A3, add:int32(ldloc:int32(var_4_799), ldloc:int32(var_3_743)))
|
||||
stloc:int32(var_3_7AC, add:int32(ldloc:int32(var_3_743), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_7B1, add:int32(ldloc:int32(var_12_79D), ldloc:int32(var_3_7AC)))
|
||||
stloc:int32(var_3_7B5, ldloc:int32(var_12_7B1))
|
||||
stloc:int32(var_12_7B8, ldloc:int32(var_4_7A3))
|
||||
stloc:int32(var_3_7BE, add:int32(ldloc:int32(var_3_7B5), ldloc:int32(var_4_7A3)))
|
||||
stloc:int32(var_4_7C7, add:int32(ldloc:int32(var_4_7A3), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_7CE, add:int32(ldloc:int32(var_12_7B8), ldloc:int32(var_4_7C7)))
|
||||
stloc:int32(var_14_7D2, ldloc:int32(var_12_7CE))
|
||||
stloc:int32(var_14_7D9, add:int32(ldloc:int32(var_14_7D2), ldloc:int32(var_4_7C7)))
|
||||
stloc:int32(var_12_7DC, ldloc:int32(var_3_7BE))
|
||||
stloc:int32(var_4_7E6, add:int32(ldloc:int32(var_4_7C7), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_7ED, add:int32(ldloc:int32(var_12_7DC), ldloc:int32(var_4_7E6)))
|
||||
stloc:int32(var_4_7F4, ldloc:int32(var_12_7ED))
|
||||
stloc:int32(var_4_7FB, add:int32(ldloc:int32(var_4_7F4), ldloc:int32(var_8_78B)))
|
||||
stloc:int32(var_12_7FF, ldloc:int32(var_14_7D9))
|
||||
stloc:int32(var_15_803, ldloc:int32(var_4_7FB))
|
||||
stloc:int32(var_8_80D, add:int32(ldloc:int32(var_8_78B), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_814, add:int32(ldloc:int32(var_12_7FF), ldloc:int32(var_8_80D)))
|
||||
stloc:int32(var_8_818, ldloc:int32(var_14_7D9))
|
||||
stloc:int32(var_3_81C, ldloc:int32(var_12_814))
|
||||
stloc:int32(var_12_81F, ldloc:int32(var_4_7FB))
|
||||
stloc:int32(var_3_825, add:int32(ldloc:int32(var_3_81C), ldloc:int32(var_4_7FB)))
|
||||
stloc:int32(var_12_82E, add:int32(ldloc:int32(var_12_81F), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_835, add:int32(ldloc:int32(var_12_82E), ldloc:int32(var_4_7FB)))
|
||||
stloc:int32(var_14_839, ldloc:int32(var_12_835))
|
||||
stloc:int32(var_12_83C, ldloc:int32(var_3_825))
|
||||
stloc:int32(var_14_843, add:int32(ldloc:int32(var_14_839), ldloc:int32(var_4_7FB)))
|
||||
stloc:int32(var_12_84D, add:int32(ldloc:int32(var_12_83C), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_854, add:int32(ldloc:int32(var_12_84D), ldloc:int32(var_4_7FB)))
|
||||
stloc:int32(var_4_858, ldloc:int32(var_12_854))
|
||||
stloc:int32(var_12_85C, ldloc:int32(var_14_843))
|
||||
stloc:int32(var_4_863, add:int32(ldloc:int32(var_4_858), ldloc:int32(var_8_818)))
|
||||
stloc:int32(var_12_86D, add:int32(ldloc:int32(var_12_85C), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_874, add:int32(ldloc:int32(var_12_86D), ldloc:int32(var_8_818)))
|
||||
stloc:int32(var_4_878, ldloc:int32(var_12_874))
|
||||
stloc:int32(var_3_87C, ldloc:int32(var_14_843))
|
||||
stloc:int32(var_4_882, add:int32(ldloc:int32(var_4_878), ldloc:int32(var_15_803)))
|
||||
stloc:int32(var_12_886, ldloc:int32(var_4_882))
|
||||
stloc:int32(var_15_890, add:int32(ldloc:int32(var_15_803), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_8_894, ldloc:int32(var_4_882))
|
||||
stloc:int32(var_12_89B, add:int32(ldloc:int32(var_12_886), ldloc:int32(var_15_890)))
|
||||
stloc:int32(var_15_89F, ldloc:int32(var_4_882))
|
||||
stloc:int32(var_4_8A3, ldloc:int32(var_12_89B))
|
||||
stloc:int32(var_4_8A9, add:int32(ldloc:int32(var_4_8A3), ldloc:int32(var_3_87C)))
|
||||
stloc:int32(var_12_8AD, ldloc:int32(var_4_8A9))
|
||||
stloc:int32(var_12_8B7, add:int32(ldloc:int32(var_12_8AD), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_8BD, add:int32(ldloc:int32(var_12_8B7), ldloc:int32(var_3_87C)))
|
||||
stloc:int32(var_3_8C1, ldloc:int32(var_12_8BD))
|
||||
stloc:int32(var_12_8C4, ldloc:int32(var_4_8A9))
|
||||
stloc:int32(var_3_8C9, add:int32(ldloc:int32(var_3_8C1), ldloc:int32(var_3_8C1)))
|
||||
stloc:int32(var_12_8D5, add:int32(ldloc:int32(var_12_8C4), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_8DB, add:int32(ldloc:int32(var_12_8D5), ldloc:int32(var_3_8C9)))
|
||||
stloc:int32(var_14_8DF, ldloc:int32(var_12_8DB))
|
||||
stloc:int32(var_12_8E2, ldloc:int32(var_3_8C9))
|
||||
stloc:int32(var_14_8E9, add:int32(ldloc:int32(var_14_8DF), ldloc:int32(var_15_89F)))
|
||||
stloc:int32(var_12_8F3, add:int32(ldloc:int32(var_12_8E2), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_8FA, add:int32(ldloc:int32(var_12_8F3), ldloc:int32(var_15_89F)))
|
||||
stloc:int32(var_4_8FE, ldloc:int32(var_12_8FA))
|
||||
stloc:int32(var_12_902, ldloc:int32(var_14_8E9))
|
||||
stloc:int32(var_4_909, add:int32(ldloc:int32(var_4_8FE), ldloc:int32(var_8_894)))
|
||||
stloc:int32(var_8_913, add:int32(ldloc:int32(var_8_894), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_91A, add:int32(ldloc:int32(var_12_902), ldloc:int32(var_8_913)))
|
||||
stloc:int32(var_3_91E, ldloc:int32(var_12_91A))
|
||||
stloc:int32(var_8_921, ldloc:int32(var_14_8E9))
|
||||
stloc:int32(var_16_92B, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_10_52), ldc.i4:int32(6)))
|
||||
stloc:int32(var_12_92F, ldloc:int32(var_4_909))
|
||||
stloc:int32(var_3_935, add:int32(ldloc:int32(var_3_91E), ldloc:int32(var_4_909)))
|
||||
stloc:int32(var_12_942, add:int32(ldloc:int32(var_12_92F), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_12_949, add:int32(ldloc:int32(var_12_942), ldloc:int32(var_4_909)))
|
||||
stloc:int32(var_3_94D, ldloc:int32(var_12_949))
|
||||
stloc:int32(var_4_950, ldloc:int32(var_13_735))
|
||||
stloc:int32(var_12_953, ldloc:int32(var_3_94D))
|
||||
stloc:int32(var_3_959, add:int32(ldloc:int32(var_3_94D), ldloc:int32(var_4_950)))
|
||||
stloc:int32(var_12_962, add:int32(ldloc:int32(var_12_953), ldc.i4:int32(1859775393)))
|
||||
stloc:int32(var_15_96C, add:int32(ldloc:int32(var_15_89F), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_973, add:int32(ldloc:int32(var_12_962), ldloc:int32(var_16_92B)))
|
||||
stloc:int32(var_12_97A, add:int32(ldloc:int32(var_12_973), ldloc:int32(var_4_950)))
|
||||
stloc:int32(var_3_97E, ldloc:int32(var_12_97A))
|
||||
stloc:int32(var_3_986, add:int32(ldloc:int32(var_3_97E), ldloc:int32(var_8_921)))
|
||||
stloc:int32(var_8_989, ldloc:int32(var_6_75E))
|
||||
stloc:int32(var_12_98D, ldloc:int32(var_13_735))
|
||||
stloc:int32(var_12_994, add:int32(ldloc:int32(var_12_98D), ldloc:int32(var_15_96C)))
|
||||
stloc:int32(var_15_998, ldloc:int32(var_12_994))
|
||||
stloc:int32(var_12_99C, ldloc:int32(var_6_75E))
|
||||
stloc:int32(var_15_9A3, add:int32(ldloc:int32(var_15_998), ldloc:int32(var_8_989)))
|
||||
stloc:int32(var_8_9AD, add:int32(ldloc:int32(var_8_989), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_9B4, add:int32(ldloc:int32(var_12_99C), ldloc:int32(var_8_9AD)))
|
||||
stloc:int32(var_8_9B8, ldloc:int32(var_12_9B4))
|
||||
stloc:int32(var_12_9BC, ldloc:int32(var_15_9A3))
|
||||
stloc:int32(var_8_9C3, add:int32(ldloc:int32(var_8_9B8), ldloc:int32(var_4_950)))
|
||||
stloc:int32(var_4_9C7, ldloc:int32(var_15_9A3))
|
||||
stloc:int32(var_12_9D1, add:int32(ldloc:int32(var_12_9BC), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_9D8, add:int32(ldloc:int32(var_12_9D1), ldloc:int32(var_4_9C7)))
|
||||
stloc:int32(var_3_9DC, ldloc:int32(var_12_9D8))
|
||||
stloc:int32(var_12_9DF, ldloc:int32(var_8_9C3))
|
||||
stloc:int32(var_3_9E5, add:int32(ldloc:int32(var_3_9DC), ldloc:int32(var_4_9C7)))
|
||||
stloc:int32(var_4_9EE, add:int32(ldloc:int32(var_4_9C7), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_9F5, add:int32(ldloc:int32(var_12_9DF), ldloc:int32(var_4_9EE)))
|
||||
stloc:int32(var_4_9F9, ldloc:int32(var_8_9C3))
|
||||
stloc:int32(var_15_9FD, ldloc:int32(var_12_9F5))
|
||||
stloc:int32(var_15_A04, add:int32(ldloc:int32(var_15_9FD), ldloc:int32(var_8_9C3)))
|
||||
stloc:int32(var_12_A07, ldloc:int32(var_3_9E5))
|
||||
stloc:int32(var_8_A11, add:int32(ldloc:int32(var_8_9C3), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_A18, add:int32(ldloc:int32(var_12_A07), ldloc:int32(var_8_A11)))
|
||||
stloc:int32(var_8_A1F, ldloc:int32(var_12_A18))
|
||||
stloc:int32(var_8_A26, add:int32(ldloc:int32(var_8_A1F), ldloc:int32(var_4_9F9)))
|
||||
stloc:int32(var_12_A2A, ldloc:int32(var_15_A04))
|
||||
stloc:int32(var_4_A34, add:int32(ldloc:int32(var_4_9F9), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_15_A38, ldloc:int32(var_8_A26))
|
||||
stloc:int32(var_12_A3F, add:int32(ldloc:int32(var_12_A2A), ldloc:int32(var_4_A34)))
|
||||
stloc:int32(var_4_A43, ldloc:int32(var_15_A38))
|
||||
stloc:int32(var_3_A47, ldloc:int32(var_12_A3F))
|
||||
stloc:int32(var_3_A4C, add:int32(ldloc:int32(var_3_A47), ldloc:int32(var_4_A43)))
|
||||
stloc:int32(var_12_A4F, ldloc:int32(var_8_A26))
|
||||
stloc:int32(var_4_A59, add:int32(ldloc:int32(var_4_A43), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_A60, add:int32(ldloc:int32(var_12_A4F), ldloc:int32(var_4_A59)))
|
||||
stloc:int32(var_15_A64, ldloc:int32(var_12_A60))
|
||||
stloc:int32(var_12_A67, ldloc:int32(var_3_A4C))
|
||||
stloc:int32(var_15_A6E, add:int32(ldloc:int32(var_15_A64), ldloc:int32(var_8_A26)))
|
||||
stloc:int32(var_12_A78, add:int32(ldloc:int32(var_12_A67), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_16_A85, add:int32(ldloc:int32(var_16_92B), ldc.i4:int32(1836072691)))
|
||||
stloc:int32(var_12_A8C, add:int32(ldloc:int32(var_12_A78), ldloc:int32(var_8_A26)))
|
||||
}
|
||||
|
||||
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: 0x06009F72 RID: 40818 RVA: 0x0024ED8C File Offset: 0x0024CF8C
|
||||
[Token(Token = "0x6009F72")]
|
||||
[Address(RVA = "0x2248540", Offset = "0x2246F40", VA = "0x182248540", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F72)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.RipeMD320Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RipeMD320Digest(var_0_06, newobj:RipeMD320Digest(RipeMD320Digest::.ctor, ldloc:RipeMD320Digest(this)))
|
||||
stloc:int32[](var_1_0E, newarr:int32[]([mscorlib]System.Int32, ldc.i4:int32(16)))
|
||||
stfld:int32[](RipeMD320Digest::X, ldloc:RipeMD320Digest(var_0_06), ldloc:int32[](var_1_0E))
|
||||
call:void(RipeMD320Digest::CopyIn, ldloc:RipeMD320Digest(var_0_06), ldloc:RipeMD320Digest(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: 0x06009F73 RID: 40819 RVA: 0x0024EDB8 File Offset: 0x0024CFB8
|
||||
[Token(Token = "0x6009F73")]
|
||||
[Address(RVA = "0x224B1E0", Offset = "0x2249BE0", VA = "0x18224B1E0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040068BB RID: 26811
|
||||
[Token(Token = "0x40068BB")]
|
||||
private const int DigestLength = 40;
|
||||
|
||||
// Token: 0x040068BC RID: 26812
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40068BC")]
|
||||
private int H0;
|
||||
|
||||
// Token: 0x040068BD RID: 26813
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40068BD")]
|
||||
private int H1;
|
||||
|
||||
// Token: 0x040068BE RID: 26814
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40068BE")]
|
||||
private int H2;
|
||||
|
||||
// Token: 0x040068BF RID: 26815
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40068BF")]
|
||||
private int H3;
|
||||
|
||||
// Token: 0x040068C0 RID: 26816
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40068C0")]
|
||||
private int H4;
|
||||
|
||||
// Token: 0x040068C1 RID: 26817
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x40068C1")]
|
||||
private int H5;
|
||||
|
||||
// Token: 0x040068C2 RID: 26818
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40068C2")]
|
||||
private int H6;
|
||||
|
||||
// Token: 0x040068C3 RID: 26819
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x40068C3")]
|
||||
private int H7;
|
||||
|
||||
// Token: 0x040068C4 RID: 26820
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40068C4")]
|
||||
private int H8;
|
||||
|
||||
// Token: 0x040068C5 RID: 26821
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
|
||||
[Token(Token = "0x40068C5")]
|
||||
private int H9;
|
||||
|
||||
// Token: 0x040068C6 RID: 26822
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40068C6")]
|
||||
private int[] X;
|
||||
|
||||
// Token: 0x040068C7 RID: 26823
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x40068C7")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,379 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001717 RID: 5911
|
||||
[Token(Token = "0x2001717")]
|
||||
[StructLayout(3)]
|
||||
public class SM3Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x06009F7C RID: 40828 RVA: 0x0024EEF8 File Offset: 0x0024D0F8
|
||||
[Token(Token = "0x6009F7C")]
|
||||
[Address(RVA = "0x224C1F0", Offset = "0x224ABF0", VA = "0x18224C1F0")]
|
||||
static SM3Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
int num = 0;
|
||||
SM3Digest.T = array;
|
||||
uint[] t = SM3Digest.T;
|
||||
num++;
|
||||
t[0] = (uint)2043430169;
|
||||
if (32UL < (ulong)16L)
|
||||
{
|
||||
}
|
||||
SM3Digest.T[0] = (uint)2055708042;
|
||||
}
|
||||
|
||||
// Token: 0x06009F7D RID: 40829 RVA: 0x0024EF4C File Offset: 0x0024D14C
|
||||
[Token(Token = "0x6009F7D")]
|
||||
[Address(RVA = "0x224C330", Offset = "0x224AD30", VA = "0x18224C330")]
|
||||
public SM3Digest()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
this.V = array;
|
||||
uint[] array2 = new uint[16];
|
||||
this.inwords = array2;
|
||||
uint[] array3 = new uint[68];
|
||||
this.W = array3;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009F7E RID: 40830 RVA: 0x0024EF94 File Offset: 0x0024D194
|
||||
[Token(Token = "0x6009F7E")]
|
||||
[Address(RVA = "0x224C3C0", Offset = "0x224ADC0", VA = "0x18224C3C0")]
|
||||
public SM3Digest(SM3Digest t)
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
this.V = array;
|
||||
uint[] array2 = new uint[16];
|
||||
this.inwords = array2;
|
||||
uint[] array3 = new uint[68];
|
||||
this.W = array3;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009F7F RID: 40831 RVA: 0x0024EFDC File Offset: 0x0024D1DC
|
||||
[Token(Token = "0x6009F7F")]
|
||||
[Address(RVA = "0x224B380", Offset = "0x2249D80", VA = "0x18224B380")]
|
||||
private void CopyIn(SM3Digest t)
|
||||
{
|
||||
uint[] v = this.V;
|
||||
int length = v.Length;
|
||||
int num = 0;
|
||||
uint[] v2 = t.V;
|
||||
int num2 = 0;
|
||||
Array.Copy(v2, num2, v, num, length);
|
||||
uint[] array = this.inwords;
|
||||
int length2 = array.Length;
|
||||
int num3 = 0;
|
||||
uint[] array2 = t.inwords;
|
||||
int num4 = 0;
|
||||
Array.Copy(array2, num4, array, num3, length2);
|
||||
int num5 = t.xOff;
|
||||
this.xOff = num5;
|
||||
}
|
||||
|
||||
// Token: 0x1700191B RID: 6427
|
||||
// (get) Token: 0x06009F80 RID: 40832 RVA: 0x0024F054 File Offset: 0x0024D254
|
||||
[Token(Token = "0x1700191B")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F80")]
|
||||
[Address(RVA = "0x224C450", Offset = "0x224AE50", VA = "0x18224C450", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "SM3";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F81 RID: 40833 RVA: 0x0024F068 File Offset: 0x0024D268
|
||||
[Token(Token = "0x6009F81")]
|
||||
[Address(RVA = "0xC390D0", Offset = "0xC37AD0", VA = "0x180C390D0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009F82 RID: 40834 RVA: 0x0024F078 File Offset: 0x0024D278
|
||||
[Token(Token = "0x6009F82")]
|
||||
[Address(RVA = "0x224B400", Offset = "0x2249E00", VA = "0x18224B400", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F82)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SM3Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SM3Digest(var_0_06, newobj:SM3Digest(SM3Digest::.ctor, ldloc:SM3Digest(this)))
|
||||
stloc:uint32[](var_1_0D, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(8)))
|
||||
stfld:uint32[](SM3Digest::V, ldloc:SM3Digest(var_0_06), ldloc:uint32[](var_1_0D))
|
||||
stloc:uint32[](var_2_1C, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(16)))
|
||||
stfld:uint32[](SM3Digest::inwords, ldloc:SM3Digest(var_0_06), ldloc:uint32[](var_2_1C))
|
||||
stloc:uint32[](var_3_2B, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(68)))
|
||||
stfld:uint32[](SM3Digest::W, ldloc:SM3Digest(var_0_06), ldloc:uint32[](var_3_2B))
|
||||
call:void(SM3Digest::CopyIn, ldloc:SM3Digest(var_0_06), ldloc:SM3Digest(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: 0x06009F83 RID: 40835 RVA: 0x0024F0C0 File Offset: 0x0024D2C0
|
||||
[Token(Token = "0x6009F83")]
|
||||
[Address(RVA = "0x224BFB0", Offset = "0x224A9B0", VA = "0x18224BFB0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009F84 RID: 40836 RVA: 0x0024F0D8 File Offset: 0x0024D2D8
|
||||
[Token(Token = "0x6009F84")]
|
||||
[Address(RVA = "0x224C060", Offset = "0x224AA60", VA = "0x18224C060", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] v = this.V;
|
||||
uint[] v2 = this.V;
|
||||
uint[] v3 = this.V;
|
||||
uint[] v4 = this.V;
|
||||
uint[] v5 = this.V;
|
||||
uint[] v6 = this.V;
|
||||
uint[] v7 = this.V;
|
||||
uint[] v8 = this.V;
|
||||
this.xOff = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x06009F85 RID: 40837 RVA: 0x0024F138 File Offset: 0x0024D338
|
||||
[Token(Token = "0x6009F85")]
|
||||
[Address(RVA = "0x224B4C0", Offset = "0x2249EC0", VA = "0x18224B4C0", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt32_To_BE(this.V, output, outOff);
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009F86 RID: 40838 RVA: 0x0024F15C File Offset: 0x0024D35C
|
||||
[Token(Token = "0x6009F86")]
|
||||
[Address(RVA = "0x224BF40", Offset = "0x224A940", VA = "0x18224BF40", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] array = this.inwords;
|
||||
int num = this.xOff;
|
||||
array[0] = (uint)inOff;
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009F87 RID: 40839 RVA: 0x0024F190 File Offset: 0x0024D390
|
||||
[Token(Token = "0x6009F87")]
|
||||
[Address(RVA = "0x224BE10", Offset = "0x224A810", VA = "0x18224BE10", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
int num;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
num = this.xOff;
|
||||
num2 = 0;
|
||||
}
|
||||
while (num <= 14);
|
||||
this.inwords[0] = (uint)num2;
|
||||
int num3;
|
||||
if (this.xOff < 14)
|
||||
{
|
||||
this.inwords[0] = (uint)num2;
|
||||
num3 = this.xOff;
|
||||
num3++;
|
||||
this.xOff = num3;
|
||||
}
|
||||
uint[] array = this.inwords;
|
||||
int num4 = num3 + 1;
|
||||
this.xOff = num4;
|
||||
array[0] = (uint)bitLength;
|
||||
int num5 = this.xOff;
|
||||
uint[] array2 = this.inwords;
|
||||
int num6 = num5 + 1;
|
||||
this.xOff = num6;
|
||||
array2[0] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009F88 RID: 40840 RVA: 0x0024F230 File Offset: 0x0024D430
|
||||
[Token(Token = "0x6009F88")]
|
||||
[Address(RVA = "0x224B520", Offset = "0x2249F20", VA = "0x18224B520")]
|
||||
private uint P0(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F89 RID: 40841 RVA: 0x0024F240 File Offset: 0x0024D440
|
||||
[Token(Token = "0x6009F89")]
|
||||
[Address(RVA = "0x224B550", Offset = "0x2249F50", VA = "0x18224B550")]
|
||||
private uint P1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F8A RID: 40842 RVA: 0x0024F250 File Offset: 0x0024D450
|
||||
[Token(Token = "0x6009F8A")]
|
||||
[Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")]
|
||||
private uint FF0(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F8B RID: 40843 RVA: 0x0024F260 File Offset: 0x0024D460
|
||||
[Token(Token = "0x6009F8B")]
|
||||
[Address(RVA = "0xB6B7D0", Offset = "0xB6A1D0", VA = "0x180B6B7D0")]
|
||||
private uint FF1(uint x, uint y, uint z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x06009F8C RID: 40844 RVA: 0x0024F270 File Offset: 0x0024D470
|
||||
[Token(Token = "0x6009F8C")]
|
||||
[Address(RVA = "0xB6B830", Offset = "0xB6A230", VA = "0x180B6B830")]
|
||||
private uint GG0(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F8D RID: 40845 RVA: 0x0024F280 File Offset: 0x0024D480
|
||||
[Token(Token = "0x6009F8D")]
|
||||
[Address(RVA = "0xB6B770", Offset = "0xB6A170", VA = "0x180B6B770")]
|
||||
private uint GG1(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009F8E RID: 40846 RVA: 0x0024F290 File Offset: 0x0024D490
|
||||
[Token(Token = "0x6009F8E")]
|
||||
[Address(RVA = "0x224B580", Offset = "0x2249F80", VA = "0x18224B580", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
int num = 0;
|
||||
uint[] array = this.inwords;
|
||||
uint[] w = this.W;
|
||||
uint num2 = array[num];
|
||||
num++;
|
||||
w[0] = num2;
|
||||
uint[] w2 = this.W;
|
||||
int length = w2.Length;
|
||||
uint num3 = w2[w];
|
||||
uint num4;
|
||||
num4 += (uint)1;
|
||||
w2[0] = num3;
|
||||
uint[] v = this.V;
|
||||
int length2 = v.Length;
|
||||
uint num5 = v[0];
|
||||
uint num6 = v[0];
|
||||
uint num7 = v[1];
|
||||
uint num8 = v[1];
|
||||
uint num9 = v[2];
|
||||
uint num10 = v[2];
|
||||
uint num11 = v[3];
|
||||
uint num12 = v[3];
|
||||
int num13 = 0;
|
||||
num12 = num5;
|
||||
uint[] t = SM3Digest.T;
|
||||
uint num14;
|
||||
num14 += num5;
|
||||
num14 += num9;
|
||||
uint[] w3 = this.W;
|
||||
int length3 = w3.Length;
|
||||
num13 += 4;
|
||||
num7 += num8;
|
||||
num6 = num11;
|
||||
num6 += num12;
|
||||
uint num15;
|
||||
num6 += num15;
|
||||
num6 += num14;
|
||||
num13++;
|
||||
num5 = num14;
|
||||
uint num16 = w3[num13];
|
||||
num7 += num16;
|
||||
num5 += num7;
|
||||
num7 = num10;
|
||||
num9 = num6;
|
||||
uint[] t2 = SM3Digest.T;
|
||||
uint[] w4 = this.W;
|
||||
uint num17;
|
||||
num17 += num5;
|
||||
num17 += num9;
|
||||
num14 = num17;
|
||||
int length4 = w4.Length;
|
||||
num6 = num5;
|
||||
num5 = num9;
|
||||
uint num18 = w4[t2];
|
||||
num18 += num7;
|
||||
num18 += num6;
|
||||
num5 += num18;
|
||||
num5 += num11;
|
||||
uint num19;
|
||||
num5 += num19;
|
||||
num5 += num14;
|
||||
num4 += (uint)1;
|
||||
uint[] v2 = this.V;
|
||||
uint[] v3 = this.V;
|
||||
uint[] v4 = this.V;
|
||||
uint[] v5 = this.V;
|
||||
uint[] v6 = this.V;
|
||||
uint[] v7 = this.V;
|
||||
uint[] v8 = this.V;
|
||||
uint[] v9 = this.V;
|
||||
this.xOff = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x040068C8 RID: 26824
|
||||
[Token(Token = "0x40068C8")]
|
||||
private const int DIGEST_LENGTH = 32;
|
||||
|
||||
// Token: 0x040068C9 RID: 26825
|
||||
[Token(Token = "0x40068C9")]
|
||||
private const int BLOCK_SIZE = 16;
|
||||
|
||||
// Token: 0x040068CA RID: 26826
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40068CA")]
|
||||
private uint[] V;
|
||||
|
||||
// Token: 0x040068CB RID: 26827
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40068CB")]
|
||||
private uint[] inwords;
|
||||
|
||||
// Token: 0x040068CC RID: 26828
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40068CC")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x040068CD RID: 26829
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40068CD")]
|
||||
private uint[] W;
|
||||
|
||||
// Token: 0x040068CE RID: 26830
|
||||
[Token(Token = "0x40068CE")]
|
||||
private static readonly uint[] T;
|
||||
}
|
||||
}
|
||||
+350
@@ -0,0 +1,350 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001718 RID: 5912
|
||||
[Token(Token = "0x2001718")]
|
||||
[StructLayout(3)]
|
||||
public class Sha1Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x06009F8F RID: 40847 RVA: 0x0024F4C0 File Offset: 0x0024D6C0
|
||||
[Token(Token = "0x6009F8F")]
|
||||
[Address(RVA = "0x224D250", Offset = "0x224BC50", VA = "0x18224D250")]
|
||||
public Sha1Digest()
|
||||
{
|
||||
uint[] array = new uint[80];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009F90 RID: 40848 RVA: 0x0024F4EC File Offset: 0x0024D6EC
|
||||
[Token(Token = "0x6009F90")]
|
||||
[Address(RVA = "0x224D1E0", Offset = "0x224BBE0", VA = "0x18224D1E0")]
|
||||
public Sha1Digest(Sha1Digest t)
|
||||
{
|
||||
uint[] array = new uint[80];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009F91 RID: 40849 RVA: 0x0024F518 File Offset: 0x0024D718
|
||||
[Token(Token = "0x6009F91")]
|
||||
[Address(RVA = "0x2243A40", Offset = "0x2242440", VA = "0x182243A40")]
|
||||
private void CopyIn(Sha1Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
uint h = t.H1;
|
||||
this.H1 = h;
|
||||
uint h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
uint h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
uint h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
uint h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
uint[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
uint[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x1700191C RID: 6428
|
||||
// (get) Token: 0x06009F92 RID: 40850 RVA: 0x0024F5B8 File Offset: 0x0024D7B8
|
||||
[Token(Token = "0x1700191C")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F92")]
|
||||
[Address(RVA = "0x224D2B0", Offset = "0x224BCB0", VA = "0x18224D2B0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "SHA-1";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F93 RID: 40851 RVA: 0x0024F5CC File Offset: 0x0024D7CC
|
||||
[Token(Token = "0x6009F93")]
|
||||
[Address(RVA = "0x15A18C0", Offset = "0x15A02C0", VA = "0x1815A18C0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
// Token: 0x06009F94 RID: 40852 RVA: 0x0024F5DC File Offset: 0x0024D7DC
|
||||
[Token(Token = "0x6009F94")]
|
||||
[Address(RVA = "0x224D050", Offset = "0x224BA50", VA = "0x18224D050", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int num = this.xOff;
|
||||
x[0] = (uint)inOff;
|
||||
int num2 = this.xOff;
|
||||
num2++;
|
||||
this.xOff = num2;
|
||||
if (num2 == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F95 RID: 40853 RVA: 0x0024F61C File Offset: 0x0024D81C
|
||||
[Token(Token = "0x6009F95")]
|
||||
[Address(RVA = "0x224CFC0", Offset = "0x224B9C0", VA = "0x18224CFC0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (uint)bitLength;
|
||||
this.X[7] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009F96 RID: 40854 RVA: 0x0024F654 File Offset: 0x0024D854
|
||||
[Token(Token = "0x6009F96")]
|
||||
[Address(RVA = "0x224C520", Offset = "0x224AF20", VA = "0x18224C520", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt32_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H5, output, outOff);
|
||||
return 20;
|
||||
}
|
||||
|
||||
// Token: 0x06009F97 RID: 40855 RVA: 0x0024F6AC File Offset: 0x0024D8AC
|
||||
[Token(Token = "0x6009F97")]
|
||||
[Address(RVA = "0x224D0E0", Offset = "0x224BAE0", VA = "0x18224D0E0", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] x = this.X;
|
||||
this.H1 = (uint)((ulong)1732584193L);
|
||||
this.H2 = (uint)((ulong)4023233417L);
|
||||
this.H3 = (uint)((ulong)2562383102L);
|
||||
this.H4 = (uint)((ulong)271733878L);
|
||||
this.H5 = (uint)((ulong)3285377520L);
|
||||
this.xOff = (int)((ulong)0L);
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
Array.Clear(x, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009F98 RID: 40856 RVA: 0x0024F730 File Offset: 0x0024D930
|
||||
[Token(Token = "0x6009F98")]
|
||||
[Address(RVA = "0xA94430", Offset = "0xA92E30", VA = "0x180A94430")]
|
||||
private static uint F(uint u, uint v, uint w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x06009F99 RID: 40857 RVA: 0x0024F740 File Offset: 0x0024D940
|
||||
[Token(Token = "0x6009F99")]
|
||||
[Address(RVA = "0xA94420", Offset = "0xA92E20", VA = "0x180A94420")]
|
||||
private static uint H(uint u, uint v, uint w)
|
||||
{
|
||||
return u;
|
||||
}
|
||||
|
||||
// Token: 0x06009F9A RID: 40858 RVA: 0x0024F750 File Offset: 0x0024D950
|
||||
[Token(Token = "0x6009F9A")]
|
||||
[Address(RVA = "0x224C5C0", Offset = "0x224AFC0", VA = "0x18224C5C0")]
|
||||
private static uint G(uint u, uint v, uint w)
|
||||
{
|
||||
return v;
|
||||
}
|
||||
|
||||
// Token: 0x06009F9B RID: 40859 RVA: 0x0024F760 File Offset: 0x0024D960
|
||||
[Token(Token = "0x6009F9B")]
|
||||
[Address(RVA = "0x224C5D0", Offset = "0x224AFD0", VA = "0x18224C5D0", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int length = x.Length;
|
||||
uint num;
|
||||
num += (uint)1;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
x[0] = num2;
|
||||
uint num3 = this.H1;
|
||||
int num4 = 0;
|
||||
uint num5 = this.H2;
|
||||
uint num6 = this.H3;
|
||||
uint num7 = this.H4;
|
||||
uint num8 = this.H5;
|
||||
uint[] x2 = this.X;
|
||||
int length2 = x2.Length;
|
||||
num8 += (uint)1518500249;
|
||||
num3 = num6;
|
||||
num2 = num3;
|
||||
num5 += num2;
|
||||
num5 += num8;
|
||||
num2 = num5;
|
||||
num3 = num5;
|
||||
num2 += (uint)1518500249;
|
||||
num3 += num2;
|
||||
num3 += num7;
|
||||
num3 = num5;
|
||||
num2 = num3;
|
||||
num5 += (uint)1518500249;
|
||||
num8 = num5;
|
||||
num5 += num2;
|
||||
num5 += num6;
|
||||
num4 += 3;
|
||||
num7 = num3;
|
||||
num2 = num5;
|
||||
num3 = num5;
|
||||
num3 += num2;
|
||||
num8 += (uint)1518500249;
|
||||
num8 += num3;
|
||||
num6 = num5;
|
||||
num3 = num8;
|
||||
num2 = num8;
|
||||
num3 += num2;
|
||||
num4++;
|
||||
int length3 = x2.Length;
|
||||
num3 = num8;
|
||||
num7 += num8;
|
||||
num6 += num7;
|
||||
num4 += 2;
|
||||
num4 += 4;
|
||||
num4 += 3;
|
||||
ulong num9;
|
||||
num9 += (ulong)1L;
|
||||
int length4 = x2.Length;
|
||||
num4 += -1894007588;
|
||||
num4 += 4;
|
||||
num4 += 4;
|
||||
num4 += -1894007588;
|
||||
num4 += 1859775393;
|
||||
num4 += 4;
|
||||
num4 += -1894007588;
|
||||
num4 += num4;
|
||||
num4 += num4;
|
||||
num4 += 3;
|
||||
num4 += num4;
|
||||
num4 += -1894007588;
|
||||
ulong num10;
|
||||
num10 += (ulong)1L;
|
||||
int length5 = x2.Length;
|
||||
num4 += num4;
|
||||
num4 += num4;
|
||||
num4 += 2;
|
||||
num4 += -1894007588;
|
||||
num4 += 3;
|
||||
ulong num11;
|
||||
num11 += (ulong)1L;
|
||||
int num12 = 0;
|
||||
num3 += 2400959708U;
|
||||
Array.Clear(x2, num12, 16);
|
||||
}
|
||||
|
||||
// Token: 0x06009F9C RID: 40860 RVA: 0x0024F974 File Offset: 0x0024DB74
|
||||
[Token(Token = "0x6009F9C")]
|
||||
[Address(RVA = "0x224C480", Offset = "0x224AE80", VA = "0x18224C480", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F9C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha1Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha1Digest(var_0_06, newobj:Sha1Digest(Sha1Digest::.ctor, ldloc:Sha1Digest(this)))
|
||||
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(80)))
|
||||
stfld:uint32[](Sha1Digest::X, ldloc:Sha1Digest(var_0_06), ldloc:uint32[](var_1_0E))
|
||||
call:void(Sha1Digest::CopyIn, ldloc:Sha1Digest(var_0_06), ldloc:Sha1Digest(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: 0x06009F9D RID: 40861 RVA: 0x0024F9A0 File Offset: 0x0024DBA0
|
||||
[Token(Token = "0x6009F9D")]
|
||||
[Address(RVA = "0x224D140", Offset = "0x224BB40", VA = "0x18224D140", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040068CF RID: 26831
|
||||
[Token(Token = "0x40068CF")]
|
||||
private const int DigestLength = 20;
|
||||
|
||||
// Token: 0x040068D0 RID: 26832
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40068D0")]
|
||||
private uint H1;
|
||||
|
||||
// Token: 0x040068D1 RID: 26833
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40068D1")]
|
||||
private uint H2;
|
||||
|
||||
// Token: 0x040068D2 RID: 26834
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40068D2")]
|
||||
private uint H3;
|
||||
|
||||
// Token: 0x040068D3 RID: 26835
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40068D3")]
|
||||
private uint H4;
|
||||
|
||||
// Token: 0x040068D4 RID: 26836
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40068D4")]
|
||||
private uint H5;
|
||||
|
||||
// Token: 0x040068D5 RID: 26837
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40068D5")]
|
||||
private uint[] X;
|
||||
|
||||
// Token: 0x040068D6 RID: 26838
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40068D6")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x040068D7 RID: 26839
|
||||
[Token(Token = "0x40068D7")]
|
||||
private const uint Y1 = 1518500249U;
|
||||
|
||||
// Token: 0x040068D8 RID: 26840
|
||||
[Token(Token = "0x40068D8")]
|
||||
private const uint Y2 = 1859775393U;
|
||||
|
||||
// Token: 0x040068D9 RID: 26841
|
||||
[Token(Token = "0x40068D9")]
|
||||
private const uint Y3 = 2400959708U;
|
||||
|
||||
// Token: 0x040068DA RID: 26842
|
||||
[Token(Token = "0x40068DA")]
|
||||
private const uint Y4 = 3395469782U;
|
||||
}
|
||||
}
|
||||
+425
@@ -0,0 +1,425 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001719 RID: 5913
|
||||
[Token(Token = "0x2001719")]
|
||||
[StructLayout(3)]
|
||||
public class Sha224Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x06009F9E RID: 40862 RVA: 0x0024F9B8 File Offset: 0x0024DBB8
|
||||
[Token(Token = "0x6009F9E")]
|
||||
[Address(RVA = "0x224E260", Offset = "0x224CC60", VA = "0x18224E260")]
|
||||
public Sha224Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x06009F9F RID: 40863 RVA: 0x0024F9E4 File Offset: 0x0024DBE4
|
||||
[Token(Token = "0x6009F9F")]
|
||||
[Address(RVA = "0x224E1F0", Offset = "0x224CBF0", VA = "0x18224E1F0")]
|
||||
public Sha224Digest(Sha224Digest t)
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009FA0 RID: 40864 RVA: 0x0024FA10 File Offset: 0x0024DC10
|
||||
[Token(Token = "0x6009FA0")]
|
||||
[Address(RVA = "0x22465F0", Offset = "0x2244FF0", VA = "0x1822465F0")]
|
||||
private void CopyIn(Sha224Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
uint h = t.H1;
|
||||
this.H1 = h;
|
||||
uint h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
uint h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
uint h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
uint h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
uint h6 = t.H6;
|
||||
this.H6 = h6;
|
||||
uint h7 = t.H7;
|
||||
this.H7 = h7;
|
||||
uint h8 = t.H8;
|
||||
this.H8 = h8;
|
||||
uint[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
uint[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x1700191D RID: 6429
|
||||
// (get) Token: 0x06009FA1 RID: 40865 RVA: 0x0024FAE0 File Offset: 0x0024DCE0
|
||||
[Token(Token = "0x1700191D")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009FA1")]
|
||||
[Address(RVA = "0x224E2C0", Offset = "0x224CCC0", VA = "0x18224E2C0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "SHA-224";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FA2 RID: 40866 RVA: 0x0024FAF4 File Offset: 0x0024DCF4
|
||||
[Token(Token = "0x6009FA2")]
|
||||
[Address(RVA = "0x1BE9190", Offset = "0x1BE7B90", VA = "0x181BE9190", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 28;
|
||||
}
|
||||
|
||||
// Token: 0x06009FA3 RID: 40867 RVA: 0x0024FB04 File Offset: 0x0024DD04
|
||||
[Token(Token = "0x6009FA3")]
|
||||
[Address(RVA = "0x224DF60", Offset = "0x224C960", VA = "0x18224DF60", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int num = this.xOff;
|
||||
x[0] = (uint)inOff;
|
||||
int num2 = this.xOff;
|
||||
num2++;
|
||||
this.xOff = num2;
|
||||
if (num2 == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FA4 RID: 40868 RVA: 0x0024FB44 File Offset: 0x0024DD44
|
||||
[Token(Token = "0x6009FA4")]
|
||||
[Address(RVA = "0x224DED0", Offset = "0x224C8D0", VA = "0x18224DED0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (uint)bitLength;
|
||||
this.X[7] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009FA5 RID: 40869 RVA: 0x0024FB7C File Offset: 0x0024DD7C
|
||||
[Token(Token = "0x6009FA5")]
|
||||
[Address(RVA = "0x224D380", Offset = "0x224BD80", VA = "0x18224D380", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt32_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H5, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H6, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H7, output, outOff);
|
||||
return 28;
|
||||
}
|
||||
|
||||
// Token: 0x06009FA6 RID: 40870 RVA: 0x0024FBEC File Offset: 0x0024DDEC
|
||||
[Token(Token = "0x6009FA6")]
|
||||
[Address(RVA = "0x224E090", Offset = "0x224CA90", VA = "0x18224E090", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] x = this.X;
|
||||
this.H1 = (uint)((ulong)3238371032L);
|
||||
this.H2 = (uint)((ulong)914150663L);
|
||||
this.H3 = (uint)((ulong)812702999L);
|
||||
this.H4 = (uint)((ulong)4144912697L);
|
||||
this.H5 = (uint)((ulong)4290775857L);
|
||||
this.H6 = (uint)((ulong)1750603025L);
|
||||
this.H7 = (uint)((ulong)1694076839L);
|
||||
this.H8 = (uint)((ulong)3204075428L);
|
||||
this.xOff = (int)((ulong)0L);
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
Array.Clear(x, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009FA7 RID: 40871 RVA: 0x0024FC9C File Offset: 0x0024DE9C
|
||||
[Token(Token = "0x6009FA7")]
|
||||
[Address(RVA = "0x224D450", Offset = "0x224BE50", VA = "0x18224D450", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int length = this.X.Length;
|
||||
uint num;
|
||||
num += (uint)1;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
x[0] = num2;
|
||||
while (num <= (uint)63)
|
||||
{
|
||||
}
|
||||
uint num3 = this.H4;
|
||||
int num4 = 0;
|
||||
uint num5 = this.H3;
|
||||
uint num6 = this.H5;
|
||||
uint num7 = this.H1;
|
||||
uint num8 = this.H2;
|
||||
uint num9 = this.H6;
|
||||
uint num10 = this.H7;
|
||||
uint num11 = this.H8;
|
||||
num6 = num2;
|
||||
int length2 = Sha224Digest.K.Length;
|
||||
int length3 = this.X.Length;
|
||||
num2 = num6;
|
||||
num6 = num9;
|
||||
num2 += num6;
|
||||
num11 += num2;
|
||||
num2 = num7;
|
||||
num11 = num8;
|
||||
num11 += num2;
|
||||
num2 = num3;
|
||||
num11 = num3;
|
||||
num2 += num3;
|
||||
num6 = num11;
|
||||
num10 += num2;
|
||||
num2 = num11;
|
||||
num11 += num10;
|
||||
num11 += num2;
|
||||
num2 = num5;
|
||||
num11 = num5;
|
||||
num2 += num5;
|
||||
num9 += num2;
|
||||
num8 += num9;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num5 = num11;
|
||||
num9 += num5;
|
||||
num9 += num2;
|
||||
num4 += 3;
|
||||
num2 = num8;
|
||||
num11 = num8;
|
||||
num5 = num9;
|
||||
num2 += num5;
|
||||
num6 += num2;
|
||||
num2 = num9;
|
||||
num7 += num6;
|
||||
num11 += num6;
|
||||
num11 += num2;
|
||||
num2 = num7;
|
||||
num11 = num8;
|
||||
num5 = num7;
|
||||
num2 += num5;
|
||||
num3 += num2;
|
||||
num2 = num11;
|
||||
num3 = num9;
|
||||
num5 = num9;
|
||||
num3 += num2;
|
||||
num4 += 5;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num2 += num11;
|
||||
num11 = num3;
|
||||
num5 += num2;
|
||||
num2 = num3;
|
||||
num11 += num5;
|
||||
num11 += num2;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num2 += num3;
|
||||
num8 += num2;
|
||||
num9 += num8;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num8 += num3;
|
||||
num8 += num2;
|
||||
num4 += 7;
|
||||
num2 = num9;
|
||||
num4 += 8;
|
||||
num3 = num8;
|
||||
num2 += num3;
|
||||
num7 += num2;
|
||||
num11 += num7;
|
||||
num2 = num8;
|
||||
num3 = num11;
|
||||
num7 += num3;
|
||||
num4++;
|
||||
num7 += num2;
|
||||
int num12 = 0;
|
||||
uint[] x2 = this.X;
|
||||
this.H5 = num3;
|
||||
this.H6 = num3;
|
||||
this.H7 = num3;
|
||||
this.xOff = (int)((ulong)0L);
|
||||
Array.Clear(x2, num12, 16);
|
||||
}
|
||||
|
||||
// Token: 0x06009FA8 RID: 40872 RVA: 0x0024FF90 File Offset: 0x0024E190
|
||||
[Token(Token = "0x6009FA8")]
|
||||
[Address(RVA = "0x704FE0", Offset = "0x7039E0", VA = "0x180704FE0")]
|
||||
private static uint Ch(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FA9 RID: 40873 RVA: 0x0024FFA0 File Offset: 0x0024E1A0
|
||||
[Token(Token = "0x6009FA9")]
|
||||
[Address(RVA = "0x7051E0", Offset = "0x703BE0", VA = "0x1807051E0")]
|
||||
private static uint Maj(uint x, uint y, uint z)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x06009FAA RID: 40874 RVA: 0x0024FFB0 File Offset: 0x0024E1B0
|
||||
[Token(Token = "0x6009FAA")]
|
||||
[Address(RVA = "0x224E110", Offset = "0x224CB10", VA = "0x18224E110")]
|
||||
private static uint Sum0(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FAB RID: 40875 RVA: 0x0024FFC0 File Offset: 0x0024E1C0
|
||||
[Token(Token = "0x6009FAB")]
|
||||
[Address(RVA = "0x224E150", Offset = "0x224CB50", VA = "0x18224E150")]
|
||||
private static uint Sum1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FAC RID: 40876 RVA: 0x0024FFD0 File Offset: 0x0024E1D0
|
||||
[Token(Token = "0x6009FAC")]
|
||||
[Address(RVA = "0x2120A90", Offset = "0x211F490", VA = "0x182120A90")]
|
||||
private static uint Theta0(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FAD RID: 40877 RVA: 0x0024FFE0 File Offset: 0x0024E1E0
|
||||
[Token(Token = "0x6009FAD")]
|
||||
[Address(RVA = "0x2120AC0", Offset = "0x211F4C0", VA = "0x182120AC0")]
|
||||
private static uint Theta1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FAE RID: 40878 RVA: 0x0024FFF0 File Offset: 0x0024E1F0
|
||||
[Token(Token = "0x6009FAE")]
|
||||
[Address(RVA = "0x224D2E0", Offset = "0x224BCE0", VA = "0x18224D2E0", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FAE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha224Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha224Digest(var_0_06, newobj:Sha224Digest(Sha224Digest::.ctor, ldloc:Sha224Digest(this)))
|
||||
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(64)))
|
||||
stfld:uint32[](Sha224Digest::X, ldloc:Sha224Digest(var_0_06), ldloc:uint32[](var_1_0E))
|
||||
call:void(Sha224Digest::CopyIn, ldloc:Sha224Digest(var_0_06), ldloc:Sha224Digest(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: 0x06009FAF RID: 40879 RVA: 0x0025001C File Offset: 0x0024E21C
|
||||
[Token(Token = "0x6009FAF")]
|
||||
[Address(RVA = "0x224DFF0", Offset = "0x224C9F0", VA = "0x18224DFF0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009FB0 RID: 40880 RVA: 0x00250034 File Offset: 0x0024E234
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009FB0")]
|
||||
[Address(RVA = "0x224E190", Offset = "0x224CB90", VA = "0x18224E190")]
|
||||
static Sha224Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.433175D38B13FFE177FDD661A309F1B528B3F6E2).FieldHandle);
|
||||
Sha224Digest.K = array;
|
||||
}
|
||||
|
||||
// Token: 0x040068DB RID: 26843
|
||||
[Token(Token = "0x40068DB")]
|
||||
private const int DigestLength = 28;
|
||||
|
||||
// Token: 0x040068DC RID: 26844
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40068DC")]
|
||||
private uint H1;
|
||||
|
||||
// Token: 0x040068DD RID: 26845
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40068DD")]
|
||||
private uint H2;
|
||||
|
||||
// Token: 0x040068DE RID: 26846
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40068DE")]
|
||||
private uint H3;
|
||||
|
||||
// Token: 0x040068DF RID: 26847
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40068DF")]
|
||||
private uint H4;
|
||||
|
||||
// Token: 0x040068E0 RID: 26848
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40068E0")]
|
||||
private uint H5;
|
||||
|
||||
// Token: 0x040068E1 RID: 26849
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x40068E1")]
|
||||
private uint H6;
|
||||
|
||||
// Token: 0x040068E2 RID: 26850
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40068E2")]
|
||||
private uint H7;
|
||||
|
||||
// Token: 0x040068E3 RID: 26851
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x40068E3")]
|
||||
private uint H8;
|
||||
|
||||
// Token: 0x040068E4 RID: 26852
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40068E4")]
|
||||
private uint[] X;
|
||||
|
||||
// Token: 0x040068E5 RID: 26853
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40068E5")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x040068E6 RID: 26854
|
||||
[Token(Token = "0x40068E6")]
|
||||
internal static readonly uint[] K;
|
||||
}
|
||||
}
|
||||
+432
@@ -0,0 +1,432 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200171A RID: 5914
|
||||
[Token(Token = "0x200171A")]
|
||||
[StructLayout(3)]
|
||||
public class Sha256Digest : GeneralDigest
|
||||
{
|
||||
// Token: 0x06009FB1 RID: 40881 RVA: 0x0025005C File Offset: 0x0024E25C
|
||||
[Token(Token = "0x6009FB1")]
|
||||
[Address(RVA = "0x224F110", Offset = "0x224DB10", VA = "0x18224F110")]
|
||||
public Sha256Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
this.X = array;
|
||||
base..ctor();
|
||||
this.H1 = (uint)((ulong)1779033703L);
|
||||
this.H2 = (uint)((ulong)3144134277L);
|
||||
this.H3 = (uint)((ulong)1013904242L);
|
||||
this.H4 = (uint)((ulong)2773480762L);
|
||||
this.H5 = (uint)((ulong)1359893119L);
|
||||
this.H6 = (uint)((ulong)2600822924L);
|
||||
this.H7 = (uint)((ulong)528734635L);
|
||||
this.H8 = (uint)((ulong)1541459225L);
|
||||
}
|
||||
|
||||
// Token: 0x06009FB2 RID: 40882 RVA: 0x002500F0 File Offset: 0x0024E2F0
|
||||
[Token(Token = "0x6009FB2")]
|
||||
[Address(RVA = "0x224F1A0", Offset = "0x224DBA0", VA = "0x18224F1A0")]
|
||||
public Sha256Digest(Sha256Digest t)
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
this.X = array;
|
||||
base..ctor(t);
|
||||
this.CopyIn(t);
|
||||
}
|
||||
|
||||
// Token: 0x06009FB3 RID: 40883 RVA: 0x0025011C File Offset: 0x0024E31C
|
||||
[Token(Token = "0x6009FB3")]
|
||||
[Address(RVA = "0x22465F0", Offset = "0x2244FF0", VA = "0x1822465F0")]
|
||||
private void CopyIn(Sha256Digest t)
|
||||
{
|
||||
base.CopyIn(t);
|
||||
uint h = t.H1;
|
||||
this.H1 = h;
|
||||
uint h2 = t.H2;
|
||||
this.H2 = h2;
|
||||
uint h3 = t.H3;
|
||||
this.H3 = h3;
|
||||
uint h4 = t.H4;
|
||||
this.H4 = h4;
|
||||
uint h5 = t.H5;
|
||||
this.H5 = h5;
|
||||
uint h6 = t.H6;
|
||||
this.H6 = h6;
|
||||
uint h7 = t.H7;
|
||||
this.H7 = h7;
|
||||
uint h8 = t.H8;
|
||||
this.H8 = h8;
|
||||
uint[] x = t.X;
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
uint[] x2 = this.X;
|
||||
int num2 = 0;
|
||||
Array.Copy(x, num2, x2, num, length);
|
||||
int num3 = t.xOff;
|
||||
this.xOff = num3;
|
||||
}
|
||||
|
||||
// Token: 0x1700191E RID: 6430
|
||||
// (get) Token: 0x06009FB4 RID: 40884 RVA: 0x002501EC File Offset: 0x0024E3EC
|
||||
[Token(Token = "0x1700191E")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009FB4")]
|
||||
[Address(RVA = "0x224F210", Offset = "0x224DC10", VA = "0x18224F210", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return "SHA-256";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FB5 RID: 40885 RVA: 0x00250200 File Offset: 0x0024E400
|
||||
[Token(Token = "0x6009FB5")]
|
||||
[Address(RVA = "0xC390D0", Offset = "0xC37AD0", VA = "0x180C390D0", Slot = "18")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009FB6 RID: 40886 RVA: 0x00250210 File Offset: 0x0024E410
|
||||
[Token(Token = "0x6009FB6")]
|
||||
[Address(RVA = "0x224DF60", Offset = "0x224C960", VA = "0x18224DF60", Slot = "14")]
|
||||
internal override void ProcessWord(byte[] input, int inOff)
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int num = this.xOff;
|
||||
x[0] = (uint)inOff;
|
||||
int num2 = this.xOff;
|
||||
num2++;
|
||||
this.xOff = num2;
|
||||
if (num2 == 16)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FB7 RID: 40887 RVA: 0x00250250 File Offset: 0x0024E450
|
||||
[Token(Token = "0x6009FB7")]
|
||||
[Address(RVA = "0x224DED0", Offset = "0x224C8D0", VA = "0x18224DED0", Slot = "15")]
|
||||
internal override void ProcessLength(long bitLength)
|
||||
{
|
||||
if (this.xOff > 14)
|
||||
{
|
||||
}
|
||||
this.X[7] = (uint)bitLength;
|
||||
this.X[7] = (uint)bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009FB8 RID: 40888 RVA: 0x00250288 File Offset: 0x0024E488
|
||||
[Token(Token = "0x6009FB8")]
|
||||
[Address(RVA = "0x224E390", Offset = "0x224CD90", VA = "0x18224E390", Slot = "19")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt32_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H5, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H6, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H7, output, outOff);
|
||||
Pack.UInt32_To_BE(this.H8, output, outOff);
|
||||
return 32;
|
||||
}
|
||||
|
||||
// Token: 0x06009FB9 RID: 40889 RVA: 0x00250308 File Offset: 0x0024E508
|
||||
[Token(Token = "0x6009FB9")]
|
||||
[Address(RVA = "0x224EF90", Offset = "0x224D990", VA = "0x18224EF90", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
uint[] x = this.X;
|
||||
this.H1 = (uint)((ulong)1779033703L);
|
||||
this.H2 = (uint)((ulong)3144134277L);
|
||||
this.H3 = (uint)((ulong)1013904242L);
|
||||
this.H4 = (uint)((ulong)2773480762L);
|
||||
this.H5 = (uint)((ulong)1359893119L);
|
||||
this.H6 = (uint)((ulong)2600822924L);
|
||||
this.H7 = (uint)((ulong)528734635L);
|
||||
this.H8 = (uint)((ulong)1541459225L);
|
||||
this.xOff = (int)((ulong)0L);
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
Array.Clear(x, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009FBA RID: 40890 RVA: 0x002503B4 File Offset: 0x0024E5B4
|
||||
[Token(Token = "0x6009FBA")]
|
||||
[Address(RVA = "0x224F240", Offset = "0x224DC40", VA = "0x18224F240")]
|
||||
private void initHs()
|
||||
{
|
||||
this.H1 = (uint)((ulong)1779033703L);
|
||||
this.H2 = (uint)((ulong)3144134277L);
|
||||
this.H3 = (uint)((ulong)1013904242L);
|
||||
this.H4 = (uint)((ulong)2773480762L);
|
||||
this.H5 = (uint)((ulong)1359893119L);
|
||||
this.H6 = (uint)((ulong)2600822924L);
|
||||
this.H7 = (uint)((ulong)528734635L);
|
||||
this.H8 = (uint)((ulong)1541459225L);
|
||||
}
|
||||
|
||||
// Token: 0x06009FBB RID: 40891 RVA: 0x00250434 File Offset: 0x0024E634
|
||||
[Token(Token = "0x6009FBB")]
|
||||
[Address(RVA = "0x224E470", Offset = "0x224CE70", VA = "0x18224E470", Slot = "16")]
|
||||
internal override void ProcessBlock()
|
||||
{
|
||||
uint[] x = this.X;
|
||||
int length = this.X.Length;
|
||||
uint num;
|
||||
num += (uint)1;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
x[0] = num2;
|
||||
while (num <= (uint)63)
|
||||
{
|
||||
}
|
||||
uint num3 = this.H4;
|
||||
int num4 = 0;
|
||||
uint num5 = this.H3;
|
||||
uint num6 = this.H5;
|
||||
uint num7 = this.H1;
|
||||
uint num8 = this.H2;
|
||||
uint num9 = this.H6;
|
||||
uint num10 = this.H7;
|
||||
uint num11 = this.H8;
|
||||
num6 = num2;
|
||||
int length2 = Sha256Digest.K.Length;
|
||||
int length3 = this.X.Length;
|
||||
num2 = num6;
|
||||
num6 = num9;
|
||||
num2 += num6;
|
||||
num11 += num2;
|
||||
num2 = num7;
|
||||
num11 = num8;
|
||||
num11 += num2;
|
||||
num2 = num3;
|
||||
num11 = num3;
|
||||
num2 += num3;
|
||||
num6 = num11;
|
||||
num10 += num2;
|
||||
num2 = num11;
|
||||
num11 += num10;
|
||||
num11 += num2;
|
||||
num2 = num5;
|
||||
num11 = num5;
|
||||
num2 += num5;
|
||||
num9 += num2;
|
||||
num8 += num9;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num5 = num11;
|
||||
num9 += num5;
|
||||
num9 += num2;
|
||||
num4 += 3;
|
||||
num2 = num8;
|
||||
num11 = num8;
|
||||
num5 = num9;
|
||||
num2 += num5;
|
||||
num6 += num2;
|
||||
num2 = num9;
|
||||
num7 += num6;
|
||||
num11 += num6;
|
||||
num11 += num2;
|
||||
num2 = num7;
|
||||
num11 = num8;
|
||||
num5 = num7;
|
||||
num2 += num5;
|
||||
num3 += num2;
|
||||
num2 = num11;
|
||||
num3 = num9;
|
||||
num5 = num9;
|
||||
num3 += num2;
|
||||
num4 += 5;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num2 += num11;
|
||||
num11 = num3;
|
||||
num5 += num2;
|
||||
num2 = num3;
|
||||
num11 += num5;
|
||||
num11 += num2;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num2 += num3;
|
||||
num8 += num2;
|
||||
num9 += num8;
|
||||
num2 = num11;
|
||||
num3 = num11;
|
||||
num8 += num3;
|
||||
num8 += num2;
|
||||
num4 += 7;
|
||||
num2 = num9;
|
||||
num4 += 8;
|
||||
num3 = num8;
|
||||
num2 += num3;
|
||||
num7 += num2;
|
||||
num11 += num7;
|
||||
num2 = num8;
|
||||
num3 = num11;
|
||||
num7 += num3;
|
||||
num4++;
|
||||
num7 += num2;
|
||||
int num12 = 0;
|
||||
uint[] x2 = this.X;
|
||||
this.H5 = num3;
|
||||
this.H6 = num3;
|
||||
this.H7 = num3;
|
||||
this.xOff = (int)((ulong)0L);
|
||||
Array.Clear(x2, num12, 16);
|
||||
}
|
||||
|
||||
// Token: 0x06009FBC RID: 40892 RVA: 0x00250728 File Offset: 0x0024E928
|
||||
[Token(Token = "0x6009FBC")]
|
||||
[Address(RVA = "0x224F060", Offset = "0x224DA60", VA = "0x18224F060")]
|
||||
private static uint Sum1Ch(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FBD RID: 40893 RVA: 0x00250738 File Offset: 0x0024E938
|
||||
[Token(Token = "0x6009FBD")]
|
||||
[Address(RVA = "0x224F010", Offset = "0x224DA10", VA = "0x18224F010")]
|
||||
private static uint Sum0Maj(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FBE RID: 40894 RVA: 0x00250748 File Offset: 0x0024E948
|
||||
[Token(Token = "0x6009FBE")]
|
||||
[Address(RVA = "0x2120A90", Offset = "0x211F490", VA = "0x182120A90")]
|
||||
private static uint Theta0(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FBF RID: 40895 RVA: 0x00250758 File Offset: 0x0024E958
|
||||
[Token(Token = "0x6009FBF")]
|
||||
[Address(RVA = "0x2120AC0", Offset = "0x211F4C0", VA = "0x182120AC0")]
|
||||
private static uint Theta1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009FC0 RID: 40896 RVA: 0x00250768 File Offset: 0x0024E968
|
||||
[Token(Token = "0x6009FC0")]
|
||||
[Address(RVA = "0x224E2F0", Offset = "0x224CCF0", VA = "0x18224E2F0", Slot = "20")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FC0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha256Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha256Digest(var_0_06, newobj:Sha256Digest(Sha256Digest::.ctor, ldloc:Sha256Digest(this)))
|
||||
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(64)))
|
||||
stfld:uint32[](Sha256Digest::X, ldloc:Sha256Digest(var_0_06), ldloc:uint32[](var_1_0E))
|
||||
call:void(Sha256Digest::CopyIn, ldloc:Sha256Digest(var_0_06), ldloc:Sha256Digest(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: 0x06009FC1 RID: 40897 RVA: 0x00250794 File Offset: 0x0024E994
|
||||
[Token(Token = "0x6009FC1")]
|
||||
[Address(RVA = "0x224EEF0", Offset = "0x224D8F0", VA = "0x18224EEF0", Slot = "21")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x06009FC2 RID: 40898 RVA: 0x002507AC File Offset: 0x0024E9AC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009FC2")]
|
||||
[Address(RVA = "0x224F0B0", Offset = "0x224DAB0", VA = "0x18224F0B0")]
|
||||
static Sha256Digest()
|
||||
{
|
||||
uint[] array = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.433175D38B13FFE177FDD661A309F1B528B3F6E2).FieldHandle);
|
||||
Sha256Digest.K = array;
|
||||
}
|
||||
|
||||
// Token: 0x040068E7 RID: 26855
|
||||
[Token(Token = "0x40068E7")]
|
||||
private const int DigestLength = 32;
|
||||
|
||||
// Token: 0x040068E8 RID: 26856
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40068E8")]
|
||||
private uint H1;
|
||||
|
||||
// Token: 0x040068E9 RID: 26857
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40068E9")]
|
||||
private uint H2;
|
||||
|
||||
// Token: 0x040068EA RID: 26858
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40068EA")]
|
||||
private uint H3;
|
||||
|
||||
// Token: 0x040068EB RID: 26859
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x40068EB")]
|
||||
private uint H4;
|
||||
|
||||
// Token: 0x040068EC RID: 26860
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40068EC")]
|
||||
private uint H5;
|
||||
|
||||
// Token: 0x040068ED RID: 26861
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x40068ED")]
|
||||
private uint H6;
|
||||
|
||||
// Token: 0x040068EE RID: 26862
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40068EE")]
|
||||
private uint H7;
|
||||
|
||||
// Token: 0x040068EF RID: 26863
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x40068EF")]
|
||||
private uint H8;
|
||||
|
||||
// Token: 0x040068F0 RID: 26864
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40068F0")]
|
||||
private uint[] X;
|
||||
|
||||
// Token: 0x040068F1 RID: 26865
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40068F1")]
|
||||
private int xOff;
|
||||
|
||||
// Token: 0x040068F2 RID: 26866
|
||||
[Token(Token = "0x40068F2")]
|
||||
private static readonly uint[] K;
|
||||
}
|
||||
}
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200171B RID: 5915
|
||||
[Token(Token = "0x200171B")]
|
||||
[StructLayout(3)]
|
||||
public class Sha384Digest : LongDigest
|
||||
{
|
||||
// Token: 0x06009FC3 RID: 40899 RVA: 0x002507D4 File Offset: 0x0024E9D4
|
||||
[Token(Token = "0x6009FC3")]
|
||||
[Address(RVA = "0x224F570", Offset = "0x224DF70", VA = "0x18224F570")]
|
||||
public Sha384Digest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009FC4 RID: 40900 RVA: 0x002507E8 File Offset: 0x0024E9E8
|
||||
[Token(Token = "0x6009FC4")]
|
||||
[Address(RVA = "0x224F500", Offset = "0x224DF00", VA = "0x18224F500")]
|
||||
public Sha384Digest(Sha384Digest t)
|
||||
: base(t)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x1700191F RID: 6431
|
||||
// (get) Token: 0x06009FC5 RID: 40901 RVA: 0x002507FC File Offset: 0x0024E9FC
|
||||
[Token(Token = "0x1700191F")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009FC5")]
|
||||
[Address(RVA = "0x224F5D0", Offset = "0x224DFD0", VA = "0x18224F5D0", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return "SHA-384";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FC6 RID: 40902 RVA: 0x00250810 File Offset: 0x0024EA10
|
||||
[Token(Token = "0x6009FC6")]
|
||||
[Address(RVA = "0x199C380", Offset = "0x199AD80", VA = "0x18199C380", Slot = "15")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 48;
|
||||
}
|
||||
|
||||
// Token: 0x06009FC7 RID: 40903 RVA: 0x00250820 File Offset: 0x0024EA20
|
||||
[Token(Token = "0x6009FC7")]
|
||||
[Address(RVA = "0x224F310", Offset = "0x224DD10", VA = "0x18224F310", Slot = "16")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt64_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H5, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H6, output, outOff);
|
||||
return 48;
|
||||
}
|
||||
|
||||
// Token: 0x06009FC8 RID: 40904 RVA: 0x00250884 File Offset: 0x0024EA84
|
||||
[Token(Token = "0x6009FC8")]
|
||||
[Address(RVA = "0x224F3D0", Offset = "0x224DDD0", VA = "0x18224F3D0", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
this.H1 = (ulong)(-3766243637369397544L);
|
||||
this.H2 = (ulong)7105036623409894663L;
|
||||
this.H3 = (ulong)(-7973340178411365097L);
|
||||
this.H4 = (ulong)1526699215303891257L;
|
||||
this.H5 = (ulong)7436329637833083697L;
|
||||
this.H6 = (ulong)(-8163818279084223215L);
|
||||
this.H7 = (ulong)(-2662702644619276377L);
|
||||
this.H8 = (ulong)5167115440072839076L;
|
||||
}
|
||||
|
||||
// Token: 0x06009FC9 RID: 40905 RVA: 0x00250918 File Offset: 0x0024EB18
|
||||
[Token(Token = "0x6009FC9")]
|
||||
[Address(RVA = "0x224F280", Offset = "0x224DC80", VA = "0x18224F280", Slot = "17")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FC9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha384Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha384Digest(var_0_06, newobj:Sha384Digest(Sha384Digest::.ctor, ldloc:Sha384Digest(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: 0x06009FCA RID: 40906 RVA: 0x0025092C File Offset: 0x0024EB2C
|
||||
[Token(Token = "0x6009FCA")]
|
||||
[Address(RVA = "0x224F460", Offset = "0x224DE60", VA = "0x18224F460", Slot = "18")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040068F3 RID: 26867
|
||||
[Token(Token = "0x40068F3")]
|
||||
private const int DigestLength = 48;
|
||||
}
|
||||
}
|
||||
+114
@@ -0,0 +1,114 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001716 RID: 5910
|
||||
[Token(Token = "0x2001716")]
|
||||
[StructLayout(3)]
|
||||
public class Sha3Digest : KeccakDigest
|
||||
{
|
||||
// Token: 0x06009F74 RID: 40820 RVA: 0x0024EDD0 File Offset: 0x0024CFD0
|
||||
[Token(Token = "0x6009F74")]
|
||||
[Address(RVA = "0x224F600", Offset = "0x224E000", VA = "0x18224F600")]
|
||||
private static int CheckBitLength(int bitLength)
|
||||
{
|
||||
if (bitLength <= 256 || bitLength != 384)
|
||||
{
|
||||
}
|
||||
return bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009F75 RID: 40821 RVA: 0x0024EE04 File Offset: 0x0024D004
|
||||
[Token(Token = "0x6009F75")]
|
||||
[Address(RVA = "0x224FA50", Offset = "0x224E450", VA = "0x18224FA50")]
|
||||
public Sha3Digest()
|
||||
: base(256)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009F76 RID: 40822 RVA: 0x0024EE1C File Offset: 0x0024D01C
|
||||
[Token(Token = "0x6009F76")]
|
||||
[Address(RVA = "0x224F950", Offset = "0x224E350", VA = "0x18224F950")]
|
||||
public Sha3Digest(int bitLength)
|
||||
{
|
||||
if (bitLength <= 256 || bitLength != 384)
|
||||
{
|
||||
}
|
||||
base..ctor(bitLength);
|
||||
}
|
||||
|
||||
// Token: 0x06009F77 RID: 40823 RVA: 0x0024EE4C File Offset: 0x0024D04C
|
||||
[Token(Token = "0x6009F77")]
|
||||
[Address(RVA = "0x224F8E0", Offset = "0x224E2E0", VA = "0x18224F8E0")]
|
||||
public Sha3Digest(Sha3Digest source)
|
||||
: base(source)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x1700191A RID: 6426
|
||||
// (get) Token: 0x06009F78 RID: 40824 RVA: 0x0024EE60 File Offset: 0x0024D060
|
||||
[Token(Token = "0x1700191A")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009F78")]
|
||||
[Address(RVA = "0x224FAD0", Offset = "0x224E4D0", VA = "0x18224FAD0", Slot = "13")]
|
||||
get
|
||||
{
|
||||
int fixedOutputLength = this.fixedOutputLength;
|
||||
return "SHA3-" + fixedOutputLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009F79 RID: 40825 RVA: 0x0024EE80 File Offset: 0x0024D080
|
||||
[Token(Token = "0x6009F79")]
|
||||
[Address(RVA = "0x224F890", Offset = "0x224E290", VA = "0x18224F890", Slot = "17")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.AbsorbBits(2, 2);
|
||||
return base.DoFinal(output, outOff);
|
||||
}
|
||||
|
||||
// Token: 0x06009F7A RID: 40826 RVA: 0x0024EEA0 File Offset: 0x0024D0A0
|
||||
[Token(Token = "0x6009F7A")]
|
||||
[Address(RVA = "0x224F750", Offset = "0x224E150", VA = "0x18224F750", Slot = "18")]
|
||||
protected override int DoFinal(byte[] output, int outOff, byte partialByte, int partialBits)
|
||||
{
|
||||
int num = 0;
|
||||
byte[] array = new byte[0];
|
||||
uint num2;
|
||||
array[0] = (byte)num2;
|
||||
int num3 = 0;
|
||||
base.Absorb(array, num3, 1);
|
||||
return base.DoFinal(output, outOff, (byte)num2, num);
|
||||
}
|
||||
|
||||
// Token: 0x06009F7B RID: 40827 RVA: 0x0024EEE4 File Offset: 0x0024D0E4
|
||||
[Token(Token = "0x6009F7B")]
|
||||
[Address(RVA = "0x224F6C0", Offset = "0x224E0C0", VA = "0x18224F6C0", Slot = "21")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009F7B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha3Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha3Digest(var_0_06, newobj:Sha3Digest(Sha3Digest::.ctor, ldloc:Sha3Digest[exp:int32](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
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200171C RID: 5916
|
||||
[Token(Token = "0x200171C")]
|
||||
[StructLayout(3)]
|
||||
public class Sha512Digest : LongDigest
|
||||
{
|
||||
// Token: 0x06009FCB RID: 40907 RVA: 0x00250944 File Offset: 0x0024EB44
|
||||
[Token(Token = "0x6009FCB")]
|
||||
[Address(RVA = "0x224FE40", Offset = "0x224E840", VA = "0x18224FE40")]
|
||||
public Sha512Digest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009FCC RID: 40908 RVA: 0x00250958 File Offset: 0x0024EB58
|
||||
[Token(Token = "0x6009FCC")]
|
||||
[Address(RVA = "0x224FDD0", Offset = "0x224E7D0", VA = "0x18224FDD0")]
|
||||
public Sha512Digest(Sha512Digest t)
|
||||
: base(t)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001920 RID: 6432
|
||||
// (get) Token: 0x06009FCD RID: 40909 RVA: 0x0025096C File Offset: 0x0024EB6C
|
||||
[Token(Token = "0x17001920")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009FCD")]
|
||||
[Address(RVA = "0x224FEA0", Offset = "0x224E8A0", VA = "0x18224FEA0", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return "SHA-512";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FCE RID: 40910 RVA: 0x00250980 File Offset: 0x0024EB80
|
||||
[Token(Token = "0x6009FCE")]
|
||||
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "15")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x06009FCF RID: 40911 RVA: 0x00250990 File Offset: 0x0024EB90
|
||||
[Token(Token = "0x6009FCF")]
|
||||
[Address(RVA = "0x224FBC0", Offset = "0x224E5C0", VA = "0x18224FBC0", Slot = "16")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
Pack.UInt64_To_BE(this.H1, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H2, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H3, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H4, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H5, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H6, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H7, output, outOff);
|
||||
Pack.UInt64_To_BE(this.H8, output, outOff);
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x06009FD0 RID: 40912 RVA: 0x00250A10 File Offset: 0x0024EC10
|
||||
[Token(Token = "0x6009FD0")]
|
||||
[Address(RVA = "0x224FD40", Offset = "0x224E740", VA = "0x18224FD40", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
this.H1 = (ulong)7640891576956012808L;
|
||||
this.H2 = (ulong)(-4942790177534073029L);
|
||||
this.H3 = (ulong)4354685564936845355L;
|
||||
this.H4 = (ulong)(-6534734903238641935L);
|
||||
this.H5 = (ulong)5840696475078001361L;
|
||||
this.H6 = (ulong)(-7276294671716946913L);
|
||||
this.H7 = (ulong)2270897969802886507L;
|
||||
this.H8 = (ulong)6620516959819538809L;
|
||||
}
|
||||
|
||||
// Token: 0x06009FD1 RID: 40913 RVA: 0x00250AA4 File Offset: 0x0024ECA4
|
||||
[Token(Token = "0x6009FD1")]
|
||||
[Address(RVA = "0x224FB30", Offset = "0x224E530", VA = "0x18224FB30", Slot = "17")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FD1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha512Digest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Sha512Digest(var_0_06, newobj:Sha512Digest(Sha512Digest::.ctor, ldloc:Sha512Digest(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: 0x06009FD2 RID: 40914 RVA: 0x00250AB8 File Offset: 0x0024ECB8
|
||||
[Token(Token = "0x6009FD2")]
|
||||
[Address(RVA = "0x224FCA0", Offset = "0x224E6A0", VA = "0x18224FCA0", Slot = "18")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x040068F4 RID: 26868
|
||||
[Token(Token = "0x40068F4")]
|
||||
private const int DigestLength = 64;
|
||||
}
|
||||
}
|
||||
+361
@@ -0,0 +1,361 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200171D RID: 5917
|
||||
[Token(Token = "0x200171D")]
|
||||
[StructLayout(3)]
|
||||
public class Sha512tDigest : LongDigest
|
||||
{
|
||||
// Token: 0x06009FD3 RID: 40915 RVA: 0x00250AD0 File Offset: 0x0024ECD0
|
||||
[Token(Token = "0x6009FD3")]
|
||||
[Address(RVA = "0x22505F0", Offset = "0x224EFF0", VA = "0x1822505F0")]
|
||||
public Sha512tDigest(int bitLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FD3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Sha512tDigest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_42:
|
||||
stloc:ArgumentException(var_3_51, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be 384 use SHA384 instead"), ldstr:string("bitLength")))
|
||||
}
|
||||
|
||||
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: 0x06009FD4 RID: 40916 RVA: 0x00250B30 File Offset: 0x0024ED30
|
||||
[Token(Token = "0x6009FD4")]
|
||||
[Address(RVA = "0x2250560", Offset = "0x224EF60", VA = "0x182250560")]
|
||||
public Sha512tDigest(Sha512tDigest t)
|
||||
: base(t)
|
||||
{
|
||||
int num = t.digestLength;
|
||||
this.digestLength = num;
|
||||
IMemoable memoable = ((IMemoable)this).Copy();
|
||||
}
|
||||
|
||||
// Token: 0x17001921 RID: 6433
|
||||
// (get) Token: 0x06009FD5 RID: 40917 RVA: 0x00250B60 File Offset: 0x0024ED60
|
||||
[Token(Token = "0x17001921")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009FD5")]
|
||||
[Address(RVA = "0x2250770", Offset = "0x224F170", VA = "0x182250770", Slot = "14")]
|
||||
get
|
||||
{
|
||||
int num = this.digestLength;
|
||||
return "SHA-512/" + num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FD6 RID: 40918 RVA: 0x00250B80 File Offset: 0x0024ED80
|
||||
[Token(Token = "0x6009FD6")]
|
||||
[Address(RVA = "0x54D7F0", Offset = "0x54C1F0", VA = "0x18054D7F0", Slot = "15")]
|
||||
public override int GetDigestSize()
|
||||
{
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009FD7 RID: 40919 RVA: 0x00250B94 File Offset: 0x0024ED94
|
||||
[Token(Token = "0x6009FD7")]
|
||||
[Address(RVA = "0x224FF90", Offset = "0x224E990", VA = "0x18224FF90", Slot = "16")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
base.Finish();
|
||||
int num = this.digestLength;
|
||||
if (num > 0)
|
||||
{
|
||||
ulong h = this.H1;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h, output, outOff, num);
|
||||
if (num > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h, output, outOff, num);
|
||||
}
|
||||
}
|
||||
int num2 = this.digestLength;
|
||||
ulong h2;
|
||||
if (num2 > 0)
|
||||
{
|
||||
h2 = this.H2;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num2 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num3 = this.digestLength;
|
||||
if (num3 > 0)
|
||||
{
|
||||
num2 = num3;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num3 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num4 = this.digestLength;
|
||||
if (num4 > 0)
|
||||
{
|
||||
num2 = num4;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num4 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num5 = this.digestLength;
|
||||
if (num5 > 0)
|
||||
{
|
||||
num2 = num5;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num5 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num6 = this.digestLength;
|
||||
if (num6 > 0)
|
||||
{
|
||||
num2 = num6;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num6 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num7 = this.digestLength;
|
||||
if (num7 > 0)
|
||||
{
|
||||
num2 = num7;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num7 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
int num8 = this.digestLength;
|
||||
if (num8 > 0)
|
||||
{
|
||||
num2 = num8;
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
if (num8 > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)h2, output, outOff, num2);
|
||||
}
|
||||
}
|
||||
return this.digestLength;
|
||||
}
|
||||
|
||||
// Token: 0x06009FD8 RID: 40920 RVA: 0x00250CF8 File Offset: 0x0024EEF8
|
||||
[Token(Token = "0x6009FD8")]
|
||||
[Address(RVA = "0x2250240", Offset = "0x224EC40", VA = "0x182250240", Slot = "13")]
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
ulong h1t = this.H1t;
|
||||
this.H1 = h1t;
|
||||
ulong h2t = this.H2t;
|
||||
this.H2 = h2t;
|
||||
ulong h3t = this.H3t;
|
||||
this.H3 = h3t;
|
||||
ulong h4t = this.H4t;
|
||||
this.H4 = h4t;
|
||||
ulong h5t = this.H5t;
|
||||
this.H5 = h5t;
|
||||
ulong h6t = this.H6t;
|
||||
this.H6 = h6t;
|
||||
ulong h7t = this.H7t;
|
||||
this.H7 = h7t;
|
||||
ulong h8t = this.H8t;
|
||||
this.H8 = h8t;
|
||||
}
|
||||
|
||||
// Token: 0x06009FD9 RID: 40921 RVA: 0x00250D84 File Offset: 0x0024EF84
|
||||
[Token(Token = "0x6009FD9")]
|
||||
[Address(RVA = "0x22507D0", Offset = "0x224F1D0", VA = "0x1822507D0")]
|
||||
private void tIvGenerate(int bitLength)
|
||||
{
|
||||
ulong num;
|
||||
this.H1 = num;
|
||||
ulong num2;
|
||||
this.H2 = num2;
|
||||
ulong num3;
|
||||
this.H3 = num3;
|
||||
ulong num4;
|
||||
this.H4 = num4;
|
||||
ulong num5;
|
||||
this.H5 = num5;
|
||||
ulong num6;
|
||||
this.H6 = num6;
|
||||
ulong num7;
|
||||
this.H7 = num7;
|
||||
ulong num8;
|
||||
this.H8 = num8;
|
||||
ulong num9;
|
||||
base.Update((byte)num9);
|
||||
ulong num10;
|
||||
base.Update((byte)num10);
|
||||
ulong num11;
|
||||
base.Update((byte)num11);
|
||||
ulong num12;
|
||||
base.Update((byte)num12);
|
||||
ulong num13;
|
||||
base.Update((byte)num13);
|
||||
ulong num14;
|
||||
base.Update((byte)num14);
|
||||
ulong num15;
|
||||
base.Update((byte)num15);
|
||||
ulong num16;
|
||||
base.Update((byte)num16);
|
||||
if (bitLength > 10)
|
||||
{
|
||||
ulong num17;
|
||||
num17 += num17;
|
||||
long num18 = (long)(num17 * (ulong)((uint)100));
|
||||
ulong num19;
|
||||
num19 += num19;
|
||||
num19 += num19;
|
||||
num19 += num19;
|
||||
}
|
||||
base.Update((byte)num16);
|
||||
base.Finish();
|
||||
ulong h = this.H1;
|
||||
this.H1t = h;
|
||||
ulong h2 = this.H2;
|
||||
this.H2t = h2;
|
||||
ulong h3 = this.H3;
|
||||
this.H3t = h3;
|
||||
ulong h4 = this.H4;
|
||||
this.H4t = h4;
|
||||
ulong h5 = this.H5;
|
||||
this.H5t = h5;
|
||||
ulong h6 = this.H6;
|
||||
this.H6t = h6;
|
||||
ulong h7 = this.H7;
|
||||
this.H7t = h7;
|
||||
ulong h8 = this.H8;
|
||||
this.H8t = h8;
|
||||
}
|
||||
|
||||
// Token: 0x06009FDA RID: 40922 RVA: 0x00250EC4 File Offset: 0x0024F0C4
|
||||
[Token(Token = "0x6009FDA")]
|
||||
[Address(RVA = "0x22504F0", Offset = "0x224EEF0", VA = "0x1822504F0")]
|
||||
private static void UInt64_To_BE(ulong n, byte[] bs, int off, int max)
|
||||
{
|
||||
if (max > 0)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)n, bs, off, max);
|
||||
if (max > 4)
|
||||
{
|
||||
Sha512tDigest.UInt32_To_BE((uint)n, bs, off, max);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FDB RID: 40923 RVA: 0x00250EEC File Offset: 0x0024F0EC
|
||||
[Token(Token = "0x6009FDB")]
|
||||
[Address(RVA = "0x2250410", Offset = "0x224EE10", VA = "0x182250410")]
|
||||
private static void UInt32_To_BE(uint n, byte[] bs, int off, int max)
|
||||
{
|
||||
int num = Math.Min(4, max);
|
||||
uint num2;
|
||||
num2 -= (uint)num;
|
||||
num2 += (uint)8;
|
||||
}
|
||||
|
||||
// Token: 0x06009FDC RID: 40924 RVA: 0x00250F14 File Offset: 0x0024F114
|
||||
[Token(Token = "0x6009FDC")]
|
||||
[Address(RVA = "0x224FED0", Offset = "0x224E8D0", VA = "0x18224FED0", Slot = "17")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
Sha512tDigest sha512tDigest = new Sha512tDigest(this);
|
||||
int num = this.digestLength;
|
||||
sha512tDigest.digestLength = num;
|
||||
IMemoable memoable = sha512tDigest.Copy();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009FDD RID: 40925 RVA: 0x00250F44 File Offset: 0x0024F144
|
||||
[Token(Token = "0x6009FDD")]
|
||||
[Address(RVA = "0x22502B0", Offset = "0x224ECB0", VA = "0x1822502B0", Slot = "18")]
|
||||
public override void Reset(IMemoable other)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (other == 0 || this.digestLength != num);
|
||||
this.H1t = (ulong)num;
|
||||
this.H2t = (ulong)num;
|
||||
this.H3t = (ulong)num;
|
||||
this.H4t = (ulong)num;
|
||||
this.H5t = (ulong)num;
|
||||
this.H6t = (ulong)num;
|
||||
this.H7t = (ulong)num;
|
||||
this.H8t = (ulong)num;
|
||||
}
|
||||
|
||||
// Token: 0x040068F5 RID: 26869
|
||||
[Token(Token = "0x40068F5")]
|
||||
private const ulong A5 = 11936128518282651045UL;
|
||||
|
||||
// Token: 0x040068F6 RID: 26870
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x40068F6")]
|
||||
private readonly int digestLength;
|
||||
|
||||
// Token: 0x040068F7 RID: 26871
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x40068F7")]
|
||||
private ulong H1t;
|
||||
|
||||
// Token: 0x040068F8 RID: 26872
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x40068F8")]
|
||||
private ulong H2t;
|
||||
|
||||
// Token: 0x040068F9 RID: 26873
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
|
||||
[Token(Token = "0x40068F9")]
|
||||
private ulong H3t;
|
||||
|
||||
// Token: 0x040068FA RID: 26874
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
|
||||
[Token(Token = "0x40068FA")]
|
||||
private ulong H4t;
|
||||
|
||||
// Token: 0x040068FB RID: 26875
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
|
||||
[Token(Token = "0x40068FB")]
|
||||
private ulong H5t;
|
||||
|
||||
// Token: 0x040068FC RID: 26876
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
|
||||
[Token(Token = "0x40068FC")]
|
||||
private ulong H6t;
|
||||
|
||||
// Token: 0x040068FD RID: 26877
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
|
||||
[Token(Token = "0x40068FD")]
|
||||
private ulong H7t;
|
||||
|
||||
// Token: 0x040068FE RID: 26878
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")]
|
||||
[Token(Token = "0x40068FE")]
|
||||
private ulong H8t;
|
||||
}
|
||||
}
|
||||
+180
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200171E RID: 5918
|
||||
[Token(Token = "0x200171E")]
|
||||
[StructLayout(3)]
|
||||
public class ShakeDigest : KeccakDigest, IXof, IDigest
|
||||
{
|
||||
// Token: 0x06009FDE RID: 40926 RVA: 0x00250FA0 File Offset: 0x0024F1A0
|
||||
[Token(Token = "0x6009FDE")]
|
||||
[Address(RVA = "0x22509A0", Offset = "0x224F3A0", VA = "0x1822509A0")]
|
||||
private static int CheckBitLength(int bitLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FDE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.ShakeDigest::CheckBitLength(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentException(var_1_1D, newobj:ArgumentException(ArgumentException::.ctor, ldloc:string(var_0), ldstr:string("bitLength")))
|
||||
}
|
||||
|
||||
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: 0x06009FDF RID: 40927 RVA: 0x00250FCC File Offset: 0x0024F1CC
|
||||
[Token(Token = "0x6009FDF")]
|
||||
[Address(RVA = "0x2250F50", Offset = "0x224F950", VA = "0x182250F50")]
|
||||
public ShakeDigest()
|
||||
: base(128)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009FE0 RID: 40928 RVA: 0x00250FE4 File Offset: 0x0024F1E4
|
||||
[Token(Token = "0x6009FE0")]
|
||||
[Address(RVA = "0x2250DF0", Offset = "0x224F7F0", VA = "0x182250DF0")]
|
||||
public ShakeDigest(int bitLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FE0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.ShakeDigest::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_18:
|
||||
stloc:ArgumentException(var_1_23, newobj:ArgumentException(ArgumentException::.ctor, ldloc:string(var_0), ldstr:string("bitLength")))
|
||||
}
|
||||
|
||||
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: 0x06009FE1 RID: 40929 RVA: 0x00251014 File Offset: 0x0024F214
|
||||
[Token(Token = "0x6009FE1")]
|
||||
[Address(RVA = "0x2250EE0", Offset = "0x224F8E0", VA = "0x182250EE0")]
|
||||
public ShakeDigest(ShakeDigest source)
|
||||
: base(source)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001922 RID: 6434
|
||||
// (get) Token: 0x06009FE2 RID: 40930 RVA: 0x00251028 File Offset: 0x0024F228
|
||||
[Token(Token = "0x17001922")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009FE2")]
|
||||
[Address(RVA = "0x2250FD0", Offset = "0x224F9D0", VA = "0x182250FD0", Slot = "13")]
|
||||
get
|
||||
{
|
||||
int fixedOutputLength = this.fixedOutputLength;
|
||||
return "SHAKE" + fixedOutputLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FE3 RID: 40931 RVA: 0x00251048 File Offset: 0x0024F248
|
||||
[Token(Token = "0x6009FE3")]
|
||||
[Address(RVA = "0x2250AE0", Offset = "0x224F4E0", VA = "0x182250AE0", Slot = "17")]
|
||||
public override int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
string algorithmName = this.AlgorithmName;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06009FE4 RID: 40932 RVA: 0x00251060 File Offset: 0x0024F260
|
||||
[Token(Token = "0x6009FE4")]
|
||||
[Address(RVA = "0x2250CB0", Offset = "0x224F6B0", VA = "0x182250CB0", Slot = "25")]
|
||||
public virtual int DoFinal(byte[] output, int outOff, int outLen)
|
||||
{
|
||||
int num = this.DoFinal(output, outOff, outLen);
|
||||
return outLen;
|
||||
}
|
||||
|
||||
// Token: 0x06009FE5 RID: 40933 RVA: 0x00251078 File Offset: 0x0024F278
|
||||
[Token(Token = "0x6009FE5")]
|
||||
[Address(RVA = "0x2250D80", Offset = "0x224F780", VA = "0x182250D80", Slot = "26")]
|
||||
public virtual int DoOutput(byte[] output, int outOff, int outLen)
|
||||
{
|
||||
base.AbsorbBits(15, 4);
|
||||
base.Squeeze(output, outOff, (long)outLen);
|
||||
return outLen;
|
||||
}
|
||||
|
||||
// Token: 0x06009FE6 RID: 40934 RVA: 0x00251098 File Offset: 0x0024F298
|
||||
[Token(Token = "0x6009FE6")]
|
||||
[Address(RVA = "0x2250D00", Offset = "0x224F700", VA = "0x182250D00", Slot = "18")]
|
||||
protected override int DoFinal(byte[] output, int outOff, byte partialByte, int partialBits)
|
||||
{
|
||||
string algorithmName = this.AlgorithmName;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06009FE7 RID: 40935 RVA: 0x002510B0 File Offset: 0x0024F2B0
|
||||
[Token(Token = "0x6009FE7")]
|
||||
[Address(RVA = "0x2250B40", Offset = "0x224F540", VA = "0x182250B40", Slot = "27")]
|
||||
protected virtual int DoFinal(byte[] output, int outOff, int outLen, byte partialByte, int partialBits)
|
||||
{
|
||||
uint num;
|
||||
byte[] array = new byte[] { (byte)num };
|
||||
int num2 = 0;
|
||||
uint num3;
|
||||
base.Absorb(array, num2, (int)num3);
|
||||
base.Squeeze(output, outOff, (long)outLen);
|
||||
return outLen;
|
||||
}
|
||||
|
||||
// Token: 0x06009FE8 RID: 40936 RVA: 0x002510F4 File Offset: 0x0024F2F4
|
||||
[Token(Token = "0x6009FE8")]
|
||||
[Address(RVA = "0x2250A50", Offset = "0x224F450", VA = "0x182250A50", Slot = "21")]
|
||||
public override IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FE8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.ShakeDigest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:ShakeDigest(var_0_06, newobj:ShakeDigest(ShakeDigest::.ctor, ldloc:ShakeDigest[exp:int32](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
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x0200171F RID: 5919
|
||||
[Token(Token = "0x200171F")]
|
||||
[StructLayout(3)]
|
||||
public class ShortenedDigest : IDigest
|
||||
{
|
||||
// Token: 0x06009FE9 RID: 40937 RVA: 0x00251108 File Offset: 0x0024F308
|
||||
[Token(Token = "0x6009FE9")]
|
||||
[Address(RVA = "0x2251280", Offset = "0x224FC80", VA = "0x182251280")]
|
||||
public ShortenedDigest(IDigest baseDigest, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009FE9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.ShortenedDigest::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_19:
|
||||
stloc:ArgumentNullException(var_0_23, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("baseDigest")))
|
||||
}
|
||||
|
||||
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: 0x17001923 RID: 6435
|
||||
// (get) Token: 0x06009FEA RID: 40938 RVA: 0x00251138 File Offset: 0x0024F338
|
||||
[Token(Token = "0x17001923")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009FEA")]
|
||||
[Address(RVA = "0x2251360", Offset = "0x224FD60", VA = "0x182251360", Slot = "4")]
|
||||
get
|
||||
{
|
||||
object[] array = new object[4];
|
||||
IDigest digest = this.baseDigest;
|
||||
if (array != 0)
|
||||
{
|
||||
}
|
||||
array[0] = array;
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
int num = this.length;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
array[2] = num;
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FEB RID: 40939 RVA: 0x002511A8 File Offset: 0x0024F3A8
|
||||
[Token(Token = "0x6009FEB")]
|
||||
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return this.length;
|
||||
}
|
||||
|
||||
// Token: 0x06009FEC RID: 40940 RVA: 0x002511BC File Offset: 0x0024F3BC
|
||||
[Token(Token = "0x6009FEC")]
|
||||
[Address(RVA = "0x2251220", Offset = "0x224FC20", VA = "0x182251220", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009FED RID: 40941 RVA: 0x002511D8 File Offset: 0x0024F3D8
|
||||
[Token(Token = "0x6009FED")]
|
||||
[Address(RVA = "0x2251030", Offset = "0x224FA30", VA = "0x182251030", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
}
|
||||
|
||||
// Token: 0x06009FEE RID: 40942 RVA: 0x002511F4 File Offset: 0x0024F3F4
|
||||
[Token(Token = "0x6009FEE")]
|
||||
[Address(RVA = "0x22510B0", Offset = "0x224FAB0", VA = "0x1822510B0", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
byte[] array = new byte[0];
|
||||
IDigest digest2 = this.baseDigest;
|
||||
int num = this.length;
|
||||
int num2 = 0;
|
||||
Array.Copy(array, num2, output, outOff, num);
|
||||
return this.length;
|
||||
}
|
||||
|
||||
// Token: 0x06009FEF RID: 40943 RVA: 0x0025123C File Offset: 0x0024F43C
|
||||
[Token(Token = "0x6009FEF")]
|
||||
[Address(RVA = "0x22511D0", Offset = "0x224FBD0", VA = "0x1822511D0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009FF0 RID: 40944 RVA: 0x00251258 File Offset: 0x0024F458
|
||||
[Token(Token = "0x6009FF0")]
|
||||
[Address(RVA = "0x2251180", Offset = "0x224FB80", VA = "0x182251180", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
IDigest digest = this.baseDigest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x040068FF RID: 26879
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40068FF")]
|
||||
private IDigest baseDigest;
|
||||
|
||||
// Token: 0x04006900 RID: 26880
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006900")]
|
||||
private int length;
|
||||
}
|
||||
}
|
||||
+216
@@ -0,0 +1,216 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001720 RID: 5920
|
||||
[Token(Token = "0x2001720")]
|
||||
[StructLayout(3)]
|
||||
public class SkeinDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x06009FF1 RID: 40945 RVA: 0x00251274 File Offset: 0x0024F474
|
||||
[Token(Token = "0x6009FF1")]
|
||||
[Address(RVA = "0x2251A60", Offset = "0x2250460", VA = "0x182251A60")]
|
||||
public SkeinDigest(int stateSizeBits, int digestSizeBits)
|
||||
{
|
||||
SkeinEngine skeinEngine = new SkeinEngine(stateSizeBits, digestSizeBits);
|
||||
this.engine = skeinEngine;
|
||||
int num = 0;
|
||||
skeinEngine.chain = num;
|
||||
skeinEngine.key = num;
|
||||
skeinEngine.preMessageParameters = num;
|
||||
skeinEngine.postMessageParameters = num;
|
||||
skeinEngine.CreateInitialState();
|
||||
skeinEngine.ubi.Reset(48);
|
||||
}
|
||||
|
||||
// Token: 0x06009FF2 RID: 40946 RVA: 0x002512D0 File Offset: 0x0024F4D0
|
||||
[Token(Token = "0x6009FF2")]
|
||||
[Address(RVA = "0x22519A0", Offset = "0x22503A0", VA = "0x1822519A0")]
|
||||
public SkeinDigest(SkeinDigest digest)
|
||||
{
|
||||
SkeinEngine skeinEngine = digest.engine;
|
||||
bool isPartialBlockOkay = skeinEngine.threefish.IsPartialBlockOkay;
|
||||
SkeinEngine skeinEngine2;
|
||||
skeinEngine2.CopyIn(skeinEngine);
|
||||
this.engine = skeinEngine2;
|
||||
}
|
||||
|
||||
// Token: 0x06009FF3 RID: 40947 RVA: 0x0025130C File Offset: 0x0024F50C
|
||||
[Token(Token = "0x6009FF3")]
|
||||
[Address(RVA = "0x22517A0", Offset = "0x22501A0", VA = "0x1822517A0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
int num;
|
||||
SkeinEngine skeinEngine;
|
||||
for (;;)
|
||||
{
|
||||
num = 0;
|
||||
if (other != 0)
|
||||
{
|
||||
skeinEngine = this.engine;
|
||||
if (other == 0 || other != 0)
|
||||
{
|
||||
ThreefishEngine threefish = skeinEngine.threefish;
|
||||
bool isPartialBlockOkay = threefish.IsPartialBlockOkay;
|
||||
bool isPartialBlockOkay2 = threefish.IsPartialBlockOkay;
|
||||
if (isPartialBlockOkay == isPartialBlockOkay2 && skeinEngine.outputSizeBytes == (isPartialBlockOkay2 ? 1 : 0))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
skeinEngine.CopyIn(num);
|
||||
}
|
||||
|
||||
// Token: 0x06009FF4 RID: 40948 RVA: 0x0025136C File Offset: 0x0024F56C
|
||||
[Token(Token = "0x6009FF4")]
|
||||
[Address(RVA = "0x2251550", Offset = "0x224FF50", VA = "0x182251550", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
bool isPartialBlockOkay = skeinEngine.threefish.IsPartialBlockOkay;
|
||||
SkeinEngine skeinEngine2;
|
||||
skeinEngine2.CopyIn(skeinEngine);
|
||||
SkeinDigest skeinDigest;
|
||||
skeinDigest.engine = skeinEngine2;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001924 RID: 6436
|
||||
// (get) Token: 0x06009FF5 RID: 40949 RVA: 0x002513A0 File Offset: 0x0024F5A0
|
||||
[Token(Token = "0x17001924")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009FF5")]
|
||||
[Address(RVA = "0x2251B30", Offset = "0x2250530", VA = "0x182251B30", Slot = "4")]
|
||||
get
|
||||
{
|
||||
object[] array = new object[4];
|
||||
if ("Skein-" != 0)
|
||||
{
|
||||
}
|
||||
array[0] = "Skein-";
|
||||
bool isPartialBlockOkay = this.engine.threefish.IsPartialBlockOkay;
|
||||
if (isPartialBlockOkay)
|
||||
{
|
||||
}
|
||||
array[1] = isPartialBlockOkay;
|
||||
if ("-" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "-";
|
||||
int outputSizeBytes = this.engine.outputSizeBytes;
|
||||
if (outputSizeBytes != 0)
|
||||
{
|
||||
}
|
||||
array[3] = outputSizeBytes;
|
||||
return string.Concat(array);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FF6 RID: 40950 RVA: 0x00251420 File Offset: 0x0024F620
|
||||
[Token(Token = "0x6009FF6")]
|
||||
[Address(RVA = "0x5FE710", Offset = "0x5FD110", VA = "0x1805FE710", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return this.engine.outputSizeBytes;
|
||||
}
|
||||
|
||||
// Token: 0x06009FF7 RID: 40951 RVA: 0x00251440 File Offset: 0x0024F640
|
||||
[Token(Token = "0x6009FF7")]
|
||||
[Address(RVA = "0x2251630", Offset = "0x2250030", VA = "0x182251630", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
string algorithmName = ((IBlockCipher)this.engine.threefish).AlgorithmName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009FF8 RID: 40952 RVA: 0x00251464 File Offset: 0x0024F664
|
||||
[Token(Token = "0x6009FF8")]
|
||||
[Address(RVA = "0x2251670", Offset = "0x2250070", VA = "0x182251670")]
|
||||
public void Init(SkeinParameters parameters)
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
int num = 0;
|
||||
skeinEngine.chain = num;
|
||||
skeinEngine.key = num;
|
||||
skeinEngine.preMessageParameters = num;
|
||||
skeinEngine.postMessageParameters = num;
|
||||
if (parameters != 0)
|
||||
{
|
||||
byte[] key = parameters.GetKey();
|
||||
IDictionary parameters2 = parameters.parameters;
|
||||
skeinEngine.InitParams(parameters2);
|
||||
}
|
||||
skeinEngine.CreateInitialState();
|
||||
skeinEngine.ubi.Reset(48);
|
||||
}
|
||||
|
||||
// Token: 0x06009FF9 RID: 40953 RVA: 0x002514C8 File Offset: 0x0024F6C8
|
||||
[Token(Token = "0x6009FF9")]
|
||||
[Address(RVA = "0x2251740", Offset = "0x2250140", VA = "0x182251740", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
ulong[] chain = skeinEngine.chain;
|
||||
int length = chain.Length;
|
||||
int num = 0;
|
||||
ulong[] initialState = skeinEngine.initialState;
|
||||
int num2 = 0;
|
||||
Array.Copy(initialState, num2, chain, num, length);
|
||||
skeinEngine.ubi.Reset(48);
|
||||
}
|
||||
|
||||
// Token: 0x06009FFA RID: 40954 RVA: 0x00251518 File Offset: 0x0024F718
|
||||
[Token(Token = "0x6009FFA")]
|
||||
[Address(RVA = "0x2251940", Offset = "0x2250340", VA = "0x182251940", Slot = "7")]
|
||||
public void Update(byte inByte)
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
skeinEngine.singleByte[0] = inByte;
|
||||
byte[] singleByte = skeinEngine.singleByte;
|
||||
int num = 0;
|
||||
skeinEngine.Update(singleByte, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x06009FFB RID: 40955 RVA: 0x00251554 File Offset: 0x0024F754
|
||||
[Token(Token = "0x6009FFB")]
|
||||
[Address(RVA = "0x20F8EE0", Offset = "0x20F78E0", VA = "0x1820F8EE0", Slot = "8")]
|
||||
public void BlockUpdate(byte[] inBytes, int inOff, int len)
|
||||
{
|
||||
this.engine.Update(inBytes, inOff, len);
|
||||
}
|
||||
|
||||
// Token: 0x06009FFC RID: 40956 RVA: 0x00251578 File Offset: 0x0024F778
|
||||
[Token(Token = "0x6009FFC")]
|
||||
[Address(RVA = "0x20F8F10", Offset = "0x20F7910", VA = "0x1820F8F10", Slot = "9")]
|
||||
public int DoFinal(byte[] outBytes, int outOff)
|
||||
{
|
||||
return this.engine.DoFinal(outBytes, outOff);
|
||||
}
|
||||
|
||||
// Token: 0x04006901 RID: 26881
|
||||
[Token(Token = "0x4006901")]
|
||||
public const int SKEIN_256 = 256;
|
||||
|
||||
// Token: 0x04006902 RID: 26882
|
||||
[Token(Token = "0x4006902")]
|
||||
public const int SKEIN_512 = 512;
|
||||
|
||||
// Token: 0x04006903 RID: 26883
|
||||
[Token(Token = "0x4006903")]
|
||||
public const int SKEIN_1024 = 1024;
|
||||
|
||||
// Token: 0x04006904 RID: 26884
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006904")]
|
||||
private readonly SkeinEngine engine;
|
||||
}
|
||||
}
|
||||
+1069
@@ -0,0 +1,1069 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001721 RID: 5921
|
||||
[Token(Token = "0x2001721")]
|
||||
[StructLayout(3)]
|
||||
public class SkeinEngine : IMemoable
|
||||
{
|
||||
// Token: 0x06009FFD RID: 40957 RVA: 0x00251598 File Offset: 0x0024F798
|
||||
[Token(Token = "0x6009FFD")]
|
||||
[Address(RVA = "0x2253200", Offset = "0x2251C00", VA = "0x182253200")]
|
||||
static SkeinEngine()
|
||||
{
|
||||
ulong[] array = new ulong[4];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.FCDDAA37B8499E00EB7B606D8540AA64DE5AE4D4).FieldHandle);
|
||||
SkeinEngine.InitialState(256, 128, array);
|
||||
RuntimeHelpers.InitializeArray(new ulong[4], fieldof(<PrivateImplementationDetails>.3C3704DB6466D48DD40FE189070F1896D1D45C8B).FieldHandle);
|
||||
RuntimeHelpers.InitializeArray(new ulong[4], fieldof(<PrivateImplementationDetails>.FD9088D5287E3E3A6699200CB6E5DE3E9FDEDD9F).FieldHandle);
|
||||
ulong[] array2 = new ulong[4];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.0B1E7265E67D2458D8EB536A4B36380A5BF6E731).FieldHandle);
|
||||
SkeinEngine.InitialState(256, 256, array2);
|
||||
ulong[] array3 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.DA7CFA4F9698F5D02C5D90A5858F65EE43B4D564).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 128, array3);
|
||||
ulong[] array4 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.959C1F7BD85779AAF7AA136A20A9C399A5019AEC).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 160, array4);
|
||||
ulong[] array5 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.5318DA9ACB77B4E0953DA6BF6B04DF138D74EA1E).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 224, array5);
|
||||
ulong[] array6 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.F0AEF81E2E3EC0843206EBA7D65BCD1AF83DE7C9).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 384, array6);
|
||||
ulong[] array7 = new ulong[8];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.118FE9754A9699004D478E4BF686021154D96EAD).FieldHandle);
|
||||
SkeinEngine.InitialState(512, 512, array7);
|
||||
}
|
||||
|
||||
// Token: 0x06009FFE RID: 40958 RVA: 0x002516CC File Offset: 0x0024F8CC
|
||||
[Token(Token = "0x6009FFE")]
|
||||
[Address(RVA = "0x2252B00", Offset = "0x2251500", VA = "0x182252B00")]
|
||||
private static void InitialState(int blockSize, int outputSize, ulong[] state)
|
||||
{
|
||||
IDictionary initial_STATES = SkeinEngine.INITIAL_STATES;
|
||||
int num = 0;
|
||||
if (num < state)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009FFF RID: 40959 RVA: 0x002516F4 File Offset: 0x0024F8F4
|
||||
[Token(Token = "0x6009FFF")]
|
||||
[Address(RVA = "0x22531F0", Offset = "0x2251BF0", VA = "0x1822531F0")]
|
||||
private static int VariantIdentifier(int blockSizeBytes, int outputSizeBytes)
|
||||
{
|
||||
return outputSizeBytes;
|
||||
}
|
||||
|
||||
// Token: 0x0600A000 RID: 40960 RVA: 0x00251704 File Offset: 0x0024F904
|
||||
[Token(Token = "0x600A000")]
|
||||
[Address(RVA = "0x2253470", Offset = "0x2251E70", VA = "0x182253470")]
|
||||
public SkeinEngine(int blockSizeBits, int outputSizeBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A000)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::.ctor(System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4A:
|
||||
stloc:ArgumentException(var_6_5A, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("Output size must be a multiple of 8 bits. :"), ldloc:int32[exp:object](outputSizeBits))))
|
||||
}
|
||||
|
||||
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: 0x0600A001 RID: 40961 RVA: 0x0025176C File Offset: 0x0024F96C
|
||||
[Token(Token = "0x600A001")]
|
||||
[Address(RVA = "0x22535B0", Offset = "0x2251FB0", VA = "0x1822535B0")]
|
||||
public SkeinEngine(SkeinEngine engine)
|
||||
{
|
||||
bool isPartialBlockOkay = engine.threefish.IsPartialBlockOkay;
|
||||
this.CopyIn(engine);
|
||||
}
|
||||
|
||||
// Token: 0x0600A002 RID: 40962 RVA: 0x00251794 File Offset: 0x0024F994
|
||||
[Token(Token = "0x600A002")]
|
||||
[Address(RVA = "0x2251E60", Offset = "0x2250860", VA = "0x182251E60")]
|
||||
private void CopyIn(SkeinEngine engine)
|
||||
{
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
SkeinEngine.UBI ubi2 = engine.ubi;
|
||||
ubi.Reset(ubi2);
|
||||
ulong[] array = engine.chain;
|
||||
ulong[] array2 = this.chain;
|
||||
ulong[] array3 = Arrays.Clone(array, array2);
|
||||
ulong[] array4 = this.initialState;
|
||||
this.chain = array3;
|
||||
ulong[] array5 = Arrays.Clone(engine.initialState, array4);
|
||||
byte[] array6 = this.key;
|
||||
this.initialState = array5;
|
||||
byte[] array7 = Arrays.Clone(engine.key, array6);
|
||||
SkeinEngine.Parameter[] array8 = this.preMessageParameters;
|
||||
this.key = array7;
|
||||
SkeinEngine.Parameter[] array9 = SkeinEngine.Clone(engine.preMessageParameters, array8);
|
||||
SkeinEngine.Parameter[] array10 = this.postMessageParameters;
|
||||
this.preMessageParameters = array9;
|
||||
SkeinEngine.Parameter[] array11 = SkeinEngine.Clone(engine.postMessageParameters, array10);
|
||||
this.postMessageParameters = array11;
|
||||
}
|
||||
|
||||
// Token: 0x0600A003 RID: 40963 RVA: 0x00251858 File Offset: 0x0024FA58
|
||||
[Token(Token = "0x600A003")]
|
||||
[Address(RVA = "0x2251DC0", Offset = "0x22507C0", VA = "0x182251DC0")]
|
||||
private static SkeinEngine.Parameter[] Clone(SkeinEngine.Parameter[] data, SkeinEngine.Parameter[] existing)
|
||||
{
|
||||
if (data != 0)
|
||||
{
|
||||
if (existing != 0)
|
||||
{
|
||||
int length = data.Length;
|
||||
if (existing.Length == length)
|
||||
{
|
||||
goto IL_24;
|
||||
}
|
||||
}
|
||||
SkeinEngine.Parameter[] array = new SkeinEngine.Parameter[data.Length];
|
||||
IL_24:
|
||||
int length2 = array.Length;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(data, num2, array, num, length2);
|
||||
return array;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A004 RID: 40964 RVA: 0x002518AC File Offset: 0x0024FAAC
|
||||
[Token(Token = "0x600A004")]
|
||||
[Address(RVA = "0x2251F80", Offset = "0x2250980", VA = "0x182251F80", Slot = "4")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
bool isPartialBlockOkay = this.threefish.IsPartialBlockOkay;
|
||||
SkeinEngine skeinEngine;
|
||||
skeinEngine.CopyIn(this);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A005 RID: 40965 RVA: 0x002518D4 File Offset: 0x0024FAD4
|
||||
[Token(Token = "0x600A005")]
|
||||
[Address(RVA = "0x2252F00", Offset = "0x2251900", VA = "0x182252F00", Slot = "5")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A005)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::Reset(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2D:
|
||||
stloc:MemoableResetException(var_4_37, newobj:MemoableResetException(MemoableResetException::.ctor, ldstr:string("Incompatible parameters in provided SkeinEngine.")))
|
||||
}
|
||||
|
||||
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: 0x17001925 RID: 6437
|
||||
// (get) Token: 0x0600A006 RID: 40966 RVA: 0x0025191C File Offset: 0x0024FB1C
|
||||
[Token(Token = "0x17001925")]
|
||||
public int OutputSize
|
||||
{
|
||||
[Token(Token = "0x600A006")]
|
||||
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")]
|
||||
get
|
||||
{
|
||||
return this.outputSizeBytes;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001926 RID: 6438
|
||||
// (get) Token: 0x0600A007 RID: 40967 RVA: 0x00251930 File Offset: 0x0024FB30
|
||||
[Token(Token = "0x17001926")]
|
||||
public int BlockSize
|
||||
{
|
||||
[Token(Token = "0x600A007")]
|
||||
[Address(RVA = "0x2253620", Offset = "0x2252020", VA = "0x182253620")]
|
||||
get
|
||||
{
|
||||
string algorithmName = ((IBlockCipher)this.threefish).AlgorithmName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A008 RID: 40968 RVA: 0x00251950 File Offset: 0x0024FB50
|
||||
[Token(Token = "0x600A008")]
|
||||
[Address(RVA = "0x2252A30", Offset = "0x2251430", VA = "0x182252A30")]
|
||||
public void Init(SkeinParameters parameters)
|
||||
{
|
||||
int num = 0;
|
||||
this.chain = num;
|
||||
this.key = num;
|
||||
this.preMessageParameters = num;
|
||||
this.postMessageParameters = num;
|
||||
if (parameters != 0)
|
||||
{
|
||||
byte[] array = parameters.GetKey();
|
||||
IDictionary parameters2 = parameters.parameters;
|
||||
this.InitParams(parameters2);
|
||||
}
|
||||
this.CreateInitialState();
|
||||
this.ubi.Reset(48);
|
||||
}
|
||||
|
||||
// Token: 0x0600A009 RID: 40969 RVA: 0x002519B0 File Offset: 0x0024FBB0
|
||||
[Token(Token = "0x600A009")]
|
||||
[Address(RVA = "0x2252630", Offset = "0x2251030", VA = "0x182252630")]
|
||||
private void InitParams(IDictionary parameters)
|
||||
{
|
||||
int num;
|
||||
int num3;
|
||||
do
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
IList list2 = Platform.CreateArrayList();
|
||||
num = 0;
|
||||
if (num < parameters)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
int num2 = 0;
|
||||
if (list2 == 0)
|
||||
{
|
||||
goto IL_7A;
|
||||
}
|
||||
if (num < num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num3 = num;
|
||||
num += num;
|
||||
num++;
|
||||
if (num == 0)
|
||||
{
|
||||
num += 19;
|
||||
num++;
|
||||
num += 19;
|
||||
num += 19;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
if (num3 != 0)
|
||||
{
|
||||
}
|
||||
IL_7A:
|
||||
SkeinEngine.Parameter[] array = new SkeinEngine.Parameter[0];
|
||||
SkeinEngine.Parameter[] array2 = new SkeinEngine.Parameter[array];
|
||||
}
|
||||
|
||||
// Token: 0x0600A00A RID: 40970 RVA: 0x00251A54 File Offset: 0x0024FC54
|
||||
[Token(Token = "0x600A00A")]
|
||||
[Address(RVA = "0x2252020", Offset = "0x2250A20", VA = "0x182252020")]
|
||||
private void CreateInitialState()
|
||||
{
|
||||
bool isPartialBlockOkay;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
ThreefishEngine threefishEngine = this.threefish;
|
||||
IDictionary initial_STATES = SkeinEngine.INITIAL_STATES;
|
||||
isPartialBlockOkay = threefishEngine.IsPartialBlockOkay;
|
||||
int num = this.outputSizeBytes;
|
||||
num2 = 0;
|
||||
if (!isPartialBlockOkay)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (!isPartialBlockOkay);
|
||||
if (this.key == num2 && isPartialBlockOkay)
|
||||
{
|
||||
ulong[] array;
|
||||
this.chain = array;
|
||||
}
|
||||
bool isPartialBlockOkay2 = this.threefish.IsPartialBlockOkay;
|
||||
ulong[] array2 = new ulong[0];
|
||||
byte[] array3 = this.key;
|
||||
this.chain = array2;
|
||||
if (array3 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
this.UbiComplete(num3, array3);
|
||||
}
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
SkeinEngine.Configuration configuration;
|
||||
byte[] bytes = configuration.bytes;
|
||||
ubi.Reset(4);
|
||||
SkeinEngine.UBI ubi2 = this.ubi;
|
||||
ulong[] array4 = this.chain;
|
||||
int num4 = 0;
|
||||
int length = bytes.Length;
|
||||
ubi2.Update(bytes, num4, length, array4);
|
||||
SkeinEngine.UBI ubi3 = this.ubi;
|
||||
ulong[] array5 = this.chain;
|
||||
ubi3.DoFinal(array5);
|
||||
SkeinEngine.Parameter[] array6 = this.preMessageParameters;
|
||||
if (array6 != 0 && num2 < array6.Length)
|
||||
{
|
||||
SkeinEngine.Parameter parameter = array6[num2];
|
||||
SkeinEngine.UBI ubi4 = this.ubi;
|
||||
byte[] value = parameter.value;
|
||||
int type = parameter.type;
|
||||
ubi4.Reset(type);
|
||||
SkeinEngine.UBI ubi5 = this.ubi;
|
||||
ulong[] array7 = this.chain;
|
||||
int num5 = 0;
|
||||
int length2 = value.Length;
|
||||
ubi5.Update(value, num5, length2, array7);
|
||||
SkeinEngine.UBI ubi6 = this.ubi;
|
||||
ulong[] array8 = this.chain;
|
||||
ubi6.DoFinal(array8);
|
||||
SkeinEngine.Parameter[] array9 = this.preMessageParameters;
|
||||
num2++;
|
||||
}
|
||||
ulong[] array10 = Arrays.Clone(this.chain);
|
||||
this.initialState = array10;
|
||||
}
|
||||
|
||||
// Token: 0x0600A00B RID: 40971 RVA: 0x00251BEC File Offset: 0x0024FDEC
|
||||
[Token(Token = "0x600A00B")]
|
||||
[Address(RVA = "0x2252EA0", Offset = "0x22518A0", VA = "0x182252EA0")]
|
||||
public void Reset()
|
||||
{
|
||||
ulong[] array = this.chain;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
ulong[] array2 = this.initialState;
|
||||
int num2 = 0;
|
||||
Array.Copy(array2, num2, array, num, length);
|
||||
this.ubi.Reset(48);
|
||||
}
|
||||
|
||||
// Token: 0x0600A00C RID: 40972 RVA: 0x00251C34 File Offset: 0x0024FE34
|
||||
[Token(Token = "0x600A00C")]
|
||||
[Address(RVA = "0x2253020", Offset = "0x2251A20", VA = "0x182253020")]
|
||||
private void UbiComplete(int type, byte[] value)
|
||||
{
|
||||
this.ubi.Reset(type);
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
ulong[] array = this.chain;
|
||||
int num = 0;
|
||||
int length = value.Length;
|
||||
ubi.Update(value, num, length, array);
|
||||
SkeinEngine.UBI ubi2 = this.ubi;
|
||||
ulong[] array2 = this.chain;
|
||||
ubi2.DoFinal(array2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A00D RID: 40973 RVA: 0x00251C90 File Offset: 0x0024FE90
|
||||
[Token(Token = "0x600A00D")]
|
||||
[Address(RVA = "0x22530D0", Offset = "0x2251AD0", VA = "0x1822530D0")]
|
||||
private void UbiInit(int type)
|
||||
{
|
||||
this.ubi.Reset(type);
|
||||
}
|
||||
|
||||
// Token: 0x0600A00E RID: 40974 RVA: 0x00251CB0 File Offset: 0x0024FEB0
|
||||
[Token(Token = "0x600A00E")]
|
||||
[Address(RVA = "0x22530A0", Offset = "0x2251AA0", VA = "0x1822530A0")]
|
||||
private void UbiFinal()
|
||||
{
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
ulong[] array = this.chain;
|
||||
ubi.DoFinal(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A00F RID: 40975 RVA: 0x00251CD8 File Offset: 0x0024FED8
|
||||
[Token(Token = "0x600A00F")]
|
||||
[Address(RVA = "0x2251D50", Offset = "0x2250750", VA = "0x182251D50")]
|
||||
private void CheckInitialised()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A00F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::CheckInitialised()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0C:
|
||||
stloc:ArgumentException(var_0_16, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Skein engine is not initialised.")))
|
||||
}
|
||||
|
||||
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: 0x0600A010 RID: 40976 RVA: 0x00251CFC File Offset: 0x0024FEFC
|
||||
[Token(Token = "0x600A010")]
|
||||
[Address(RVA = "0x22531A0", Offset = "0x2251BA0", VA = "0x1822531A0")]
|
||||
public void Update(byte inByte)
|
||||
{
|
||||
this.singleByte[0] = inByte;
|
||||
byte[] array = this.singleByte;
|
||||
int num = 0;
|
||||
this.Update(array, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x0600A011 RID: 40977 RVA: 0x00251D30 File Offset: 0x0024FF30
|
||||
[Token(Token = "0x600A011")]
|
||||
[Address(RVA = "0x22530F0", Offset = "0x2251AF0", VA = "0x1822530F0")]
|
||||
public void Update(byte[] inBytes, int inOff, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A011)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::Update(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1D:
|
||||
stloc:ArgumentException(var_3_27, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Skein engine is not initialised.")))
|
||||
}
|
||||
|
||||
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: 0x0600A012 RID: 40978 RVA: 0x00251D64 File Offset: 0x0024FF64
|
||||
[Token(Token = "0x600A012")]
|
||||
[Address(RVA = "0x2252360", Offset = "0x2250D60", VA = "0x182252360")]
|
||||
public int DoFinal(byte[] outBytes, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A012)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.SkeinEngine::DoFinal(System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_157:
|
||||
stloc:ArgumentException(var_26_161, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Skein engine is not initialised.")))
|
||||
}
|
||||
|
||||
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: 0x0600A013 RID: 40979 RVA: 0x00251ED4 File Offset: 0x002500D4
|
||||
[Token(Token = "0x600A013")]
|
||||
[Address(RVA = "0x2252C40", Offset = "0x2251640", VA = "0x182252C40")]
|
||||
private void Output(ulong outputSequence, byte[] outBytes, int outOff, int outputBytes)
|
||||
{
|
||||
byte[] array = new byte[8];
|
||||
int num = 0;
|
||||
ThreefishEngine.WordToBytes(outputSequence, array, num);
|
||||
ulong[] array2 = new ulong[this.chain.Length];
|
||||
this.ubi.Reset(63);
|
||||
SkeinEngine.UBI ubi = this.ubi;
|
||||
int length = array.Length;
|
||||
int num2 = 0;
|
||||
ubi.Update(array, num2, length, array2);
|
||||
this.ubi.DoFinal(array2);
|
||||
int num3 = 0;
|
||||
array2 += array2;
|
||||
if (array2 > 0)
|
||||
{
|
||||
int num4;
|
||||
if (num4 != 8)
|
||||
{
|
||||
ulong num5 = array2[num3];
|
||||
int num6 = 0;
|
||||
ThreefishEngine.WordToBytes(num5, array, num6);
|
||||
}
|
||||
ThreefishEngine.WordToBytes(array2[num3], outBytes, outOff);
|
||||
num3++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006905 RID: 26885
|
||||
[Token(Token = "0x4006905")]
|
||||
public const int SKEIN_256 = 256;
|
||||
|
||||
// Token: 0x04006906 RID: 26886
|
||||
[Token(Token = "0x4006906")]
|
||||
public const int SKEIN_512 = 512;
|
||||
|
||||
// Token: 0x04006907 RID: 26887
|
||||
[Token(Token = "0x4006907")]
|
||||
public const int SKEIN_1024 = 1024;
|
||||
|
||||
// Token: 0x04006908 RID: 26888
|
||||
[Token(Token = "0x4006908")]
|
||||
private const int PARAM_TYPE_KEY = 0;
|
||||
|
||||
// Token: 0x04006909 RID: 26889
|
||||
[Token(Token = "0x4006909")]
|
||||
private const int PARAM_TYPE_CONFIG = 4;
|
||||
|
||||
// Token: 0x0400690A RID: 26890
|
||||
[Token(Token = "0x400690A")]
|
||||
private const int PARAM_TYPE_MESSAGE = 48;
|
||||
|
||||
// Token: 0x0400690B RID: 26891
|
||||
[Token(Token = "0x400690B")]
|
||||
private const int PARAM_TYPE_OUTPUT = 63;
|
||||
|
||||
// Token: 0x0400690C RID: 26892
|
||||
[Token(Token = "0x400690C")]
|
||||
private static readonly IDictionary INITIAL_STATES = Platform.CreateHashtable();
|
||||
|
||||
// Token: 0x0400690D RID: 26893
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400690D")]
|
||||
private readonly ThreefishEngine threefish;
|
||||
|
||||
// Token: 0x0400690E RID: 26894
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400690E")]
|
||||
private readonly int outputSizeBytes;
|
||||
|
||||
// Token: 0x0400690F RID: 26895
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400690F")]
|
||||
private ulong[] chain;
|
||||
|
||||
// Token: 0x04006910 RID: 26896
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006910")]
|
||||
private ulong[] initialState;
|
||||
|
||||
// Token: 0x04006911 RID: 26897
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006911")]
|
||||
private byte[] key;
|
||||
|
||||
// Token: 0x04006912 RID: 26898
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006912")]
|
||||
private SkeinEngine.Parameter[] preMessageParameters;
|
||||
|
||||
// Token: 0x04006913 RID: 26899
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006913")]
|
||||
private SkeinEngine.Parameter[] postMessageParameters;
|
||||
|
||||
// Token: 0x04006914 RID: 26900
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006914")]
|
||||
private readonly SkeinEngine.UBI ubi;
|
||||
|
||||
// Token: 0x04006915 RID: 26901
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006915")]
|
||||
private readonly byte[] singleByte;
|
||||
|
||||
// Token: 0x02001722 RID: 5922
|
||||
[Token(Token = "0x2001722")]
|
||||
private class Configuration
|
||||
{
|
||||
// Token: 0x0600A014 RID: 40980 RVA: 0x00251F80 File Offset: 0x00250180
|
||||
[Token(Token = "0x600A014")]
|
||||
[Address(RVA = "0x2059640", Offset = "0x2058040", VA = "0x182059640")]
|
||||
public Configuration(long outputSizeBits)
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
this.bytes = array;
|
||||
base..ctor();
|
||||
byte[] array2 = this.bytes;
|
||||
byte[] array3 = this.bytes;
|
||||
byte[] array4 = this.bytes;
|
||||
byte[] array5 = this.bytes;
|
||||
byte[] array6 = this.bytes;
|
||||
byte[] array7 = this.bytes;
|
||||
byte[] array8 = this.bytes;
|
||||
ThreefishEngine.WordToBytes((ulong)outputSizeBits, array8, 8);
|
||||
}
|
||||
|
||||
// Token: 0x17001927 RID: 6439
|
||||
// (get) Token: 0x0600A015 RID: 40981 RVA: 0x00251FE8 File Offset: 0x002501E8
|
||||
[Token(Token = "0x17001927")]
|
||||
public byte[] Bytes
|
||||
{
|
||||
[Token(Token = "0x600A015")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
|
||||
get
|
||||
{
|
||||
return this.bytes;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006916 RID: 26902
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006916")]
|
||||
private byte[] bytes;
|
||||
}
|
||||
|
||||
// Token: 0x02001723 RID: 5923
|
||||
[Token(Token = "0x2001723")]
|
||||
public class Parameter
|
||||
{
|
||||
// Token: 0x0600A016 RID: 40982 RVA: 0x00251FFC File Offset: 0x002501FC
|
||||
[Token(Token = "0x600A016")]
|
||||
[Address(RVA = "0x3C1040", Offset = "0x3BFA40", VA = "0x1803C1040")]
|
||||
public Parameter(int type, byte[] value)
|
||||
{
|
||||
this.type = type;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
// Token: 0x17001928 RID: 6440
|
||||
// (get) Token: 0x0600A017 RID: 40983 RVA: 0x00252020 File Offset: 0x00250220
|
||||
[Token(Token = "0x17001928")]
|
||||
public int Type
|
||||
{
|
||||
[Token(Token = "0x600A017")]
|
||||
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")]
|
||||
get
|
||||
{
|
||||
return this.type;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001929 RID: 6441
|
||||
// (get) Token: 0x0600A018 RID: 40984 RVA: 0x00252034 File Offset: 0x00250234
|
||||
[Token(Token = "0x17001929")]
|
||||
public byte[] Value
|
||||
{
|
||||
[Token(Token = "0x600A018")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
|
||||
get
|
||||
{
|
||||
return this.value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006917 RID: 26903
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006917")]
|
||||
private int type;
|
||||
|
||||
// Token: 0x04006918 RID: 26904
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006918")]
|
||||
private byte[] value;
|
||||
}
|
||||
|
||||
// Token: 0x02001724 RID: 5924
|
||||
[Token(Token = "0x2001724")]
|
||||
private class UbiTweak
|
||||
{
|
||||
// Token: 0x0600A019 RID: 40985 RVA: 0x00252048 File Offset: 0x00250248
|
||||
[Token(Token = "0x600A019")]
|
||||
[Address(RVA = "0x2065300", Offset = "0x2063D00", VA = "0x182065300")]
|
||||
public UbiTweak()
|
||||
{
|
||||
ulong[] array = new ulong[2];
|
||||
this.tweak = array;
|
||||
base..ctor();
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x0600A01A RID: 40986 RVA: 0x00252070 File Offset: 0x00250270
|
||||
[Token(Token = "0x600A01A")]
|
||||
[Address(RVA = "0x2064F80", Offset = "0x2063980", VA = "0x182064F80")]
|
||||
public void Reset(SkeinEngine.UbiTweak tweak)
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
ulong[] array2 = Arrays.Clone(tweak.tweak, array);
|
||||
this.tweak = array2;
|
||||
bool flag = tweak.extendedPosition;
|
||||
this.extendedPosition = flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600A01B RID: 40987 RVA: 0x002520AC File Offset: 0x002502AC
|
||||
[Token(Token = "0x600A01B")]
|
||||
[Address(RVA = "0x2064EF0", Offset = "0x20638F0", VA = "0x182064EF0")]
|
||||
public void Reset()
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
int num = 0;
|
||||
array[0] = (ulong)num;
|
||||
this.tweak[1] = (ulong)num;
|
||||
ulong[] array2 = this.tweak;
|
||||
this.extendedPosition = num != 0;
|
||||
}
|
||||
|
||||
// Token: 0x1700192A RID: 6442
|
||||
// (get) Token: 0x0600A01C RID: 40988 RVA: 0x002520EC File Offset: 0x002502EC
|
||||
// (set) Token: 0x0600A01D RID: 40989 RVA: 0x0025210C File Offset: 0x0025030C
|
||||
[Token(Token = "0x1700192A")]
|
||||
public uint Type
|
||||
{
|
||||
[Token(Token = "0x600A01C")]
|
||||
[Address(RVA = "0x20653E0", Offset = "0x2063DE0", VA = "0x1820653E0")]
|
||||
get
|
||||
{
|
||||
ulong num = this.tweak[1];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
[Token(Token = "0x600A01D")]
|
||||
[Address(RVA = "0x2065500", Offset = "0x2063F00", VA = "0x182065500")]
|
||||
set
|
||||
{
|
||||
this.tweak[1] = (ulong)value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700192B RID: 6443
|
||||
// (get) Token: 0x0600A01E RID: 40990 RVA: 0x0025212C File Offset: 0x0025032C
|
||||
// (set) Token: 0x0600A01F RID: 40991 RVA: 0x00252148 File Offset: 0x00250348
|
||||
[Token(Token = "0x1700192B")]
|
||||
public bool First
|
||||
{
|
||||
[Token(Token = "0x600A01E")]
|
||||
[Address(RVA = "0x20653A0", Offset = "0x2063DA0", VA = "0x1820653A0")]
|
||||
get
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
[Token(Token = "0x600A01F")]
|
||||
[Address(RVA = "0x2065490", Offset = "0x2063E90", VA = "0x182065490")]
|
||||
set
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
if (!value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700192C RID: 6444
|
||||
// (get) Token: 0x0600A020 RID: 40992 RVA: 0x00252168 File Offset: 0x00250368
|
||||
// (set) Token: 0x0600A021 RID: 40993 RVA: 0x00252184 File Offset: 0x00250384
|
||||
[Token(Token = "0x1700192C")]
|
||||
public bool Final
|
||||
{
|
||||
[Token(Token = "0x600A020")]
|
||||
[Address(RVA = "0x2065360", Offset = "0x2063D60", VA = "0x182065360")]
|
||||
get
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
[Token(Token = "0x600A021")]
|
||||
[Address(RVA = "0x2065420", Offset = "0x2063E20", VA = "0x182065420")]
|
||||
set
|
||||
{
|
||||
ulong[] array = this.tweak;
|
||||
if (!value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A022 RID: 40994 RVA: 0x002521A4 File Offset: 0x002503A4
|
||||
[Token(Token = "0x600A022")]
|
||||
[Address(RVA = "0x2064C50", Offset = "0x2063650", VA = "0x182064C50")]
|
||||
public void AdvancePosition(int advance)
|
||||
{
|
||||
if (!this.extendedPosition)
|
||||
{
|
||||
this.tweak[0] = (ulong)advance;
|
||||
ulong num;
|
||||
if ((ulong)advance > num)
|
||||
{
|
||||
this.extendedPosition = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
ulong[] array = new ulong[3];
|
||||
ulong num2 = this.tweak[0];
|
||||
array[0] = num2;
|
||||
ulong num3 = this.tweak[0];
|
||||
array[1] = num3;
|
||||
ulong num4 = this.tweak[1];
|
||||
array[2] = num4;
|
||||
int num5 = 0;
|
||||
int length = array.Length;
|
||||
if (num5 < length)
|
||||
{
|
||||
num5++;
|
||||
}
|
||||
ulong[] array2 = this.tweak;
|
||||
ulong num6 = array[1];
|
||||
array2[0] = num6;
|
||||
ulong[] array3 = this.tweak;
|
||||
ulong num7 = array[2];
|
||||
array3[1] = num7;
|
||||
}
|
||||
|
||||
// Token: 0x0600A023 RID: 40995 RVA: 0x00252270 File Offset: 0x00250470
|
||||
[Token(Token = "0x600A023")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
|
||||
public ulong[] GetWords()
|
||||
{
|
||||
return this.tweak;
|
||||
}
|
||||
|
||||
// Token: 0x0600A024 RID: 40996 RVA: 0x00252284 File Offset: 0x00250484
|
||||
[Token(Token = "0x600A024")]
|
||||
[Address(RVA = "0x2065020", Offset = "0x2063A20", VA = "0x182065020", Slot = "3")]
|
||||
public override string ToString()
|
||||
{
|
||||
object[] array = new object[5];
|
||||
ulong num = this.tweak[1];
|
||||
if (num != (ulong)0L)
|
||||
{
|
||||
}
|
||||
array[0] = num;
|
||||
if (" first: " != 0)
|
||||
{
|
||||
}
|
||||
array[1] = " first: ";
|
||||
ulong[] array2 = this.tweak;
|
||||
if (array2 != 0)
|
||||
{
|
||||
}
|
||||
array[2] = array2;
|
||||
if (", final: " != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ", final: ";
|
||||
ulong[] array3 = this.tweak;
|
||||
if (array3 != 0)
|
||||
{
|
||||
}
|
||||
array[4] = array3;
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x04006919 RID: 26905
|
||||
[Token(Token = "0x4006919")]
|
||||
private const ulong LOW_RANGE = 18446744069414584320UL;
|
||||
|
||||
// Token: 0x0400691A RID: 26906
|
||||
[Token(Token = "0x400691A")]
|
||||
private const ulong T1_FINAL = 9223372036854775808UL;
|
||||
|
||||
// Token: 0x0400691B RID: 26907
|
||||
[Token(Token = "0x400691B")]
|
||||
private const ulong T1_FIRST = 4611686018427387904UL;
|
||||
|
||||
// Token: 0x0400691C RID: 26908
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400691C")]
|
||||
private ulong[] tweak;
|
||||
|
||||
// Token: 0x0400691D RID: 26909
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400691D")]
|
||||
private bool extendedPosition;
|
||||
}
|
||||
|
||||
// Token: 0x02001725 RID: 5925
|
||||
[Token(Token = "0x2001725")]
|
||||
private class UBI
|
||||
{
|
||||
// Token: 0x0600A025 RID: 40997 RVA: 0x00252310 File Offset: 0x00250510
|
||||
[Token(Token = "0x600A025")]
|
||||
[Address(RVA = "0x2064B60", Offset = "0x2063560", VA = "0x182064B60")]
|
||||
public UBI(SkeinEngine engine, int blockSize)
|
||||
{
|
||||
SkeinEngine.UbiTweak ubiTweak = new SkeinEngine.UbiTweak();
|
||||
ulong[] array = new ulong[2];
|
||||
ubiTweak.tweak = array;
|
||||
ubiTweak.Reset();
|
||||
this.tweak = ubiTweak;
|
||||
base..ctor();
|
||||
this.engine = engine;
|
||||
byte[] array2 = new byte[blockSize];
|
||||
this.currentBlock = array2;
|
||||
int length = array2.Length;
|
||||
ulong[] array3 = new ulong[blockSize];
|
||||
this.message = array3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A026 RID: 40998 RVA: 0x00252378 File Offset: 0x00250578
|
||||
[Token(Token = "0x600A026")]
|
||||
[Address(RVA = "0x2064830", Offset = "0x2063230", VA = "0x182064830")]
|
||||
public void Reset(SkeinEngine.UBI ubi)
|
||||
{
|
||||
byte[] array = ubi.currentBlock;
|
||||
byte[] array2 = this.currentBlock;
|
||||
byte[] array3 = Arrays.Clone(array, array2);
|
||||
ulong[] array4 = this.message;
|
||||
this.currentBlock = array3;
|
||||
int num = ubi.currentOffset;
|
||||
this.currentOffset = num;
|
||||
ulong[] array5 = Arrays.Clone(ubi.message, array4);
|
||||
this.message = array5;
|
||||
SkeinEngine.UbiTweak ubiTweak = this.tweak;
|
||||
SkeinEngine.UbiTweak ubiTweak2 = ubi.tweak;
|
||||
ulong[] array6 = ubiTweak2.tweak;
|
||||
ulong[] array7 = ubiTweak.tweak;
|
||||
ulong[] array8 = Arrays.Clone(array6, array7);
|
||||
ubiTweak.tweak = array8;
|
||||
bool extendedPosition = ubiTweak2.extendedPosition;
|
||||
ubiTweak.extendedPosition = extendedPosition;
|
||||
}
|
||||
|
||||
// Token: 0x0600A027 RID: 40999 RVA: 0x00252420 File Offset: 0x00250620
|
||||
[Token(Token = "0x600A027")]
|
||||
[Address(RVA = "0x2064950", Offset = "0x2063350", VA = "0x182064950")]
|
||||
public void Reset(int type)
|
||||
{
|
||||
this.tweak.Reset();
|
||||
this.tweak.tweak[1] = (ulong)type;
|
||||
this.currentOffset = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A028 RID: 41000 RVA: 0x0025245C File Offset: 0x0025065C
|
||||
[Token(Token = "0x600A028")]
|
||||
[Address(RVA = "0x20649E0", Offset = "0x20633E0", VA = "0x1820649E0")]
|
||||
public void Update(byte[] value, int offset, int len, ulong[] output)
|
||||
{
|
||||
int num = 0;
|
||||
if (len > 0)
|
||||
{
|
||||
byte[] array = this.currentBlock;
|
||||
int num2 = this.currentOffset;
|
||||
if (num2 == array.Length)
|
||||
{
|
||||
ulong[] array2 = this.tweak.tweak;
|
||||
this.currentOffset = (int)((ulong)0L);
|
||||
}
|
||||
int num3 = array.Length;
|
||||
num3 -= num2;
|
||||
int num4 = Math.Min(len, num3);
|
||||
int num5 = this.currentOffset;
|
||||
byte[] array3 = this.currentBlock;
|
||||
Array.Copy(value, 0, array3, num5, num4);
|
||||
SkeinEngine.UbiTweak ubiTweak = this.tweak;
|
||||
num += num4;
|
||||
ubiTweak.AdvancePosition(num4);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A029 RID: 41001 RVA: 0x002524EC File Offset: 0x002506EC
|
||||
[Token(Token = "0x600A029")]
|
||||
[Address(RVA = "0x2064690", Offset = "0x2063090", VA = "0x182064690")]
|
||||
private void ProcessBlock(ulong[] output)
|
||||
{
|
||||
SkeinEngine skeinEngine = this.engine;
|
||||
SkeinEngine.UbiTweak ubiTweak = this.tweak;
|
||||
ThreefishEngine threefish = skeinEngine.threefish;
|
||||
ulong[] array = ubiTweak.tweak;
|
||||
int num = 0;
|
||||
ulong[] chain = skeinEngine.chain;
|
||||
threefish.Init(16777216 != 0, chain, array);
|
||||
ulong[] array2 = this.message;
|
||||
ulong[] array3;
|
||||
if (num < array2.Length)
|
||||
{
|
||||
ulong num2 = ThreefishEngine.BytesToWord(this.currentBlock, 16777216);
|
||||
num++;
|
||||
array2[0] = num2;
|
||||
array3 = this.message;
|
||||
}
|
||||
int num3 = this.engine.threefish.ProcessBlock(array3, output);
|
||||
int length = output.Length;
|
||||
if (num < length)
|
||||
{
|
||||
ulong num4 = this.message[num];
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A02A RID: 41002 RVA: 0x002525AC File Offset: 0x002507AC
|
||||
[Token(Token = "0x600A02A")]
|
||||
[Address(RVA = "0x20645F0", Offset = "0x2062FF0", VA = "0x1820645F0")]
|
||||
public void DoFinal(ulong[] output)
|
||||
{
|
||||
byte[] array = this.currentBlock;
|
||||
int num = this.currentOffset;
|
||||
if (num < array.Length)
|
||||
{
|
||||
num++;
|
||||
byte[] array2 = this.currentBlock;
|
||||
}
|
||||
ulong[] array3 = this.tweak.tweak;
|
||||
this.ProcessBlock(output);
|
||||
}
|
||||
|
||||
// Token: 0x0400691E RID: 26910
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400691E")]
|
||||
private readonly SkeinEngine.UbiTweak tweak;
|
||||
|
||||
// Token: 0x0400691F RID: 26911
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400691F")]
|
||||
private readonly SkeinEngine engine;
|
||||
|
||||
// Token: 0x04006920 RID: 26912
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006920")]
|
||||
private byte[] currentBlock;
|
||||
|
||||
// Token: 0x04006921 RID: 26913
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006921")]
|
||||
private int currentOffset;
|
||||
|
||||
// Token: 0x04006922 RID: 26914
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006922")]
|
||||
private ulong[] message;
|
||||
}
|
||||
}
|
||||
}
|
||||
+622
@@ -0,0 +1,622 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001726 RID: 5926
|
||||
[Token(Token = "0x2001726")]
|
||||
[StructLayout(3)]
|
||||
public class TigerDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600A02B RID: 41003 RVA: 0x002525F4 File Offset: 0x002507F4
|
||||
[Token(Token = "0x600A02B")]
|
||||
[Address(RVA = "0x2064550", Offset = "0x2062F50", VA = "0x182064550")]
|
||||
public TigerDigest()
|
||||
{
|
||||
byte[] array = new byte[8];
|
||||
this.Buffer = array;
|
||||
long[] array2 = new long[8];
|
||||
this.x = array2;
|
||||
base..ctor();
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x0600A02C RID: 41004 RVA: 0x0025262C File Offset: 0x0025082C
|
||||
[Token(Token = "0x600A02C")]
|
||||
[Address(RVA = "0x20643E0", Offset = "0x2062DE0", VA = "0x1820643E0")]
|
||||
public TigerDigest(TigerDigest t)
|
||||
{
|
||||
do
|
||||
{
|
||||
byte[] array = new byte[8];
|
||||
this.Buffer = array;
|
||||
long[] array2 = new long[8];
|
||||
this.x = array2;
|
||||
base..ctor();
|
||||
}
|
||||
while (t == 0);
|
||||
long num = t.a;
|
||||
this.a = num;
|
||||
long num2 = t.b;
|
||||
this.b = num2;
|
||||
long num3 = t.c;
|
||||
this.c = num3;
|
||||
long[] array3 = t.x;
|
||||
int length = array3.Length;
|
||||
int num4 = 0;
|
||||
long[] array4 = this.x;
|
||||
int num5 = 0;
|
||||
Array.Copy(array3, num5, array4, num4, length);
|
||||
int num6 = t.xOff;
|
||||
this.xOff = num6;
|
||||
byte[] buffer = t.Buffer;
|
||||
int length2 = buffer.Length;
|
||||
int num7 = 0;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int num8 = 0;
|
||||
Array.Copy(buffer, num8, buffer2, num7, length2);
|
||||
int num9 = t.bOff;
|
||||
this.bOff = num9;
|
||||
long num10 = t.byteCount;
|
||||
this.byteCount = num10;
|
||||
}
|
||||
|
||||
// Token: 0x1700192D RID: 6445
|
||||
// (get) Token: 0x0600A02D RID: 41005 RVA: 0x00252724 File Offset: 0x00250924
|
||||
[Token(Token = "0x1700192D")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600A02D")]
|
||||
[Address(RVA = "0x20645C0", Offset = "0x2062FC0", VA = "0x1820645C0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "Tiger";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A02E RID: 41006 RVA: 0x00252738 File Offset: 0x00250938
|
||||
[Token(Token = "0x600A02E")]
|
||||
[Address(RVA = "0x11E7910", Offset = "0x11E6310", VA = "0x1811E7910", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return 24;
|
||||
}
|
||||
|
||||
// Token: 0x0600A02F RID: 41007 RVA: 0x00252748 File Offset: 0x00250948
|
||||
[Token(Token = "0x600A02F")]
|
||||
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600A030 RID: 41008 RVA: 0x00252758 File Offset: 0x00250958
|
||||
[Token(Token = "0x600A030")]
|
||||
[Address(RVA = "0x20635C0", Offset = "0x2061FC0", VA = "0x1820635C0")]
|
||||
private void ProcessWord(byte[] b, int off)
|
||||
{
|
||||
int num = this.xOff;
|
||||
long[] array = this.x;
|
||||
int num2 = num + 1;
|
||||
this.xOff = num2;
|
||||
int length = b.Length;
|
||||
int num3 = off + 1;
|
||||
byte b2;
|
||||
array[0] = (long)b2;
|
||||
int length2 = this.x.Length;
|
||||
if (this.xOff == length2)
|
||||
{
|
||||
this.ProcessBlock();
|
||||
}
|
||||
this.bOff = (int)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A031 RID: 41009 RVA: 0x002527C0 File Offset: 0x002509C0
|
||||
[Token(Token = "0x600A031")]
|
||||
[Address(RVA = "0x2064260", Offset = "0x2062C60", VA = "0x182064260", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] buffer = this.Buffer;
|
||||
int num = this.bOff + 1;
|
||||
this.bOff = num;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int length = buffer2.Length;
|
||||
if (this.bOff == length)
|
||||
{
|
||||
int num2 = 0;
|
||||
this.ProcessWord(buffer2, num2);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A032 RID: 41010 RVA: 0x00252810 File Offset: 0x00250A10
|
||||
[Token(Token = "0x600A032")]
|
||||
[Address(RVA = "0x20624A0", Offset = "0x2060EA0", VA = "0x1820624A0", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
int num = this.bOff;
|
||||
int num2;
|
||||
if (num != 0 && length > 0)
|
||||
{
|
||||
byte[] buffer = this.Buffer;
|
||||
num2 = num + 1;
|
||||
this.bOff = num2;
|
||||
num2 = num;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int num3 = this.bOff;
|
||||
if (num3 == buffer2.Length)
|
||||
{
|
||||
int num4 = 0;
|
||||
this.ProcessWord(buffer2, num4);
|
||||
}
|
||||
while (num3 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 8)
|
||||
{
|
||||
num2++;
|
||||
this.ProcessWord(input, inOff);
|
||||
while (length != 8)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (length > 0)
|
||||
{
|
||||
int num5 = this.bOff;
|
||||
byte[] buffer3 = this.Buffer;
|
||||
num2 = inOff;
|
||||
int num6 = num5 + 1;
|
||||
this.bOff = num6;
|
||||
byte[] buffer4 = this.Buffer;
|
||||
int length2 = buffer4.Length;
|
||||
if (this.bOff == length2)
|
||||
{
|
||||
int num7 = 0;
|
||||
this.ProcessWord(buffer4, num7);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A033 RID: 41011 RVA: 0x002528D4 File Offset: 0x00250AD4
|
||||
[Token(Token = "0x600A033")]
|
||||
[Address(RVA = "0x20639E0", Offset = "0x20623E0", VA = "0x1820639E0")]
|
||||
private void RoundABC(long x, long mul)
|
||||
{
|
||||
long num = this.a;
|
||||
long[] array = TigerDigest.t1;
|
||||
long num2 = this.c;
|
||||
long[] array2 = TigerDigest.t2;
|
||||
long num3 = this.c;
|
||||
long[] array3 = TigerDigest.t3;
|
||||
long num4 = TigerDigest.t4[(int)num3];
|
||||
num -= num4;
|
||||
this.a = num;
|
||||
long[] array4 = TigerDigest.t4;
|
||||
long[] array5 = TigerDigest.t3;
|
||||
long[] array6 = TigerDigest.t2;
|
||||
long num5 = TigerDigest.t1[(int)num3] * mul;
|
||||
this.b = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600A034 RID: 41012 RVA: 0x00252958 File Offset: 0x00250B58
|
||||
[Token(Token = "0x600A034")]
|
||||
[Address(RVA = "0x2063C40", Offset = "0x2062640", VA = "0x182063C40")]
|
||||
private void RoundBCA(long x, long mul)
|
||||
{
|
||||
long num = this.b;
|
||||
long[] array = TigerDigest.t1;
|
||||
long num2 = this.a;
|
||||
long[] array2 = TigerDigest.t2;
|
||||
long num3 = this.a;
|
||||
long[] array3 = TigerDigest.t3;
|
||||
long num4 = TigerDigest.t4[(int)num3];
|
||||
num -= num4;
|
||||
this.b = num;
|
||||
long[] array4 = TigerDigest.t4;
|
||||
long[] array5 = TigerDigest.t3;
|
||||
long[] array6 = TigerDigest.t2;
|
||||
long num5 = TigerDigest.t1[(int)num3] * mul;
|
||||
this.c = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600A035 RID: 41013 RVA: 0x002529DC File Offset: 0x00250BDC
|
||||
[Token(Token = "0x600A035")]
|
||||
[Address(RVA = "0x2063EA0", Offset = "0x20628A0", VA = "0x182063EA0")]
|
||||
private void RoundCAB(long x, long mul)
|
||||
{
|
||||
long num = this.c;
|
||||
long[] array = TigerDigest.t1;
|
||||
long num2 = this.b;
|
||||
long[] array2 = TigerDigest.t2;
|
||||
long num3 = this.b;
|
||||
long[] array3 = TigerDigest.t3;
|
||||
long num4 = TigerDigest.t4[(int)num3];
|
||||
num -= num4;
|
||||
this.c = num;
|
||||
long[] array4 = TigerDigest.t4;
|
||||
long[] array5 = TigerDigest.t3;
|
||||
long[] array6 = TigerDigest.t2;
|
||||
long num5 = TigerDigest.t1[(int)num3] * mul;
|
||||
this.a = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600A036 RID: 41014 RVA: 0x00252A60 File Offset: 0x00250C60
|
||||
[Token(Token = "0x600A036")]
|
||||
[Address(RVA = "0x2062AB0", Offset = "0x20614B0", VA = "0x182062AB0")]
|
||||
private void KeySchedule()
|
||||
{
|
||||
long[] array = this.x;
|
||||
int length = array.Length;
|
||||
long num = array[0];
|
||||
long num2 = array[7];
|
||||
num -= num2;
|
||||
array[0] = num;
|
||||
long[] array2 = this.x;
|
||||
long[] array3 = this.x;
|
||||
long[] array4 = this.x;
|
||||
int length2 = array4.Length;
|
||||
long num3 = array4[3];
|
||||
long num4 = array4[1];
|
||||
num3 -= num4;
|
||||
array4[3] = num3;
|
||||
long[] array5 = this.x;
|
||||
long[] array6 = this.x;
|
||||
long[] array7 = this.x;
|
||||
int length3 = array7.Length;
|
||||
long num5 = array7[6];
|
||||
long num6 = array7[4];
|
||||
num5 -= num6;
|
||||
array7[6] = num5;
|
||||
long[] array8 = this.x;
|
||||
long[] array9 = this.x;
|
||||
int length4 = array9.Length;
|
||||
long num7 = array9[0];
|
||||
array9[0] = num7;
|
||||
long[] array10 = this.x;
|
||||
int length5 = array10.Length;
|
||||
long num8 = array10[1];
|
||||
long num9 = array10[7];
|
||||
num8 -= num9;
|
||||
array10[1] = num8;
|
||||
long[] array11 = this.x;
|
||||
long[] array12 = this.x;
|
||||
long[] array13 = this.x;
|
||||
int length6 = array13.Length;
|
||||
long num10 = array13[4];
|
||||
long num11 = array13[2];
|
||||
num10 -= num11;
|
||||
array13[4] = num10;
|
||||
long[] array14 = this.x;
|
||||
long[] array15 = this.x;
|
||||
long num12 = this.x[6];
|
||||
}
|
||||
|
||||
// Token: 0x0600A037 RID: 41015 RVA: 0x00252BF0 File Offset: 0x00250DF0
|
||||
[Token(Token = "0x600A037")]
|
||||
[Address(RVA = "0x2062F40", Offset = "0x2061940", VA = "0x182062F40")]
|
||||
private void ProcessBlock()
|
||||
{
|
||||
long num = this.x[0];
|
||||
long num2 = this.x[1];
|
||||
long num3 = this.x[2];
|
||||
long num4 = this.x[3];
|
||||
long num5 = this.x[4];
|
||||
long num6 = this.x[5];
|
||||
long num7 = this.x[6];
|
||||
long num8 = this.x[7];
|
||||
this.KeySchedule();
|
||||
long num9 = this.x[0];
|
||||
long num10 = this.x[1];
|
||||
long num11 = this.x[2];
|
||||
long num12 = this.x[3];
|
||||
long num13 = this.x[4];
|
||||
long num14 = this.x[5];
|
||||
long num15 = this.x[6];
|
||||
long num16 = this.x[7];
|
||||
this.KeySchedule();
|
||||
long num17 = this.x[0];
|
||||
long num18 = this.x[1];
|
||||
long num19 = this.x[2];
|
||||
long num20 = this.x[3];
|
||||
long num21 = this.x[4];
|
||||
long num22 = this.x[5];
|
||||
long num23 = this.x[6];
|
||||
long num24 = this.x[7];
|
||||
long[] array = this.x;
|
||||
int num25 = 0;
|
||||
this.xOff = num25;
|
||||
if (num25 != array.Length)
|
||||
{
|
||||
num25++;
|
||||
array[0] = (long)num25;
|
||||
long[] array2 = this.x;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A038 RID: 41016 RVA: 0x00252D94 File Offset: 0x00250F94
|
||||
[Token(Token = "0x600A038")]
|
||||
[Address(RVA = "0x2064100", Offset = "0x2062B00", VA = "0x182064100")]
|
||||
private void UnpackWord(long r, byte[] output, int outOff)
|
||||
{
|
||||
int num = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A039 RID: 41017 RVA: 0x00252DAC File Offset: 0x00250FAC
|
||||
[Token(Token = "0x600A039")]
|
||||
[Address(RVA = "0x2063580", Offset = "0x2061F80", VA = "0x182063580")]
|
||||
private void ProcessLength(long bitLength)
|
||||
{
|
||||
this.x[7] = bitLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600A03A RID: 41018 RVA: 0x00252DCC File Offset: 0x00250FCC
|
||||
[Token(Token = "0x600A03A")]
|
||||
[Address(RVA = "0x2062980", Offset = "0x2061380", VA = "0x182062980")]
|
||||
private void Finish()
|
||||
{
|
||||
long num;
|
||||
for (;;)
|
||||
{
|
||||
num = this.byteCount;
|
||||
byte[] buffer = this.Buffer;
|
||||
int num2 = this.bOff + 1;
|
||||
this.bOff = num2;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int num3 = this.bOff;
|
||||
if (num3 == buffer2.Length)
|
||||
{
|
||||
int num4 = 0;
|
||||
this.ProcessWord(buffer2, num4);
|
||||
}
|
||||
if (num3 == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
byte[] buffer3 = this.Buffer;
|
||||
int num5 = num3 + 1;
|
||||
this.bOff = num5;
|
||||
byte[] buffer4 = this.Buffer;
|
||||
if (this.bOff == buffer4.Length)
|
||||
{
|
||||
int num6 = 0;
|
||||
this.ProcessWord(buffer4, num6);
|
||||
if (this.bOff == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.x[7] = num;
|
||||
this.ProcessBlock();
|
||||
}
|
||||
|
||||
// Token: 0x0600A03B RID: 41019 RVA: 0x00252E84 File Offset: 0x00251084
|
||||
[Token(Token = "0x600A03B")]
|
||||
[Address(RVA = "0x20627E0", Offset = "0x20611E0", VA = "0x1820627E0", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
long num;
|
||||
for (;;)
|
||||
{
|
||||
num = this.byteCount;
|
||||
byte[] buffer = this.Buffer;
|
||||
int num2 = this.bOff + 1;
|
||||
this.bOff = num2;
|
||||
byte[] buffer2 = this.Buffer;
|
||||
int num3 = this.bOff;
|
||||
if (num3 == buffer2.Length)
|
||||
{
|
||||
int num4 = 0;
|
||||
this.ProcessWord(buffer2, num4);
|
||||
}
|
||||
if (num3 == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
byte[] buffer3 = this.Buffer;
|
||||
int num5 = num3 + 1;
|
||||
this.bOff = num5;
|
||||
byte[] buffer4 = this.Buffer;
|
||||
if (this.bOff == buffer4.Length)
|
||||
{
|
||||
int num6 = 0;
|
||||
this.ProcessWord(buffer4, num6);
|
||||
if (this.bOff == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.x[7] = num;
|
||||
this.ProcessBlock();
|
||||
long num7 = this.a;
|
||||
this.UnpackWord(num7, output, outOff);
|
||||
long num8 = this.b;
|
||||
this.UnpackWord(num8, output, outOff);
|
||||
long num9 = this.c;
|
||||
this.UnpackWord(num9, output, outOff);
|
||||
this.Reset();
|
||||
return 24;
|
||||
}
|
||||
|
||||
// Token: 0x0600A03C RID: 41020 RVA: 0x00252F80 File Offset: 0x00251180
|
||||
[Token(Token = "0x600A03C")]
|
||||
[Address(RVA = "0x20637D0", Offset = "0x20621D0", VA = "0x1820637D0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
this.a = (long)((ulong)81985529216486895L);
|
||||
this.xOff = num;
|
||||
this.b = (long)((ulong)(-81985529216486896L));
|
||||
this.c = (long)((ulong)(-1110518062304271993L));
|
||||
long[] array = this.x;
|
||||
if (num != array.Length)
|
||||
{
|
||||
num++;
|
||||
array[0] = (long)num;
|
||||
long[] array2 = this.x;
|
||||
}
|
||||
byte[] buffer = this.Buffer;
|
||||
this.bOff = num;
|
||||
if (num == buffer.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
num++;
|
||||
}
|
||||
while (this.Buffer != 0);
|
||||
this.byteCount = (long)num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A03D RID: 41021 RVA: 0x00253020 File Offset: 0x00251220
|
||||
[Token(Token = "0x600A03D")]
|
||||
[Address(RVA = "0x2062650", Offset = "0x2061050", VA = "0x182062650", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
TigerDigest tigerDigest;
|
||||
do
|
||||
{
|
||||
tigerDigest = new TigerDigest();
|
||||
byte[] array = new byte[8];
|
||||
tigerDigest.Buffer = array;
|
||||
long[] array2 = new long[8];
|
||||
tigerDigest.x = array2;
|
||||
}
|
||||
while (this == 0);
|
||||
long num = this.a;
|
||||
tigerDigest.a = num;
|
||||
long num2 = this.b;
|
||||
tigerDigest.b = num2;
|
||||
long num3 = this.c;
|
||||
tigerDigest.c = num3;
|
||||
long[] array3 = this.x;
|
||||
int length = array3.Length;
|
||||
int num4 = 0;
|
||||
long[] array4 = tigerDigest.x;
|
||||
int num5 = 0;
|
||||
Array.Copy(array3, num5, array4, num4, length);
|
||||
int num6 = this.xOff;
|
||||
tigerDigest.xOff = num6;
|
||||
byte[] buffer = this.Buffer;
|
||||
int length2 = buffer.Length;
|
||||
int num7 = 0;
|
||||
byte[] buffer2 = tigerDigest.Buffer;
|
||||
int num8 = 0;
|
||||
Array.Copy(buffer, num8, buffer2, num7, length2);
|
||||
int num9 = this.bOff;
|
||||
tigerDigest.bOff = num9;
|
||||
long num10 = this.byteCount;
|
||||
tigerDigest.byteCount = num10;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A03E RID: 41022 RVA: 0x00253118 File Offset: 0x00251318
|
||||
[Token(Token = "0x600A03E")]
|
||||
[Address(RVA = "0x20638C0", Offset = "0x20622C0", VA = "0x1820638C0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
}
|
||||
while (other == 0);
|
||||
this.a = (long)num;
|
||||
this.b = (long)num;
|
||||
this.c = (long)num;
|
||||
this.xOff = num;
|
||||
this.bOff = num;
|
||||
this.byteCount = (long)num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A03F RID: 41023 RVA: 0x0025315C File Offset: 0x0025135C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A03F")]
|
||||
[Address(RVA = "0x20642D0", Offset = "0x2062CD0", VA = "0x1820642D0")]
|
||||
static TigerDigest()
|
||||
{
|
||||
long[] array = new long[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.A0FABB8173BA247898A9FA267D0CE05500B667A0).FieldHandle);
|
||||
TigerDigest.t1 = array;
|
||||
long[] array2 = new long[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.467C6758F235D3193618192A64129CBB602C9067).FieldHandle);
|
||||
TigerDigest.t2 = array2;
|
||||
long[] array3 = new long[256];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.1648F737A4CFFDA4E6C83A3D742109BF9DBC2446).FieldHandle);
|
||||
TigerDigest.t3 = array3;
|
||||
long[] array4 = new long[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.C079C42AC966756C902EC38C4D7989F3C20D3625).FieldHandle);
|
||||
TigerDigest.t4 = array4;
|
||||
}
|
||||
|
||||
// Token: 0x04006923 RID: 26915
|
||||
[Token(Token = "0x4006923")]
|
||||
private const int MyByteLength = 64;
|
||||
|
||||
// Token: 0x04006924 RID: 26916
|
||||
[Token(Token = "0x4006924")]
|
||||
private static readonly long[] t1;
|
||||
|
||||
// Token: 0x04006925 RID: 26917
|
||||
[Token(Token = "0x4006925")]
|
||||
private static readonly long[] t2;
|
||||
|
||||
// Token: 0x04006926 RID: 26918
|
||||
[Token(Token = "0x4006926")]
|
||||
private static readonly long[] t3;
|
||||
|
||||
// Token: 0x04006927 RID: 26919
|
||||
[Token(Token = "0x4006927")]
|
||||
private static readonly long[] t4;
|
||||
|
||||
// Token: 0x04006928 RID: 26920
|
||||
[Token(Token = "0x4006928")]
|
||||
private const int DigestLength = 24;
|
||||
|
||||
// Token: 0x04006929 RID: 26921
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006929")]
|
||||
private long a;
|
||||
|
||||
// Token: 0x0400692A RID: 26922
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400692A")]
|
||||
private long b;
|
||||
|
||||
// Token: 0x0400692B RID: 26923
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400692B")]
|
||||
private long c;
|
||||
|
||||
// Token: 0x0400692C RID: 26924
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400692C")]
|
||||
private long byteCount;
|
||||
|
||||
// Token: 0x0400692D RID: 26925
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400692D")]
|
||||
private byte[] Buffer;
|
||||
|
||||
// Token: 0x0400692E RID: 26926
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400692E")]
|
||||
private int bOff;
|
||||
|
||||
// Token: 0x0400692F RID: 26927
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400692F")]
|
||||
private long[] x;
|
||||
|
||||
// Token: 0x04006930 RID: 26928
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006930")]
|
||||
private int xOff;
|
||||
}
|
||||
}
|
||||
+650
@@ -0,0 +1,650 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
|
||||
{
|
||||
// Token: 0x02001727 RID: 5927
|
||||
[Token(Token = "0x2001727")]
|
||||
[StructLayout(3)]
|
||||
public sealed class WhirlpoolDigest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600A040 RID: 41024 RVA: 0x002531DC File Offset: 0x002513DC
|
||||
[Token(Token = "0x600A040")]
|
||||
[Address(RVA = "0x2065D10", Offset = "0x2064710", VA = "0x182065D10")]
|
||||
static WhirlpoolDigest()
|
||||
{
|
||||
int[] array = new int[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.840B3A53AAF3595FDF3313D46FFD246A7EA6E89E).FieldHandle);
|
||||
WhirlpoolDigest.SBOX = array;
|
||||
WhirlpoolDigest.C0 = new long[256];
|
||||
WhirlpoolDigest.C1 = new long[256];
|
||||
WhirlpoolDigest.C2 = new long[256];
|
||||
WhirlpoolDigest.C3 = new long[256];
|
||||
WhirlpoolDigest.C4 = new long[256];
|
||||
WhirlpoolDigest.C5 = new long[256];
|
||||
WhirlpoolDigest.C6 = new long[256];
|
||||
WhirlpoolDigest.C7 = new long[256];
|
||||
WhirlpoolDigest.EIGHT = new short[32];
|
||||
short[] eight = WhirlpoolDigest.EIGHT;
|
||||
int num = 0;
|
||||
eight[7] = (short)((uint)8);
|
||||
int[] sbox = WhirlpoolDigest.SBOX;
|
||||
int num2 = sbox[num];
|
||||
WhirlpoolDigest.C0[0] = (long)num2;
|
||||
WhirlpoolDigest.C1[0] = sbox;
|
||||
WhirlpoolDigest.C2[0] = sbox;
|
||||
WhirlpoolDigest.C3[0] = sbox;
|
||||
WhirlpoolDigest.C4[0] = sbox;
|
||||
WhirlpoolDigest.C5[0] = (long)num2;
|
||||
WhirlpoolDigest.C6[0] = sbox;
|
||||
long[] c = WhirlpoolDigest.C7;
|
||||
num++;
|
||||
c[0] = (long)num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A041 RID: 41025 RVA: 0x0025331C File Offset: 0x0025151C
|
||||
[Token(Token = "0x600A041")]
|
||||
[Address(RVA = "0x2066420", Offset = "0x2064E20", VA = "0x182066420")]
|
||||
public WhirlpoolDigest()
|
||||
{
|
||||
long[] array = new long[11];
|
||||
this._rc = array;
|
||||
byte[] array2 = new byte[64];
|
||||
this._buffer = array2;
|
||||
short[] array3 = new short[32];
|
||||
this._bitCount = array3;
|
||||
long[] array4 = new long[8];
|
||||
this._hash = array4;
|
||||
long[] array5 = new long[8];
|
||||
this._K = array5;
|
||||
long[] array6 = new long[8];
|
||||
this._L = array6;
|
||||
long[] array7 = new long[8];
|
||||
this._block = array7;
|
||||
long[] array8 = new long[8];
|
||||
this._state = array8;
|
||||
base..ctor();
|
||||
long[] rc = this._rc;
|
||||
long[] rc2 = this._rc;
|
||||
long[] c = WhirlpoolDigest.C0;
|
||||
long[] c2 = WhirlpoolDigest.C1;
|
||||
long[] c3 = WhirlpoolDigest.C2;
|
||||
long[] c4 = WhirlpoolDigest.C3;
|
||||
long[] c5 = WhirlpoolDigest.C4;
|
||||
long[] c6 = WhirlpoolDigest.C5;
|
||||
long[] c7 = WhirlpoolDigest.C6;
|
||||
uint num2;
|
||||
long num = WhirlpoolDigest.C7[(int)num2];
|
||||
num2 += (uint)8;
|
||||
rc2[0] = num;
|
||||
ulong num3;
|
||||
num3 += (ulong)1L;
|
||||
while (num2 <= (uint)80)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A042 RID: 41026 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A042")]
|
||||
[Address(RVA = "0x2066E00", Offset = "0x2065800", VA = "0x182066E00")]
|
||||
private static long packIntoLong(int b7, int b6, int b5, int b4, int b3, int b2, int b1, int b0)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A043 RID: 41027 RVA: 0x00253424 File Offset: 0x00251624
|
||||
[Token(Token = "0x600A043")]
|
||||
[Address(RVA = "0x2066DE0", Offset = "0x20657E0", VA = "0x182066DE0")]
|
||||
private static int maskWithReductionPolynomial(int input)
|
||||
{
|
||||
return input;
|
||||
}
|
||||
|
||||
// Token: 0x0600A044 RID: 41028 RVA: 0x00253434 File Offset: 0x00251634
|
||||
[Token(Token = "0x600A044")]
|
||||
[Address(RVA = "0x2066320", Offset = "0x2064D20", VA = "0x182066320")]
|
||||
public WhirlpoolDigest(WhirlpoolDigest originalDigest)
|
||||
{
|
||||
long[] array = new long[11];
|
||||
this._rc = array;
|
||||
byte[] array2 = new byte[64];
|
||||
this._buffer = array2;
|
||||
short[] array3 = new short[32];
|
||||
this._bitCount = array3;
|
||||
long[] array4 = new long[8];
|
||||
this._hash = array4;
|
||||
long[] array5 = new long[8];
|
||||
this._K = array5;
|
||||
long[] array6 = new long[8];
|
||||
this._L = array6;
|
||||
long[] array7 = new long[8];
|
||||
this._block = array7;
|
||||
long[] array8 = new long[8];
|
||||
this._state = array8;
|
||||
base..ctor();
|
||||
this.Reset(originalDigest);
|
||||
}
|
||||
|
||||
// Token: 0x1700192E RID: 6446
|
||||
// (get) Token: 0x0600A045 RID: 41029 RVA: 0x002534CC File Offset: 0x002516CC
|
||||
[Token(Token = "0x1700192E")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600A045")]
|
||||
[Address(RVA = "0x2066C60", Offset = "0x2065660", VA = "0x182066C60", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "Whirlpool";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A046 RID: 41030 RVA: 0x002534E0 File Offset: 0x002516E0
|
||||
[Token(Token = "0x600A046")]
|
||||
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "5")]
|
||||
public int GetDigestSize()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600A047 RID: 41031 RVA: 0x002534F0 File Offset: 0x002516F0
|
||||
[Token(Token = "0x600A047")]
|
||||
[Address(RVA = "0x2065700", Offset = "0x2064100", VA = "0x182065700", Slot = "9")]
|
||||
public int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
this.finish();
|
||||
int num = 0;
|
||||
long num2 = this._hash[num];
|
||||
int num3 = 0;
|
||||
num3++;
|
||||
num++;
|
||||
short[] bitCount = this._bitCount;
|
||||
int length = bitCount.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(bitCount, num4, length);
|
||||
byte[] buffer = this._buffer;
|
||||
int length2 = buffer.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(buffer, num5, length2);
|
||||
long[] hash = this._hash;
|
||||
int length3 = hash.Length;
|
||||
int num6 = 0;
|
||||
Array.Clear(hash, num6, length3);
|
||||
long[] k = this._K;
|
||||
int length4 = k.Length;
|
||||
int num7 = 0;
|
||||
Array.Clear(k, num7, length4);
|
||||
long[] l = this._L;
|
||||
int length5 = l.Length;
|
||||
int num8 = 0;
|
||||
Array.Clear(l, num8, length5);
|
||||
long[] block = this._block;
|
||||
int length6 = block.Length;
|
||||
int num9 = 0;
|
||||
Array.Clear(block, num9, length6);
|
||||
long[] state = this._state;
|
||||
int length7 = state.Length;
|
||||
int num10 = 0;
|
||||
Array.Clear(state, num10, length7);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A048 RID: 41032 RVA: 0x002535F8 File Offset: 0x002517F8
|
||||
[Token(Token = "0x600A048")]
|
||||
[Address(RVA = "0x20658E0", Offset = "0x20642E0", VA = "0x1820658E0", Slot = "10")]
|
||||
public void Reset()
|
||||
{
|
||||
this._bufferPos = (int)((ulong)0L);
|
||||
short[] bitCount = this._bitCount;
|
||||
int length = bitCount.Length;
|
||||
int num = 0;
|
||||
Array.Clear(bitCount, num, length);
|
||||
byte[] buffer = this._buffer;
|
||||
int length2 = buffer.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(buffer, num2, length2);
|
||||
long[] hash = this._hash;
|
||||
int length3 = hash.Length;
|
||||
int num3 = 0;
|
||||
Array.Clear(hash, num3, length3);
|
||||
long[] k = this._K;
|
||||
int length4 = k.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(k, num4, length4);
|
||||
long[] l = this._L;
|
||||
int length5 = l.Length;
|
||||
int num5 = 0;
|
||||
Array.Clear(l, num5, length5);
|
||||
long[] block = this._block;
|
||||
int length6 = block.Length;
|
||||
int num6 = 0;
|
||||
Array.Clear(block, num6, length6);
|
||||
long[] state = this._state;
|
||||
int length7 = state.Length;
|
||||
int num7 = 0;
|
||||
Array.Clear(state, num7, length7);
|
||||
}
|
||||
|
||||
// Token: 0x0600A049 RID: 41033 RVA: 0x002536E4 File Offset: 0x002518E4
|
||||
[Token(Token = "0x600A049")]
|
||||
[Address(RVA = "0x2067BB0", Offset = "0x20665B0", VA = "0x182067BB0")]
|
||||
private void processFilledBuffer()
|
||||
{
|
||||
long[] state = this._state;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (num2 < state.Length)
|
||||
{
|
||||
long[] block = this._block;
|
||||
byte[] buffer = this._buffer;
|
||||
num++;
|
||||
long num3;
|
||||
block[0] = num3;
|
||||
long[] state2 = this._state;
|
||||
}
|
||||
this.processBlock();
|
||||
byte[] buffer2 = this._buffer;
|
||||
this._bufferPos = (int)((ulong)0L);
|
||||
int length = buffer2.Length;
|
||||
int num4 = 0;
|
||||
Array.Clear(buffer2, num4, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600A04A RID: 41034 RVA: 0x00253764 File Offset: 0x00251964
|
||||
[Token(Token = "0x600A04A")]
|
||||
[Address(RVA = "0x2066820", Offset = "0x2065220", VA = "0x182066820")]
|
||||
private static long bytesToLongFromBuffer(byte[] buffer, int startPos)
|
||||
{
|
||||
int length = buffer.Length;
|
||||
int num = startPos + 1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A04B RID: 41035 RVA: 0x00253784 File Offset: 0x00251984
|
||||
[Token(Token = "0x600A04B")]
|
||||
[Address(RVA = "0x20669D0", Offset = "0x20653D0", VA = "0x1820669D0")]
|
||||
private static void convertLongToByteArray(long inputLong, byte[] outputArray, int offSet)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A04C RID: 41036 RVA: 0x00253798 File Offset: 0x00251998
|
||||
[Token(Token = "0x600A04C")]
|
||||
[Address(RVA = "0x2066E60", Offset = "0x2065860", VA = "0x182066E60")]
|
||||
private void processBlock()
|
||||
{
|
||||
int num = 0;
|
||||
long[] block = this._block;
|
||||
long[] state = this._state;
|
||||
long[] hash = this._hash;
|
||||
long[] k = this._K;
|
||||
long num2 = hash[num];
|
||||
k[0] = num2;
|
||||
num++;
|
||||
state[0] = num2;
|
||||
this._L[0] = (long)num;
|
||||
long[] l = this._L;
|
||||
long[] k2 = this._K;
|
||||
long[] c = WhirlpoolDigest.C0;
|
||||
long[] l2 = this._L;
|
||||
long[] c2 = WhirlpoolDigest.C1;
|
||||
long[] k3 = this._K;
|
||||
long[] l3 = this._L;
|
||||
long[] c3 = WhirlpoolDigest.C2;
|
||||
long[] k4 = this._K;
|
||||
long[] l4 = this._L;
|
||||
long[] c4 = WhirlpoolDigest.C3;
|
||||
long[] k5 = this._K;
|
||||
long[] l5 = this._L;
|
||||
long[] c5 = WhirlpoolDigest.C4;
|
||||
long[] k6 = this._K;
|
||||
long[] l6 = this._L;
|
||||
long[] c6 = WhirlpoolDigest.C5;
|
||||
long[] k7 = this._K;
|
||||
long[] l7 = this._L;
|
||||
long[] c7 = WhirlpoolDigest.C6;
|
||||
long[] k8 = this._K;
|
||||
long[] l8 = this._L;
|
||||
long[] c8 = WhirlpoolDigest.C7;
|
||||
long[] k9 = this._K;
|
||||
num++;
|
||||
long[] k10 = this._K;
|
||||
int length = k10.Length;
|
||||
int num3 = 0;
|
||||
long[] l9 = this._L;
|
||||
int num4 = 0;
|
||||
Array.Copy(l9, num4, k10, num3, length);
|
||||
long[] k11 = this._K;
|
||||
long[] rc = this._rc;
|
||||
long[] k12 = this._K;
|
||||
long[] l10 = this._L;
|
||||
long num5 = k12[num];
|
||||
l10[0] = num5;
|
||||
long[] l11 = this._L;
|
||||
long[] state2 = this._state;
|
||||
long[] c9 = WhirlpoolDigest.C0;
|
||||
long[] l12 = this._L;
|
||||
long[] c10 = WhirlpoolDigest.C1;
|
||||
long[] state3 = this._state;
|
||||
long[] l13 = this._L;
|
||||
long[] c11 = WhirlpoolDigest.C2;
|
||||
long[] state4 = this._state;
|
||||
long[] l14 = this._L;
|
||||
long[] c12 = WhirlpoolDigest.C3;
|
||||
long[] state5 = this._state;
|
||||
long[] l15 = this._L;
|
||||
long[] c13 = WhirlpoolDigest.C4;
|
||||
long[] state6 = this._state;
|
||||
long[] l16 = this._L;
|
||||
long[] c14 = WhirlpoolDigest.C5;
|
||||
long[] state7 = this._state;
|
||||
long[] l17 = this._L;
|
||||
long[] c15 = WhirlpoolDigest.C6;
|
||||
long[] state8 = this._state;
|
||||
long[] l18 = this._L;
|
||||
long[] c16 = WhirlpoolDigest.C7;
|
||||
long[] state9 = this._state;
|
||||
num++;
|
||||
long[] state10 = this._state;
|
||||
int length2 = state10.Length;
|
||||
int num6 = 0;
|
||||
long[] l19 = this._L;
|
||||
int num7 = 0;
|
||||
Array.Copy(l19, num7, state10, num6, length2);
|
||||
while ((ulong)((uint)1) <= (ulong)10L)
|
||||
{
|
||||
}
|
||||
long[] hash2 = this._hash;
|
||||
long[] state11 = this._state;
|
||||
long num8 = this._block[num];
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x0600A04D RID: 41037 RVA: 0x00253A2C File Offset: 0x00251C2C
|
||||
[Token(Token = "0x600A04D")]
|
||||
[Address(RVA = "0x2065B70", Offset = "0x2064570", VA = "0x182065B70", Slot = "7")]
|
||||
public void Update(byte input)
|
||||
{
|
||||
byte[] buffer = this._buffer;
|
||||
int bufferPos = this._bufferPos;
|
||||
int num = this._bufferPos;
|
||||
byte[] buffer2 = this._buffer;
|
||||
num++;
|
||||
this._bufferPos = num;
|
||||
if (num == buffer2.Length)
|
||||
{
|
||||
this.processFilledBuffer();
|
||||
}
|
||||
int length = this._bitCount.Length;
|
||||
short[] bitCount = this._bitCount;
|
||||
short[] eight = WhirlpoolDigest.EIGHT;
|
||||
short[] bitCount2 = this._bitCount;
|
||||
}
|
||||
|
||||
// Token: 0x0600A04E RID: 41038 RVA: 0x00253A9C File Offset: 0x00251C9C
|
||||
[Token(Token = "0x600A04E")]
|
||||
[Address(RVA = "0x2066C90", Offset = "0x2065690", VA = "0x182066C90")]
|
||||
private void increment()
|
||||
{
|
||||
int length = this._bitCount.Length;
|
||||
short[] bitCount = this._bitCount;
|
||||
short[] eight = WhirlpoolDigest.EIGHT;
|
||||
short[] bitCount2 = this._bitCount;
|
||||
}
|
||||
|
||||
// Token: 0x0600A04F RID: 41039 RVA: 0x00253AD0 File Offset: 0x00251CD0
|
||||
[Token(Token = "0x600A04F")]
|
||||
[Address(RVA = "0x2065560", Offset = "0x2063F60", VA = "0x182065560", Slot = "8")]
|
||||
public void BlockUpdate(byte[] input, int inOff, int length)
|
||||
{
|
||||
if (length > 0)
|
||||
{
|
||||
byte b;
|
||||
this.Update(b);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A050 RID: 41040 RVA: 0x00253AF0 File Offset: 0x00251CF0
|
||||
[Token(Token = "0x600A050")]
|
||||
[Address(RVA = "0x2066AE0", Offset = "0x20654E0", VA = "0x182066AE0")]
|
||||
private void finish()
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int length = array.Length;
|
||||
if (num2 < length)
|
||||
{
|
||||
short num3 = this._bitCount[num];
|
||||
num++;
|
||||
}
|
||||
int bufferPos = this._bufferPos;
|
||||
byte[] buffer = this._buffer;
|
||||
int num4 = bufferPos + 1;
|
||||
this._bufferPos = num4;
|
||||
byte[] buffer2 = this._buffer;
|
||||
int bufferPos2;
|
||||
if (this._bufferPos == buffer2.Length)
|
||||
{
|
||||
this.processFilledBuffer();
|
||||
bufferPos2 = this._bufferPos;
|
||||
}
|
||||
if (bufferPos2 > 32)
|
||||
{
|
||||
if (bufferPos2 == 0)
|
||||
{
|
||||
goto IL_A4;
|
||||
}
|
||||
int num5 = 0;
|
||||
this.Update((byte)num5);
|
||||
while (this.C3 != (ulong)0L)
|
||||
{
|
||||
}
|
||||
}
|
||||
int num6 = 0;
|
||||
this.Update((byte)num6);
|
||||
while (this.C3 <= (ulong)32L)
|
||||
{
|
||||
}
|
||||
IL_A4:
|
||||
int length2 = array.Length;
|
||||
byte[] buffer3 = this._buffer;
|
||||
int num7 = 0;
|
||||
Array.Copy(array, num7, buffer3, 32, length2);
|
||||
this.processFilledBuffer();
|
||||
}
|
||||
|
||||
// Token: 0x0600A051 RID: 41041 RVA: 0x00253BD0 File Offset: 0x00251DD0
|
||||
[Token(Token = "0x600A051")]
|
||||
[Address(RVA = "0x2066A40", Offset = "0x2065440", VA = "0x182066A40")]
|
||||
private byte[] copyBitLength()
|
||||
{
|
||||
byte[] array = new byte[32];
|
||||
int num = 0;
|
||||
int length = array.Length;
|
||||
if (num < length)
|
||||
{
|
||||
short num2 = this._bitCount[num];
|
||||
num++;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A052 RID: 41042 RVA: 0x00253C0C File Offset: 0x00251E0C
|
||||
[Token(Token = "0x600A052")]
|
||||
[Address(RVA = "0x2062AA0", Offset = "0x20614A0", VA = "0x182062AA0", Slot = "6")]
|
||||
public int GetByteLength()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
// Token: 0x0600A053 RID: 41043 RVA: 0x00253C1C File Offset: 0x00251E1C
|
||||
[Token(Token = "0x600A053")]
|
||||
[Address(RVA = "0x20655E0", Offset = "0x2063FE0", VA = "0x1820655E0", Slot = "11")]
|
||||
public IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A053)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest::Copy()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:WhirlpoolDigest(var_0_05, newobj:WhirlpoolDigest(WhirlpoolDigest::.ctor))
|
||||
stloc:int64[](var_1_0D, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(11)))
|
||||
stfld:int64[](WhirlpoolDigest::_rc, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_1_0D))
|
||||
stloc:uint8[](var_2_1C, newarr:uint8[]([mscorlib]System.Byte, ldc.i4:int32(64)))
|
||||
stfld:uint8[](WhirlpoolDigest::_buffer, ldloc:WhirlpoolDigest(var_0_05), ldloc:uint8[](var_2_1C))
|
||||
stloc:int16[](var_3_2B, newarr:int16[]([mscorlib]System.Int16, ldc.i4:int32(32)))
|
||||
stfld:int16[](WhirlpoolDigest::_bitCount, ldloc:WhirlpoolDigest(var_0_05), ldloc:int16[](var_3_2B))
|
||||
stloc:int64[](var_4_39, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_hash, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_4_39))
|
||||
stloc:int64[](var_5_49, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_K, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_5_49))
|
||||
stloc:int64[](var_6_59, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_L, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_6_59))
|
||||
stloc:int64[](var_7_69, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_block, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_7_69))
|
||||
stloc:int64[](var_8_79, newarr:int64[]([mscorlib]System.Int64, ldc.i4:int32(8)))
|
||||
stfld:int64[](WhirlpoolDigest::_state, ldloc:WhirlpoolDigest(var_0_05), ldloc:int64[](var_8_79))
|
||||
call:void(WhirlpoolDigest::Reset, ldloc:WhirlpoolDigest(var_0_05), ldloc:WhirlpoolDigest[exp:IMemoable](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: 0x0600A054 RID: 41044 RVA: 0x00253CB4 File Offset: 0x00251EB4
|
||||
[Token(Token = "0x600A054")]
|
||||
[Address(RVA = "0x20659B0", Offset = "0x20643B0", VA = "0x1820659B0", Slot = "12")]
|
||||
public void Reset(IMemoable other)
|
||||
{
|
||||
while (other == 0)
|
||||
{
|
||||
}
|
||||
int length = this._rc.Length;
|
||||
int length2 = this._buffer.Length;
|
||||
short[] bitCount = this._bitCount;
|
||||
this._bufferPos = length2;
|
||||
int length3 = bitCount.Length;
|
||||
int length4 = this._hash.Length;
|
||||
int length5 = this._K.Length;
|
||||
int length6 = this._L.Length;
|
||||
int length7 = this._block.Length;
|
||||
int length8 = this._state.Length;
|
||||
}
|
||||
|
||||
// Token: 0x04006931 RID: 26929
|
||||
[Token(Token = "0x4006931")]
|
||||
private const int BYTE_LENGTH = 64;
|
||||
|
||||
// Token: 0x04006932 RID: 26930
|
||||
[Token(Token = "0x4006932")]
|
||||
private const int DIGEST_LENGTH_BYTES = 64;
|
||||
|
||||
// Token: 0x04006933 RID: 26931
|
||||
[Token(Token = "0x4006933")]
|
||||
private const int ROUNDS = 10;
|
||||
|
||||
// Token: 0x04006934 RID: 26932
|
||||
[Token(Token = "0x4006934")]
|
||||
private const int REDUCTION_POLYNOMIAL = 285;
|
||||
|
||||
// Token: 0x04006935 RID: 26933
|
||||
[Token(Token = "0x4006935")]
|
||||
private static readonly int[] SBOX;
|
||||
|
||||
// Token: 0x04006936 RID: 26934
|
||||
[Token(Token = "0x4006936")]
|
||||
private static readonly long[] C0;
|
||||
|
||||
// Token: 0x04006937 RID: 26935
|
||||
[Token(Token = "0x4006937")]
|
||||
private static readonly long[] C1;
|
||||
|
||||
// Token: 0x04006938 RID: 26936
|
||||
[Token(Token = "0x4006938")]
|
||||
private static readonly long[] C2;
|
||||
|
||||
// Token: 0x04006939 RID: 26937
|
||||
[Token(Token = "0x4006939")]
|
||||
private static readonly long[] C3;
|
||||
|
||||
// Token: 0x0400693A RID: 26938
|
||||
[Token(Token = "0x400693A")]
|
||||
private static readonly long[] C4;
|
||||
|
||||
// Token: 0x0400693B RID: 26939
|
||||
[Token(Token = "0x400693B")]
|
||||
private static readonly long[] C5;
|
||||
|
||||
// Token: 0x0400693C RID: 26940
|
||||
[Token(Token = "0x400693C")]
|
||||
private static readonly long[] C6;
|
||||
|
||||
// Token: 0x0400693D RID: 26941
|
||||
[Token(Token = "0x400693D")]
|
||||
private static readonly long[] C7;
|
||||
|
||||
// Token: 0x0400693E RID: 26942
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400693E")]
|
||||
private readonly long[] _rc;
|
||||
|
||||
// Token: 0x0400693F RID: 26943
|
||||
[Token(Token = "0x400693F")]
|
||||
private static readonly short[] EIGHT;
|
||||
|
||||
// Token: 0x04006940 RID: 26944
|
||||
[Token(Token = "0x4006940")]
|
||||
private const int BITCOUNT_ARRAY_SIZE = 32;
|
||||
|
||||
// Token: 0x04006941 RID: 26945
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006941")]
|
||||
private byte[] _buffer;
|
||||
|
||||
// Token: 0x04006942 RID: 26946
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006942")]
|
||||
private int _bufferPos;
|
||||
|
||||
// Token: 0x04006943 RID: 26947
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006943")]
|
||||
private short[] _bitCount;
|
||||
|
||||
// Token: 0x04006944 RID: 26948
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006944")]
|
||||
private long[] _hash;
|
||||
|
||||
// Token: 0x04006945 RID: 26949
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006945")]
|
||||
private long[] _K;
|
||||
|
||||
// Token: 0x04006946 RID: 26950
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006946")]
|
||||
private long[] _L;
|
||||
|
||||
// Token: 0x04006947 RID: 26951
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006947")]
|
||||
private long[] _block;
|
||||
|
||||
// Token: 0x04006948 RID: 26952
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006948")]
|
||||
private long[] _state;
|
||||
}
|
||||
}
|
||||
+1632
@@ -0,0 +1,1632 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Sec;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X9;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Endo;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.EC
|
||||
{
|
||||
// Token: 0x020016E2 RID: 5858
|
||||
[Token(Token = "0x20016E2")]
|
||||
[StructLayout(3)]
|
||||
public sealed class CustomNamedCurves
|
||||
{
|
||||
// Token: 0x06009DB8 RID: 40376 RVA: 0x00243390 File Offset: 0x00241590
|
||||
[Token(Token = "0x6009DB8")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
private CustomNamedCurves()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DB9 RID: 40377 RVA: 0x002433A4 File Offset: 0x002415A4
|
||||
[Token(Token = "0x6009DB9")]
|
||||
[Address(RVA = "0x2059E10", Offset = "0x2058810", VA = "0x182059E10")]
|
||||
private static BigInteger FromHex(string hex)
|
||||
{
|
||||
byte[] array = Hex.Decode(hex);
|
||||
return new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x06009DBA RID: 40378 RVA: 0x002433C0 File Offset: 0x002415C0
|
||||
[Token(Token = "0x6009DBA")]
|
||||
[Address(RVA = "0x518E70", Offset = "0x517870", VA = "0x180518E70")]
|
||||
private static ECCurve ConfigureCurve(ECCurve curve)
|
||||
{
|
||||
return curve;
|
||||
}
|
||||
|
||||
// Token: 0x06009DBB RID: 40379 RVA: 0x002433D0 File Offset: 0x002415D0
|
||||
[Token(Token = "0x6009DBB")]
|
||||
[Address(RVA = "0x2059980", Offset = "0x2058380", VA = "0x182059980")]
|
||||
private static ECCurve ConfigureCurveGlv(ECCurve c, GlvTypeBParameters p)
|
||||
{
|
||||
GlvTypeBEndomorphism glvTypeBEndomorphism = new GlvTypeBEndomorphism(c, p);
|
||||
ECCurve eccurve;
|
||||
return eccurve;
|
||||
}
|
||||
|
||||
// Token: 0x06009DBC RID: 40380 RVA: 0x002433EC File Offset: 0x002415EC
|
||||
[Token(Token = "0x6009DBC")]
|
||||
[Address(RVA = "0x2059D30", Offset = "0x2058730", VA = "0x182059D30")]
|
||||
private static void DefineCurve(string name, X9ECParametersHolder holder)
|
||||
{
|
||||
IList list = CustomNamedCurves.names;
|
||||
string text = Platform.ToUpperInvariant(name);
|
||||
IDictionary dictionary = CustomNamedCurves.nameToCurve;
|
||||
}
|
||||
|
||||
// Token: 0x06009DBD RID: 40381 RVA: 0x00243414 File Offset: 0x00241614
|
||||
[Token(Token = "0x6009DBD")]
|
||||
[Address(RVA = "0x2059BA0", Offset = "0x20585A0", VA = "0x182059BA0")]
|
||||
private static void DefineCurveWithOid(string name, DerObjectIdentifier oid, X9ECParametersHolder holder)
|
||||
{
|
||||
IList list = CustomNamedCurves.names;
|
||||
IDictionary dictionary = CustomNamedCurves.oidToName;
|
||||
IDictionary dictionary2 = CustomNamedCurves.oidToCurve;
|
||||
string text = Platform.ToUpperInvariant(name);
|
||||
IDictionary dictionary3 = CustomNamedCurves.nameToOid;
|
||||
IDictionary dictionary4 = CustomNamedCurves.nameToCurve;
|
||||
}
|
||||
|
||||
// Token: 0x06009DBE RID: 40382 RVA: 0x00243450 File Offset: 0x00241650
|
||||
[Token(Token = "0x6009DBE")]
|
||||
[Address(RVA = "0x2059A30", Offset = "0x2058430", VA = "0x182059A30")]
|
||||
private static void DefineCurveAlias(string name, DerObjectIdentifier oid)
|
||||
{
|
||||
IDictionary dictionary = CustomNamedCurves.oidToCurve;
|
||||
string text = Platform.ToUpperInvariant(name);
|
||||
IDictionary dictionary2 = CustomNamedCurves.nameToOid;
|
||||
IDictionary dictionary3 = CustomNamedCurves.nameToCurve;
|
||||
}
|
||||
|
||||
// Token: 0x06009DBF RID: 40383 RVA: 0x00243484 File Offset: 0x00241684
|
||||
[Token(Token = "0x6009DBF")]
|
||||
[Address(RVA = "0x205A230", Offset = "0x2058C30", VA = "0x18205A230")]
|
||||
static CustomNamedCurves()
|
||||
{
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
CustomNamedCurves.nameToCurve = dictionary;
|
||||
IDictionary dictionary2 = Platform.CreateHashtable();
|
||||
CustomNamedCurves.nameToOid = dictionary2;
|
||||
IDictionary dictionary3 = Platform.CreateHashtable();
|
||||
CustomNamedCurves.oidToCurve = dictionary3;
|
||||
IDictionary dictionary4 = Platform.CreateHashtable();
|
||||
CustomNamedCurves.oidToName = dictionary4;
|
||||
CustomNamedCurves.names = Platform.CreateArrayList();
|
||||
IList list = CustomNamedCurves.names;
|
||||
string text = Platform.ToUpperInvariant("curve25519");
|
||||
IDictionary dictionary5 = CustomNamedCurves.nameToCurve;
|
||||
DerObjectIdentifier secT163r = SecObjectIdentifiers.SecT163r2;
|
||||
CustomNamedCurves.DefineCurveAlias("B-163", secT163r);
|
||||
DerObjectIdentifier secT233r = SecObjectIdentifiers.SecT233r1;
|
||||
CustomNamedCurves.DefineCurveAlias("B-233", secT233r);
|
||||
DerObjectIdentifier secT283r = SecObjectIdentifiers.SecT283r1;
|
||||
CustomNamedCurves.DefineCurveAlias("B-283", secT283r);
|
||||
DerObjectIdentifier secT409r = SecObjectIdentifiers.SecT409r1;
|
||||
CustomNamedCurves.DefineCurveAlias("B-409", secT409r);
|
||||
DerObjectIdentifier secT571r = SecObjectIdentifiers.SecT571r1;
|
||||
CustomNamedCurves.DefineCurveAlias("B-571", secT571r);
|
||||
DerObjectIdentifier secT163k = SecObjectIdentifiers.SecT163k1;
|
||||
CustomNamedCurves.DefineCurveAlias("K-163", secT163k);
|
||||
DerObjectIdentifier secT233k = SecObjectIdentifiers.SecT233k1;
|
||||
CustomNamedCurves.DefineCurveAlias("K-233", secT233k);
|
||||
DerObjectIdentifier secT283k = SecObjectIdentifiers.SecT283k1;
|
||||
CustomNamedCurves.DefineCurveAlias("K-283", secT283k);
|
||||
DerObjectIdentifier secT409k = SecObjectIdentifiers.SecT409k1;
|
||||
CustomNamedCurves.DefineCurveAlias("K-409", secT409k);
|
||||
DerObjectIdentifier secT571k = SecObjectIdentifiers.SecT571k1;
|
||||
CustomNamedCurves.DefineCurveAlias("K-571", secT571k);
|
||||
DerObjectIdentifier secP192r = SecObjectIdentifiers.SecP192r1;
|
||||
CustomNamedCurves.DefineCurveAlias("P-192", secP192r);
|
||||
DerObjectIdentifier secP224r = SecObjectIdentifiers.SecP224r1;
|
||||
CustomNamedCurves.DefineCurveAlias("P-224", secP224r);
|
||||
DerObjectIdentifier secP256r = SecObjectIdentifiers.SecP256r1;
|
||||
CustomNamedCurves.DefineCurveAlias("P-256", secP256r);
|
||||
DerObjectIdentifier secP384r = SecObjectIdentifiers.SecP384r1;
|
||||
CustomNamedCurves.DefineCurveAlias("P-384", secP384r);
|
||||
DerObjectIdentifier secP521r = SecObjectIdentifiers.SecP521r1;
|
||||
CustomNamedCurves.DefineCurveAlias("P-521", secP521r);
|
||||
}
|
||||
|
||||
// Token: 0x06009DC0 RID: 40384 RVA: 0x0024361C File Offset: 0x0024181C
|
||||
[Token(Token = "0x6009DC0")]
|
||||
[Address(RVA = "0x2059EA0", Offset = "0x20588A0", VA = "0x182059EA0")]
|
||||
public static X9ECParameters GetByName(string name)
|
||||
{
|
||||
string text;
|
||||
do
|
||||
{
|
||||
IDictionary dictionary = CustomNamedCurves.nameToCurve;
|
||||
text = Platform.ToUpperInvariant(name);
|
||||
if (text == 0)
|
||||
{
|
||||
goto IL_19;
|
||||
}
|
||||
}
|
||||
while (text == 0);
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
IL_19:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DC1 RID: 40385 RVA: 0x0024364C File Offset: 0x0024184C
|
||||
[Token(Token = "0x6009DC1")]
|
||||
[Address(RVA = "0x2059FB0", Offset = "0x20589B0", VA = "0x182059FB0")]
|
||||
public static X9ECParameters GetByOid(DerObjectIdentifier oid)
|
||||
{
|
||||
IDictionary dictionary = CustomNamedCurves.oidToCurve;
|
||||
IDictionary dictionary2 = CustomNamedCurves.nameToCurve;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DC2 RID: 40386 RVA: 0x00243674 File Offset: 0x00241874
|
||||
[Token(Token = "0x6009DC2")]
|
||||
[Address(RVA = "0x205A130", Offset = "0x2058B30", VA = "0x18205A130")]
|
||||
public static DerObjectIdentifier GetOid(string name)
|
||||
{
|
||||
string text;
|
||||
do
|
||||
{
|
||||
IDictionary dictionary = CustomNamedCurves.nameToOid;
|
||||
text = Platform.ToUpperInvariant(name);
|
||||
if (text == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (text == 0);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DC3 RID: 40387 RVA: 0x002436A0 File Offset: 0x002418A0
|
||||
[Token(Token = "0x6009DC3")]
|
||||
[Address(RVA = "0x205A090", Offset = "0x2058A90", VA = "0x18205A090")]
|
||||
public static string GetName(DerObjectIdentifier oid)
|
||||
{
|
||||
IDictionary dictionary = CustomNamedCurves.oidToName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001906 RID: 6406
|
||||
// (get) Token: 0x06009DC4 RID: 40388 RVA: 0x002436B8 File Offset: 0x002418B8
|
||||
[Token(Token = "0x17001906")]
|
||||
public static IEnumerable Names
|
||||
{
|
||||
[Token(Token = "0x6009DC4")]
|
||||
[Address(RVA = "0x205B130", Offset = "0x2059B30", VA = "0x18205B130")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009DC4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.EC.CustomNamedCurves::get_Names()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:EnumerableProxy(var_0_0A, newobj:EnumerableProxy(EnumerableProxy::.ctor, ldsfld:IList[exp:IEnumerable](CustomNamedCurves::names)))
|
||||
}
|
||||
|
||||
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: 0x040067D8 RID: 26584
|
||||
[Token(Token = "0x40067D8")]
|
||||
private static readonly IDictionary nameToCurve;
|
||||
|
||||
// Token: 0x040067D9 RID: 26585
|
||||
[Token(Token = "0x40067D9")]
|
||||
private static readonly IDictionary nameToOid;
|
||||
|
||||
// Token: 0x040067DA RID: 26586
|
||||
[Token(Token = "0x40067DA")]
|
||||
private static readonly IDictionary oidToCurve;
|
||||
|
||||
// Token: 0x040067DB RID: 26587
|
||||
[Token(Token = "0x40067DB")]
|
||||
private static readonly IDictionary oidToName;
|
||||
|
||||
// Token: 0x040067DC RID: 26588
|
||||
[Token(Token = "0x40067DC")]
|
||||
private static readonly IList names;
|
||||
|
||||
// Token: 0x020016E3 RID: 5859
|
||||
[Token(Token = "0x20016E3")]
|
||||
internal class Curve25519Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DC5 RID: 40389 RVA: 0x002436D0 File Offset: 0x002418D0
|
||||
[Token(Token = "0x6009DC5")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private Curve25519Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DC6 RID: 40390 RVA: 0x002436E4 File Offset: 0x002418E4
|
||||
[Token(Token = "0x6009DC6")]
|
||||
[Address(RVA = "0x20597D0", Offset = "0x20581D0", VA = "0x1820597D0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
Curve25519 curve = new Curve25519();
|
||||
byte[] array = Hex.Decode("042AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD245A20AE19A1B8A086B4E01EDD2C7748D14C923D4D7E6D7C61B229E9C5A27ECED3D9");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(curve, array);
|
||||
ECFieldElement b = curve.B;
|
||||
BigInteger order = curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DC7 RID: 40391 RVA: 0x00243724 File Offset: 0x00241924
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DC7")]
|
||||
[Address(RVA = "0x2059920", Offset = "0x2058320", VA = "0x182059920")]
|
||||
static Curve25519Holder()
|
||||
{
|
||||
CustomNamedCurves.Curve25519Holder curve25519Holder = new CustomNamedCurves.Curve25519Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067DD RID: 26589
|
||||
[Token(Token = "0x40067DD")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016E4 RID: 5860
|
||||
[Token(Token = "0x20016E4")]
|
||||
internal class SecP128R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DC8 RID: 40392 RVA: 0x00243738 File Offset: 0x00241938
|
||||
[Token(Token = "0x6009DC8")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP128R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DC9 RID: 40393 RVA: 0x0024374C File Offset: 0x0024194C
|
||||
[Token(Token = "0x6009DC9")]
|
||||
[Address(RVA = "0x205E500", Offset = "0x205CF00", VA = "0x18205E500", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("000E0D4D696E6768756151750CC03A4473D03679");
|
||||
SecP128R1Curve secP128R1Curve = new SecP128R1Curve();
|
||||
byte[] array2 = Hex.Decode("04161FF7528B899B2D0C28607CA52C5B86CF5AC8395BAFEB13C02DA292DDED7A83");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secP128R1Curve, array2);
|
||||
ECFieldElement b = secP128R1Curve.B;
|
||||
BigInteger order = secP128R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DCA RID: 40394 RVA: 0x00243798 File Offset: 0x00241998
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DCA")]
|
||||
[Address(RVA = "0x205E660", Offset = "0x205D060", VA = "0x18205E660")]
|
||||
static SecP128R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP128R1Holder secP128R1Holder = new CustomNamedCurves.SecP128R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067DE RID: 26590
|
||||
[Token(Token = "0x40067DE")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016E5 RID: 5861
|
||||
[Token(Token = "0x20016E5")]
|
||||
internal class SecP160K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DCB RID: 40395 RVA: 0x002437AC File Offset: 0x002419AC
|
||||
[Token(Token = "0x6009DCB")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP160K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DCC RID: 40396 RVA: 0x002437C0 File Offset: 0x002419C0
|
||||
[Token(Token = "0x6009DCC")]
|
||||
[Address(RVA = "0x205E6C0", Offset = "0x205D0C0", VA = "0x18205E6C0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
BigInteger bigInteger = new BigInteger("9ba48cba5ebcb9b6bd33b92830b2a2e0e192f10a", 16);
|
||||
BigInteger bigInteger2 = new BigInteger("c39c6c3b3a36d7701b9c71a1f5804ae5d0003f4", 16);
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
BigInteger bigInteger3 = new BigInteger("9162fbe73984472a0a9e", 16);
|
||||
if (bigInteger3 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger3;
|
||||
BigInteger bigInteger4 = new BigInteger("-96341f1138933bc2f505", 16);
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger4;
|
||||
BigInteger[] array2 = new BigInteger[2];
|
||||
BigInteger bigInteger5 = new BigInteger("127971af8721782ecffa3", 16);
|
||||
if (bigInteger5 != 0)
|
||||
{
|
||||
}
|
||||
array2[0] = bigInteger5;
|
||||
BigInteger bigInteger6 = new BigInteger("9162fbe73984472a0a9e", 16);
|
||||
if (bigInteger6 != 0)
|
||||
{
|
||||
}
|
||||
array2[1] = bigInteger6;
|
||||
BigInteger bigInteger7 = new BigInteger("9162fbe73984472a0a9d0590", 16);
|
||||
BigInteger bigInteger8 = new BigInteger("96341f1138933bc2f503fd44", 16);
|
||||
ulong num;
|
||||
GlvTypeBParameters glvTypeBParameters = new GlvTypeBParameters(bigInteger, bigInteger2, array, array2, bigInteger7, bigInteger8, (int)num);
|
||||
ECCurve eccurve = CustomNamedCurves.ConfigureCurveGlv(new SecP160K1Curve(), glvTypeBParameters);
|
||||
byte[] array3 = Hex.Decode("043B4C382CE37AA192A4019E763036F4F5DD4D7EBB938CF935318FDCED6BC28286531733C3F03C4FEE");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(eccurve, array3);
|
||||
ECFieldElement b = eccurve.B;
|
||||
BigInteger order = eccurve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DCD RID: 40397 RVA: 0x002438D4 File Offset: 0x00241AD4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DCD")]
|
||||
[Address(RVA = "0x205EB00", Offset = "0x205D500", VA = "0x18205EB00")]
|
||||
static SecP160K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP160K1Holder secP160K1Holder = new CustomNamedCurves.SecP160K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067DF RID: 26591
|
||||
[Token(Token = "0x40067DF")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016E6 RID: 5862
|
||||
[Token(Token = "0x20016E6")]
|
||||
internal class SecP160R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DCE RID: 40398 RVA: 0x002438E8 File Offset: 0x00241AE8
|
||||
[Token(Token = "0x6009DCE")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP160R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DCF RID: 40399 RVA: 0x002438FC File Offset: 0x00241AFC
|
||||
[Token(Token = "0x6009DCF")]
|
||||
[Address(RVA = "0x205EB60", Offset = "0x205D560", VA = "0x18205EB60", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("1053CDE42C14D696E67687561517533BF3F83345");
|
||||
SecP160R1Curve secP160R1Curve = new SecP160R1Curve();
|
||||
byte[] array2 = Hex.Decode("044A96B5688EF573284664698968C38BB913CBFC8223A628553168947D59DCC912042351377AC5FB32");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secP160R1Curve, array2);
|
||||
ECFieldElement b = secP160R1Curve.B;
|
||||
BigInteger order = secP160R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DD0 RID: 40400 RVA: 0x00243948 File Offset: 0x00241B48
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DD0")]
|
||||
[Address(RVA = "0x205ECC0", Offset = "0x205D6C0", VA = "0x18205ECC0")]
|
||||
static SecP160R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP160R1Holder secP160R1Holder = new CustomNamedCurves.SecP160R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E0 RID: 26592
|
||||
[Token(Token = "0x40067E0")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016E7 RID: 5863
|
||||
[Token(Token = "0x20016E7")]
|
||||
internal class SecP160R2Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DD1 RID: 40401 RVA: 0x0024395C File Offset: 0x00241B5C
|
||||
[Token(Token = "0x6009DD1")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP160R2Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DD2 RID: 40402 RVA: 0x00243970 File Offset: 0x00241B70
|
||||
[Token(Token = "0x6009DD2")]
|
||||
[Address(RVA = "0x205ED20", Offset = "0x205D720", VA = "0x18205ED20", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("B99B99B099B323E02709A4D696E6768756151751");
|
||||
SecP160R2Curve secP160R2Curve = new SecP160R2Curve();
|
||||
byte[] array2 = Hex.Decode("0452DCB034293A117E1F4FF11B30F7199D3144CE6DFEAFFEF2E331F296E071FA0DF9982CFEA7D43F2E");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secP160R2Curve, array2);
|
||||
ECFieldElement b = secP160R2Curve.B;
|
||||
BigInteger order = secP160R2Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DD3 RID: 40403 RVA: 0x002439BC File Offset: 0x00241BBC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DD3")]
|
||||
[Address(RVA = "0x205EE80", Offset = "0x205D880", VA = "0x18205EE80")]
|
||||
static SecP160R2Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP160R2Holder secP160R2Holder = new CustomNamedCurves.SecP160R2Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E1 RID: 26593
|
||||
[Token(Token = "0x40067E1")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016E8 RID: 5864
|
||||
[Token(Token = "0x20016E8")]
|
||||
internal class SecP192K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DD4 RID: 40404 RVA: 0x002439D0 File Offset: 0x00241BD0
|
||||
[Token(Token = "0x6009DD4")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP192K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DD5 RID: 40405 RVA: 0x002439E4 File Offset: 0x00241BE4
|
||||
[Token(Token = "0x6009DD5")]
|
||||
[Address(RVA = "0x205EEE0", Offset = "0x205D8E0", VA = "0x18205EEE0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
BigInteger bigInteger = new BigInteger("bb85691939b869c1d087f601554b96b80cb4f55b35f433c2", 16);
|
||||
BigInteger bigInteger2 = new BigInteger("3d84f26c12238d7b4f3d516613c1759033b1a5800175d0b1", 16);
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
BigInteger bigInteger3 = new BigInteger("71169be7330b3038edb025f1", 16);
|
||||
if (bigInteger3 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger3;
|
||||
BigInteger bigInteger4 = new BigInteger("-b3fb3400dec5c4adceb8655c", 16);
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger4;
|
||||
BigInteger[] array2 = new BigInteger[2];
|
||||
BigInteger bigInteger5 = new BigInteger("12511cfe811d0f4e6bc688b4d", 16);
|
||||
if (bigInteger5 != 0)
|
||||
{
|
||||
}
|
||||
array2[0] = bigInteger5;
|
||||
BigInteger bigInteger6 = new BigInteger("71169be7330b3038edb025f1", 16);
|
||||
if (bigInteger6 != 0)
|
||||
{
|
||||
}
|
||||
array2[1] = bigInteger6;
|
||||
BigInteger bigInteger7 = new BigInteger("71169be7330b3038edb025f1d0f9", 16);
|
||||
BigInteger bigInteger8 = new BigInteger("b3fb3400dec5c4adceb8655d4c94", 16);
|
||||
ulong num;
|
||||
GlvTypeBParameters glvTypeBParameters = new GlvTypeBParameters(bigInteger, bigInteger2, array, array2, bigInteger7, bigInteger8, (int)num);
|
||||
ECCurve eccurve = CustomNamedCurves.ConfigureCurveGlv(new SecP192K1Curve(), glvTypeBParameters);
|
||||
byte[] array3 = Hex.Decode("04DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(eccurve, array3);
|
||||
ECFieldElement b = eccurve.B;
|
||||
BigInteger order = eccurve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DD6 RID: 40406 RVA: 0x00243AF8 File Offset: 0x00241CF8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DD6")]
|
||||
[Address(RVA = "0x205F320", Offset = "0x205DD20", VA = "0x18205F320")]
|
||||
static SecP192K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP192K1Holder secP192K1Holder = new CustomNamedCurves.SecP192K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E2 RID: 26594
|
||||
[Token(Token = "0x40067E2")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016E9 RID: 5865
|
||||
[Token(Token = "0x20016E9")]
|
||||
internal class SecP192R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DD7 RID: 40407 RVA: 0x00243B0C File Offset: 0x00241D0C
|
||||
[Token(Token = "0x6009DD7")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP192R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DD8 RID: 40408 RVA: 0x00243B20 File Offset: 0x00241D20
|
||||
[Token(Token = "0x6009DD8")]
|
||||
[Address(RVA = "0x205F380", Offset = "0x205DD80", VA = "0x18205F380", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("3045AE6FC8422F64ED579528D38120EAE12196D5");
|
||||
SecP192R1Curve secP192R1Curve = new SecP192R1Curve();
|
||||
byte[] array2 = Hex.Decode("04188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF101207192B95FFC8DA78631011ED6B24CDD573F977A11E794811");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secP192R1Curve, array2);
|
||||
ECFieldElement b = secP192R1Curve.B;
|
||||
BigInteger order = secP192R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DD9 RID: 40409 RVA: 0x00243B6C File Offset: 0x00241D6C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DD9")]
|
||||
[Address(RVA = "0x205F4E0", Offset = "0x205DEE0", VA = "0x18205F4E0")]
|
||||
static SecP192R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP192R1Holder secP192R1Holder = new CustomNamedCurves.SecP192R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E3 RID: 26595
|
||||
[Token(Token = "0x40067E3")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016EA RID: 5866
|
||||
[Token(Token = "0x20016EA")]
|
||||
internal class SecP224K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DDA RID: 40410 RVA: 0x00243B80 File Offset: 0x00241D80
|
||||
[Token(Token = "0x6009DDA")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP224K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DDB RID: 40411 RVA: 0x00243B94 File Offset: 0x00241D94
|
||||
[Token(Token = "0x6009DDB")]
|
||||
[Address(RVA = "0x205F540", Offset = "0x205DF40", VA = "0x18205F540", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
BigInteger bigInteger = new BigInteger("fe0e87005b4e83761908c5131d552a850b3f58b749c37cf5b84d6768", 16);
|
||||
BigInteger bigInteger2 = new BigInteger("60dcd2104c4cbc0be6eeefc2bdd610739ec34e317f9b33046c9e4788", 16);
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
BigInteger bigInteger3 = new BigInteger("6b8cf07d4ca75c88957d9d670591", 16);
|
||||
if (bigInteger3 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger3;
|
||||
BigInteger bigInteger4 = new BigInteger("-b8adf1378a6eb73409fa6c9c637d", 16);
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger4;
|
||||
BigInteger[] array2 = new BigInteger[2];
|
||||
BigInteger bigInteger5 = new BigInteger("1243ae1b4d71613bc9f780a03690e", 16);
|
||||
if (bigInteger5 != 0)
|
||||
{
|
||||
}
|
||||
array2[0] = bigInteger5;
|
||||
BigInteger bigInteger6 = new BigInteger("6b8cf07d4ca75c88957d9d670591", 16);
|
||||
if (bigInteger6 != 0)
|
||||
{
|
||||
}
|
||||
array2[1] = bigInteger6;
|
||||
BigInteger bigInteger7 = new BigInteger("6b8cf07d4ca75c88957d9d67059037a4", 16);
|
||||
BigInteger bigInteger8 = new BigInteger("b8adf1378a6eb73409fa6c9c637ba7f5", 16);
|
||||
ulong num;
|
||||
GlvTypeBParameters glvTypeBParameters = new GlvTypeBParameters(bigInteger, bigInteger2, array, array2, bigInteger7, bigInteger8, (int)num);
|
||||
ECCurve eccurve = CustomNamedCurves.ConfigureCurveGlv(new SecP224K1Curve(), glvTypeBParameters);
|
||||
byte[] array3 = Hex.Decode("04A1455B334DF099DF30FC28A169A467E9E47075A90F7E650EB6B7A45C7E089FED7FBA344282CAFBD6F7E319F7C0B0BD59E2CA4BDB556D61A5");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(eccurve, array3);
|
||||
ECFieldElement b = eccurve.B;
|
||||
BigInteger order = eccurve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DDC RID: 40412 RVA: 0x00243CA8 File Offset: 0x00241EA8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DDC")]
|
||||
[Address(RVA = "0x205F980", Offset = "0x205E380", VA = "0x18205F980")]
|
||||
static SecP224K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP224K1Holder secP224K1Holder = new CustomNamedCurves.SecP224K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E4 RID: 26596
|
||||
[Token(Token = "0x40067E4")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016EB RID: 5867
|
||||
[Token(Token = "0x20016EB")]
|
||||
internal class SecP224R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DDD RID: 40413 RVA: 0x00243CBC File Offset: 0x00241EBC
|
||||
[Token(Token = "0x6009DDD")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP224R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DDE RID: 40414 RVA: 0x00243CD0 File Offset: 0x00241ED0
|
||||
[Token(Token = "0x6009DDE")]
|
||||
[Address(RVA = "0x205F9E0", Offset = "0x205E3E0", VA = "0x18205F9E0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("BD71344799D5C7FCDC45B59FA3B9AB8F6A948BC5");
|
||||
SecP224R1Curve secP224R1Curve = new SecP224R1Curve();
|
||||
byte[] array2 = Hex.Decode("04B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secP224R1Curve, array2);
|
||||
ECFieldElement b = secP224R1Curve.B;
|
||||
BigInteger order = secP224R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DDF RID: 40415 RVA: 0x00243D1C File Offset: 0x00241F1C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DDF")]
|
||||
[Address(RVA = "0x205FB40", Offset = "0x205E540", VA = "0x18205FB40")]
|
||||
static SecP224R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP224R1Holder secP224R1Holder = new CustomNamedCurves.SecP224R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E5 RID: 26597
|
||||
[Token(Token = "0x40067E5")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016EC RID: 5868
|
||||
[Token(Token = "0x20016EC")]
|
||||
internal class SecP256K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DE0 RID: 40416 RVA: 0x00243D30 File Offset: 0x00241F30
|
||||
[Token(Token = "0x6009DE0")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP256K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DE1 RID: 40417 RVA: 0x00243D44 File Offset: 0x00241F44
|
||||
[Token(Token = "0x6009DE1")]
|
||||
[Address(RVA = "0x205FBA0", Offset = "0x205E5A0", VA = "0x18205FBA0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
BigInteger bigInteger = new BigInteger("7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee", 16);
|
||||
BigInteger bigInteger2 = new BigInteger("5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72", 16);
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
BigInteger bigInteger3 = new BigInteger("3086d221a7d46bcde86c90e49284eb15", 16);
|
||||
if (bigInteger3 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger3;
|
||||
BigInteger bigInteger4 = new BigInteger("-e4437ed6010e88286f547fa90abfe4c3", 16);
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger4;
|
||||
BigInteger[] array2 = new BigInteger[2];
|
||||
BigInteger bigInteger5 = new BigInteger("114ca50f7a8e2f3f657c1108d9d44cfd8", 16);
|
||||
if (bigInteger5 != 0)
|
||||
{
|
||||
}
|
||||
array2[0] = bigInteger5;
|
||||
BigInteger bigInteger6 = new BigInteger("3086d221a7d46bcde86c90e49284eb15", 16);
|
||||
if (bigInteger6 != 0)
|
||||
{
|
||||
}
|
||||
array2[1] = bigInteger6;
|
||||
BigInteger bigInteger7 = new BigInteger("3086d221a7d46bcde86c90e49284eb153dab", 16);
|
||||
BigInteger bigInteger8 = new BigInteger("e4437ed6010e88286f547fa90abfe4c42212", 16);
|
||||
ulong num;
|
||||
GlvTypeBParameters glvTypeBParameters = new GlvTypeBParameters(bigInteger, bigInteger2, array, array2, bigInteger7, bigInteger8, (int)num);
|
||||
ECCurve eccurve = CustomNamedCurves.ConfigureCurveGlv(new SecP256K1Curve(), glvTypeBParameters);
|
||||
byte[] array3 = Hex.Decode("0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(eccurve, array3);
|
||||
ECFieldElement b = eccurve.B;
|
||||
BigInteger order = eccurve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DE2 RID: 40418 RVA: 0x00243E58 File Offset: 0x00242058
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DE2")]
|
||||
[Address(RVA = "0x205FFE0", Offset = "0x205E9E0", VA = "0x18205FFE0")]
|
||||
static SecP256K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP256K1Holder secP256K1Holder = new CustomNamedCurves.SecP256K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E6 RID: 26598
|
||||
[Token(Token = "0x40067E6")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016ED RID: 5869
|
||||
[Token(Token = "0x20016ED")]
|
||||
internal class SecP256R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DE3 RID: 40419 RVA: 0x00243E6C File Offset: 0x0024206C
|
||||
[Token(Token = "0x6009DE3")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP256R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DE4 RID: 40420 RVA: 0x00243E80 File Offset: 0x00242080
|
||||
[Token(Token = "0x6009DE4")]
|
||||
[Address(RVA = "0x2060040", Offset = "0x205EA40", VA = "0x182060040", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("C49D360886E704936A6678E1139D26B7819F7E90");
|
||||
SecP256R1Curve secP256R1Curve = new SecP256R1Curve();
|
||||
byte[] array2 = Hex.Decode("046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secP256R1Curve, array2);
|
||||
ECFieldElement b = secP256R1Curve.B;
|
||||
BigInteger order = secP256R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DE5 RID: 40421 RVA: 0x00243ECC File Offset: 0x002420CC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DE5")]
|
||||
[Address(RVA = "0x20601A0", Offset = "0x205EBA0", VA = "0x1820601A0")]
|
||||
static SecP256R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP256R1Holder secP256R1Holder = new CustomNamedCurves.SecP256R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E7 RID: 26599
|
||||
[Token(Token = "0x40067E7")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016EE RID: 5870
|
||||
[Token(Token = "0x20016EE")]
|
||||
internal class SecP384R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DE6 RID: 40422 RVA: 0x00243EE0 File Offset: 0x002420E0
|
||||
[Token(Token = "0x6009DE6")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP384R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DE7 RID: 40423 RVA: 0x00243EF4 File Offset: 0x002420F4
|
||||
[Token(Token = "0x6009DE7")]
|
||||
[Address(RVA = "0x2060200", Offset = "0x205EC00", VA = "0x182060200", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("A335926AA319A27A1D00896A6773A4827ACDAC73");
|
||||
SecP384R1Curve secP384R1Curve = new SecP384R1Curve();
|
||||
byte[] array2 = Hex.Decode("04AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB73617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secP384R1Curve, array2);
|
||||
ECFieldElement b = secP384R1Curve.B;
|
||||
BigInteger order = secP384R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DE8 RID: 40424 RVA: 0x00243F40 File Offset: 0x00242140
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DE8")]
|
||||
[Address(RVA = "0x2060360", Offset = "0x205ED60", VA = "0x182060360")]
|
||||
static SecP384R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP384R1Holder secP384R1Holder = new CustomNamedCurves.SecP384R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E8 RID: 26600
|
||||
[Token(Token = "0x40067E8")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016EF RID: 5871
|
||||
[Token(Token = "0x20016EF")]
|
||||
internal class SecP521R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DE9 RID: 40425 RVA: 0x00243F54 File Offset: 0x00242154
|
||||
[Token(Token = "0x6009DE9")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecP521R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DEA RID: 40426 RVA: 0x00243F68 File Offset: 0x00242168
|
||||
[Token(Token = "0x6009DEA")]
|
||||
[Address(RVA = "0x20603C0", Offset = "0x205EDC0", VA = "0x1820603C0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("D09E8800291CB85396CC6717393284AAA0DA64BA");
|
||||
SecP521R1Curve secP521R1Curve = new SecP521R1Curve();
|
||||
byte[] array2 = Hex.Decode("0400C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secP521R1Curve, array2);
|
||||
ECFieldElement b = secP521R1Curve.B;
|
||||
BigInteger order = secP521R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DEB RID: 40427 RVA: 0x00243FB4 File Offset: 0x002421B4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DEB")]
|
||||
[Address(RVA = "0x2060520", Offset = "0x205EF20", VA = "0x182060520")]
|
||||
static SecP521R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecP521R1Holder secP521R1Holder = new CustomNamedCurves.SecP521R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067E9 RID: 26601
|
||||
[Token(Token = "0x40067E9")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F0 RID: 5872
|
||||
[Token(Token = "0x20016F0")]
|
||||
internal class SecT113R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DEC RID: 40428 RVA: 0x00243FC8 File Offset: 0x002421C8
|
||||
[Token(Token = "0x6009DEC")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT113R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DED RID: 40429 RVA: 0x00243FDC File Offset: 0x002421DC
|
||||
[Token(Token = "0x6009DED")]
|
||||
[Address(RVA = "0x2060580", Offset = "0x205EF80", VA = "0x182060580", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("10E723AB14D696E6768756151756FEBF8FCB49A9");
|
||||
SecT113R1Curve secT113R1Curve = new SecT113R1Curve();
|
||||
byte[] array2 = Hex.Decode("04009D73616F35F4AB1407D73562C10F00A52830277958EE84D1315ED31886");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT113R1Curve, array2);
|
||||
ECFieldElement b = secT113R1Curve.B;
|
||||
BigInteger order = secT113R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DEE RID: 40430 RVA: 0x00244028 File Offset: 0x00242228
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DEE")]
|
||||
[Address(RVA = "0x20606E0", Offset = "0x205F0E0", VA = "0x1820606E0")]
|
||||
static SecT113R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT113R1Holder secT113R1Holder = new CustomNamedCurves.SecT113R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067EA RID: 26602
|
||||
[Token(Token = "0x40067EA")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F1 RID: 5873
|
||||
[Token(Token = "0x20016F1")]
|
||||
internal class SecT113R2Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DEF RID: 40431 RVA: 0x0024403C File Offset: 0x0024223C
|
||||
[Token(Token = "0x6009DEF")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT113R2Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DF0 RID: 40432 RVA: 0x00244050 File Offset: 0x00242250
|
||||
[Token(Token = "0x6009DF0")]
|
||||
[Address(RVA = "0x2060740", Offset = "0x205F140", VA = "0x182060740", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("10C0FB15760860DEF1EEF4D696E676875615175D");
|
||||
SecT113R2Curve secT113R2Curve = new SecT113R2Curve();
|
||||
byte[] array2 = Hex.Decode("0401A57A6A7B26CA5EF52FCDB816479700B3ADC94ED1FE674C06E695BABA1D");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT113R2Curve, array2);
|
||||
ECFieldElement b = secT113R2Curve.B;
|
||||
BigInteger order = secT113R2Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DF1 RID: 40433 RVA: 0x0024409C File Offset: 0x0024229C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DF1")]
|
||||
[Address(RVA = "0x20608A0", Offset = "0x205F2A0", VA = "0x1820608A0")]
|
||||
static SecT113R2Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT113R2Holder secT113R2Holder = new CustomNamedCurves.SecT113R2Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067EB RID: 26603
|
||||
[Token(Token = "0x40067EB")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F2 RID: 5874
|
||||
[Token(Token = "0x20016F2")]
|
||||
internal class SecT131R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DF2 RID: 40434 RVA: 0x002440B0 File Offset: 0x002422B0
|
||||
[Token(Token = "0x6009DF2")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT131R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DF3 RID: 40435 RVA: 0x002440C4 File Offset: 0x002422C4
|
||||
[Token(Token = "0x6009DF3")]
|
||||
[Address(RVA = "0x2060900", Offset = "0x205F300", VA = "0x182060900", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("4D696E676875615175985BD3ADBADA21B43A97E2");
|
||||
SecT131R1Curve secT131R1Curve = new SecT131R1Curve();
|
||||
byte[] array2 = Hex.Decode("040081BAF91FDF9833C40F9C181343638399078C6E7EA38C001F73C8134B1B4EF9E150");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT131R1Curve, array2);
|
||||
ECFieldElement b = secT131R1Curve.B;
|
||||
BigInteger order = secT131R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DF4 RID: 40436 RVA: 0x00244110 File Offset: 0x00242310
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DF4")]
|
||||
[Address(RVA = "0x2060A60", Offset = "0x205F460", VA = "0x182060A60")]
|
||||
static SecT131R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT131R1Holder secT131R1Holder = new CustomNamedCurves.SecT131R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067EC RID: 26604
|
||||
[Token(Token = "0x40067EC")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F3 RID: 5875
|
||||
[Token(Token = "0x20016F3")]
|
||||
internal class SecT131R2Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DF5 RID: 40437 RVA: 0x00244124 File Offset: 0x00242324
|
||||
[Token(Token = "0x6009DF5")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT131R2Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DF6 RID: 40438 RVA: 0x00244138 File Offset: 0x00242338
|
||||
[Token(Token = "0x6009DF6")]
|
||||
[Address(RVA = "0x2060AC0", Offset = "0x205F4C0", VA = "0x182060AC0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("985BD3ADBAD4D696E676875615175A21B43A97E3");
|
||||
SecT131R2Curve secT131R2Curve = new SecT131R2Curve();
|
||||
byte[] array2 = Hex.Decode("040356DCD8F2F95031AD652D23951BB366A80648F06D867940A5366D9E265DE9EB240F");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT131R2Curve, array2);
|
||||
ECFieldElement b = secT131R2Curve.B;
|
||||
BigInteger order = secT131R2Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DF7 RID: 40439 RVA: 0x00244184 File Offset: 0x00242384
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DF7")]
|
||||
[Address(RVA = "0x2060C20", Offset = "0x205F620", VA = "0x182060C20")]
|
||||
static SecT131R2Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT131R2Holder secT131R2Holder = new CustomNamedCurves.SecT131R2Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067ED RID: 26605
|
||||
[Token(Token = "0x40067ED")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F4 RID: 5876
|
||||
[Token(Token = "0x20016F4")]
|
||||
internal class SecT163K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DF8 RID: 40440 RVA: 0x00244198 File Offset: 0x00242398
|
||||
[Token(Token = "0x6009DF8")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT163K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DF9 RID: 40441 RVA: 0x002441AC File Offset: 0x002423AC
|
||||
[Token(Token = "0x6009DF9")]
|
||||
[Address(RVA = "0x2060C80", Offset = "0x205F680", VA = "0x182060C80", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
SecT163K1Curve secT163K1Curve = new SecT163K1Curve();
|
||||
byte[] array = Hex.Decode("0402FE13C0537BBC11ACAA07D793DE4E6D5E5C94EEE80289070FB05D38FF58321F2E800536D538CCDAA3D9");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT163K1Curve, array);
|
||||
ECFieldElement b = secT163K1Curve.B;
|
||||
BigInteger order = secT163K1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DFA RID: 40442 RVA: 0x002441EC File Offset: 0x002423EC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DFA")]
|
||||
[Address(RVA = "0x2060DD0", Offset = "0x205F7D0", VA = "0x182060DD0")]
|
||||
static SecT163K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT163K1Holder secT163K1Holder = new CustomNamedCurves.SecT163K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067EE RID: 26606
|
||||
[Token(Token = "0x40067EE")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F5 RID: 5877
|
||||
[Token(Token = "0x20016F5")]
|
||||
internal class SecT163R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DFB RID: 40443 RVA: 0x00244200 File Offset: 0x00242400
|
||||
[Token(Token = "0x6009DFB")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT163R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DFC RID: 40444 RVA: 0x00244214 File Offset: 0x00242414
|
||||
[Token(Token = "0x6009DFC")]
|
||||
[Address(RVA = "0x2060E30", Offset = "0x205F830", VA = "0x182060E30", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("24B7B137C8A14D696E6768756151756FD0DA2E5C");
|
||||
SecT163R1Curve secT163R1Curve = new SecT163R1Curve();
|
||||
byte[] array2 = Hex.Decode("040369979697AB43897789566789567F787A7876A65400435EDB42EFAFB2989D51FEFCE3C80988F41FF883");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT163R1Curve, array2);
|
||||
ECFieldElement b = secT163R1Curve.B;
|
||||
BigInteger order = secT163R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009DFD RID: 40445 RVA: 0x00244260 File Offset: 0x00242460
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009DFD")]
|
||||
[Address(RVA = "0x2060F90", Offset = "0x205F990", VA = "0x182060F90")]
|
||||
static SecT163R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT163R1Holder secT163R1Holder = new CustomNamedCurves.SecT163R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067EF RID: 26607
|
||||
[Token(Token = "0x40067EF")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F6 RID: 5878
|
||||
[Token(Token = "0x20016F6")]
|
||||
internal class SecT163R2Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009DFE RID: 40446 RVA: 0x00244274 File Offset: 0x00242474
|
||||
[Token(Token = "0x6009DFE")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT163R2Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009DFF RID: 40447 RVA: 0x00244288 File Offset: 0x00242488
|
||||
[Token(Token = "0x6009DFF")]
|
||||
[Address(RVA = "0x2060FF0", Offset = "0x205F9F0", VA = "0x182060FF0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("85E25BFE5C86226CDB12016F7553F9D0E693A268");
|
||||
SecT163R2Curve secT163R2Curve = new SecT163R2Curve();
|
||||
byte[] array2 = Hex.Decode("0403F0EBA16286A2D57EA0991168D4994637E8343E3600D51FBC6C71A0094FA2CDD545B11C5C0C797324F1");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT163R2Curve, array2);
|
||||
ECFieldElement b = secT163R2Curve.B;
|
||||
BigInteger order = secT163R2Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E00 RID: 40448 RVA: 0x002442D4 File Offset: 0x002424D4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E00")]
|
||||
[Address(RVA = "0x2061150", Offset = "0x205FB50", VA = "0x182061150")]
|
||||
static SecT163R2Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT163R2Holder secT163R2Holder = new CustomNamedCurves.SecT163R2Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F0 RID: 26608
|
||||
[Token(Token = "0x40067F0")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F7 RID: 5879
|
||||
[Token(Token = "0x20016F7")]
|
||||
internal class SecT193R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E01 RID: 40449 RVA: 0x002442E8 File Offset: 0x002424E8
|
||||
[Token(Token = "0x6009E01")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT193R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E02 RID: 40450 RVA: 0x002442FC File Offset: 0x002424FC
|
||||
[Token(Token = "0x6009E02")]
|
||||
[Address(RVA = "0x20611B0", Offset = "0x205FBB0", VA = "0x1820611B0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("103FAEC74D696E676875615175777FC5B191EF30");
|
||||
SecT193R1Curve secT193R1Curve = new SecT193R1Curve();
|
||||
byte[] array2 = Hex.Decode("0401F481BC5F0FF84A74AD6CDF6FDEF4BF6179625372D8C0C5E10025E399F2903712CCF3EA9E3A1AD17FB0B3201B6AF7CE1B05");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT193R1Curve, array2);
|
||||
ECFieldElement b = secT193R1Curve.B;
|
||||
BigInteger order = secT193R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E03 RID: 40451 RVA: 0x00244348 File Offset: 0x00242548
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E03")]
|
||||
[Address(RVA = "0x2061310", Offset = "0x205FD10", VA = "0x182061310")]
|
||||
static SecT193R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT193R1Holder secT193R1Holder = new CustomNamedCurves.SecT193R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F1 RID: 26609
|
||||
[Token(Token = "0x40067F1")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F8 RID: 5880
|
||||
[Token(Token = "0x20016F8")]
|
||||
internal class SecT193R2Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E04 RID: 40452 RVA: 0x0024435C File Offset: 0x0024255C
|
||||
[Token(Token = "0x6009E04")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT193R2Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E05 RID: 40453 RVA: 0x00244370 File Offset: 0x00242570
|
||||
[Token(Token = "0x6009E05")]
|
||||
[Address(RVA = "0x2061370", Offset = "0x205FD70", VA = "0x182061370", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("10B7B4D696E676875615175137C8A16FD0DA2211");
|
||||
SecT193R2Curve secT193R2Curve = new SecT193R2Curve();
|
||||
byte[] array2 = Hex.Decode("0400D9B67D192E0367C803F39E1A7E82CA14A651350AAE617E8F01CE94335607C304AC29E7DEFBD9CA01F596F927224CDECF6C");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT193R2Curve, array2);
|
||||
ECFieldElement b = secT193R2Curve.B;
|
||||
BigInteger order = secT193R2Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E06 RID: 40454 RVA: 0x002443BC File Offset: 0x002425BC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E06")]
|
||||
[Address(RVA = "0x20614D0", Offset = "0x205FED0", VA = "0x1820614D0")]
|
||||
static SecT193R2Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT193R2Holder secT193R2Holder = new CustomNamedCurves.SecT193R2Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F2 RID: 26610
|
||||
[Token(Token = "0x40067F2")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016F9 RID: 5881
|
||||
[Token(Token = "0x20016F9")]
|
||||
internal class SecT233K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E07 RID: 40455 RVA: 0x002443D0 File Offset: 0x002425D0
|
||||
[Token(Token = "0x6009E07")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT233K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E08 RID: 40456 RVA: 0x002443E4 File Offset: 0x002425E4
|
||||
[Token(Token = "0x6009E08")]
|
||||
[Address(RVA = "0x2061530", Offset = "0x205FF30", VA = "0x182061530", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
SecT233K1Curve secT233K1Curve = new SecT233K1Curve();
|
||||
byte[] array = Hex.Decode("04017232BA853A7E731AF129F22FF4149563A419C26BF50A4C9D6EEFAD612601DB537DECE819B7F70F555A67C427A8CD9BF18AEB9B56E0C11056FAE6A3");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT233K1Curve, array);
|
||||
ECFieldElement b = secT233K1Curve.B;
|
||||
BigInteger order = secT233K1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E09 RID: 40457 RVA: 0x00244424 File Offset: 0x00242624
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E09")]
|
||||
[Address(RVA = "0x2061680", Offset = "0x2060080", VA = "0x182061680")]
|
||||
static SecT233K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT233K1Holder secT233K1Holder = new CustomNamedCurves.SecT233K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F3 RID: 26611
|
||||
[Token(Token = "0x40067F3")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016FA RID: 5882
|
||||
[Token(Token = "0x20016FA")]
|
||||
internal class SecT233R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E0A RID: 40458 RVA: 0x00244438 File Offset: 0x00242638
|
||||
[Token(Token = "0x6009E0A")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT233R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E0B RID: 40459 RVA: 0x0024444C File Offset: 0x0024264C
|
||||
[Token(Token = "0x6009E0B")]
|
||||
[Address(RVA = "0x20616E0", Offset = "0x20600E0", VA = "0x1820616E0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("74D59FF07F6B413D0EA14B344B20A2DB049B50C3");
|
||||
SecT233R1Curve secT233R1Curve = new SecT233R1Curve();
|
||||
byte[] array2 = Hex.Decode("0400FAC9DFCBAC8313BB2139F1BB755FEF65BC391F8B36F8F8EB7371FD558B01006A08A41903350678E58528BEBF8A0BEFF867A7CA36716F7E01F81052");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT233R1Curve, array2);
|
||||
ECFieldElement b = secT233R1Curve.B;
|
||||
BigInteger order = secT233R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E0C RID: 40460 RVA: 0x00244498 File Offset: 0x00242698
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E0C")]
|
||||
[Address(RVA = "0x2061840", Offset = "0x2060240", VA = "0x182061840")]
|
||||
static SecT233R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT233R1Holder secT233R1Holder = new CustomNamedCurves.SecT233R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F4 RID: 26612
|
||||
[Token(Token = "0x40067F4")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016FB RID: 5883
|
||||
[Token(Token = "0x20016FB")]
|
||||
internal class SecT239K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E0D RID: 40461 RVA: 0x002444AC File Offset: 0x002426AC
|
||||
[Token(Token = "0x6009E0D")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT239K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E0E RID: 40462 RVA: 0x002444C0 File Offset: 0x002426C0
|
||||
[Token(Token = "0x6009E0E")]
|
||||
[Address(RVA = "0x20618A0", Offset = "0x20602A0", VA = "0x1820618A0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
SecT239K1Curve secT239K1Curve = new SecT239K1Curve();
|
||||
byte[] array = Hex.Decode("0429A0B6A887A983E9730988A68727A8B2D126C44CC2CC7B2A6555193035DC76310804F12E549BDB011C103089E73510ACB275FC312A5DC6B76553F0CA");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT239K1Curve, array);
|
||||
ECFieldElement b = secT239K1Curve.B;
|
||||
BigInteger order = secT239K1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E0F RID: 40463 RVA: 0x00244500 File Offset: 0x00242700
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E0F")]
|
||||
[Address(RVA = "0x20619F0", Offset = "0x20603F0", VA = "0x1820619F0")]
|
||||
static SecT239K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT239K1Holder secT239K1Holder = new CustomNamedCurves.SecT239K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F5 RID: 26613
|
||||
[Token(Token = "0x40067F5")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016FC RID: 5884
|
||||
[Token(Token = "0x20016FC")]
|
||||
internal class SecT283K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E10 RID: 40464 RVA: 0x00244514 File Offset: 0x00242714
|
||||
[Token(Token = "0x6009E10")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT283K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E11 RID: 40465 RVA: 0x00244528 File Offset: 0x00242728
|
||||
[Token(Token = "0x6009E11")]
|
||||
[Address(RVA = "0x2061A50", Offset = "0x2060450", VA = "0x182061A50", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
SecT283K1Curve secT283K1Curve = new SecT283K1Curve();
|
||||
byte[] array = Hex.Decode("040503213F78CA44883F1A3B8162F188E553CD265F23C1567A16876913B0C2AC245849283601CCDA380F1C9E318D90F95D07E5426FE87E45C0E8184698E45962364E34116177DD2259");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT283K1Curve, array);
|
||||
ECFieldElement b = secT283K1Curve.B;
|
||||
BigInteger order = secT283K1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E12 RID: 40466 RVA: 0x00244568 File Offset: 0x00242768
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E12")]
|
||||
[Address(RVA = "0x2061BA0", Offset = "0x20605A0", VA = "0x182061BA0")]
|
||||
static SecT283K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT283K1Holder secT283K1Holder = new CustomNamedCurves.SecT283K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F6 RID: 26614
|
||||
[Token(Token = "0x40067F6")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016FD RID: 5885
|
||||
[Token(Token = "0x20016FD")]
|
||||
internal class SecT283R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E13 RID: 40467 RVA: 0x0024457C File Offset: 0x0024277C
|
||||
[Token(Token = "0x6009E13")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT283R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E14 RID: 40468 RVA: 0x00244590 File Offset: 0x00242790
|
||||
[Token(Token = "0x6009E14")]
|
||||
[Address(RVA = "0x2061C00", Offset = "0x2060600", VA = "0x182061C00", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("77E2B07370EB0F832A6DD5B62DFC88CD06BB84BE");
|
||||
SecT283R1Curve secT283R1Curve = new SecT283R1Curve();
|
||||
byte[] array2 = Hex.Decode("0405F939258DB7DD90E1934F8C70B0DFEC2EED25B8557EAC9C80E2E198F8CDBECD86B1205303676854FE24141CB98FE6D4B20D02B4516FF702350EDDB0826779C813F0DF45BE8112F4");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT283R1Curve, array2);
|
||||
ECFieldElement b = secT283R1Curve.B;
|
||||
BigInteger order = secT283R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E15 RID: 40469 RVA: 0x002445DC File Offset: 0x002427DC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E15")]
|
||||
[Address(RVA = "0x2061D60", Offset = "0x2060760", VA = "0x182061D60")]
|
||||
static SecT283R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT283R1Holder secT283R1Holder = new CustomNamedCurves.SecT283R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F7 RID: 26615
|
||||
[Token(Token = "0x40067F7")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016FE RID: 5886
|
||||
[Token(Token = "0x20016FE")]
|
||||
internal class SecT409K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E16 RID: 40470 RVA: 0x002445F0 File Offset: 0x002427F0
|
||||
[Token(Token = "0x6009E16")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT409K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E17 RID: 40471 RVA: 0x00244604 File Offset: 0x00242804
|
||||
[Token(Token = "0x6009E17")]
|
||||
[Address(RVA = "0x2061DC0", Offset = "0x20607C0", VA = "0x182061DC0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
SecT409K1Curve secT409K1Curve = new SecT409K1Curve();
|
||||
byte[] array = Hex.Decode("040060F05F658F49C1AD3AB1890F7184210EFD0987E307C84C27ACCFB8F9F67CC2C460189EB5AAAA62EE222EB1B35540CFE902374601E369050B7C4E42ACBA1DACBF04299C3460782F918EA427E6325165E9EA10E3DA5F6C42E9C55215AA9CA27A5863EC48D8E0286B");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT409K1Curve, array);
|
||||
ECFieldElement b = secT409K1Curve.B;
|
||||
BigInteger order = secT409K1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E18 RID: 40472 RVA: 0x00244644 File Offset: 0x00242844
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E18")]
|
||||
[Address(RVA = "0x2061F10", Offset = "0x2060910", VA = "0x182061F10")]
|
||||
static SecT409K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT409K1Holder secT409K1Holder = new CustomNamedCurves.SecT409K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F8 RID: 26616
|
||||
[Token(Token = "0x40067F8")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x020016FF RID: 5887
|
||||
[Token(Token = "0x20016FF")]
|
||||
internal class SecT409R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E19 RID: 40473 RVA: 0x00244658 File Offset: 0x00242858
|
||||
[Token(Token = "0x6009E19")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT409R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E1A RID: 40474 RVA: 0x0024466C File Offset: 0x0024286C
|
||||
[Token(Token = "0x6009E1A")]
|
||||
[Address(RVA = "0x2061F70", Offset = "0x2060970", VA = "0x182061F70", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("4099B5A457F9D69F79213D094C4BCD4D4262210B");
|
||||
SecT409R1Curve secT409R1Curve = new SecT409R1Curve();
|
||||
byte[] array2 = Hex.Decode("04015D4860D088DDB3496B0C6064756260441CDE4AF1771D4DB01FFE5B34E59703DC255A868A1180515603AEAB60794E54BB7996A70061B1CFAB6BE5F32BBFA78324ED106A7636B9C5A7BD198D0158AA4F5488D08F38514F1FDF4B4F40D2181B3681C364BA0273C706");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT409R1Curve, array2);
|
||||
ECFieldElement b = secT409R1Curve.B;
|
||||
BigInteger order = secT409R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E1B RID: 40475 RVA: 0x002446B8 File Offset: 0x002428B8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E1B")]
|
||||
[Address(RVA = "0x20620D0", Offset = "0x2060AD0", VA = "0x1820620D0")]
|
||||
static SecT409R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT409R1Holder secT409R1Holder = new CustomNamedCurves.SecT409R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067F9 RID: 26617
|
||||
[Token(Token = "0x40067F9")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x02001700 RID: 5888
|
||||
[Token(Token = "0x2001700")]
|
||||
internal class SecT571K1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E1C RID: 40476 RVA: 0x002446CC File Offset: 0x002428CC
|
||||
[Token(Token = "0x6009E1C")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT571K1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E1D RID: 40477 RVA: 0x002446E0 File Offset: 0x002428E0
|
||||
[Token(Token = "0x6009E1D")]
|
||||
[Address(RVA = "0x2062130", Offset = "0x2060B30", VA = "0x182062130", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
SecT571K1Curve secT571K1Curve = new SecT571K1Curve();
|
||||
byte[] array = Hex.Decode("04026EB7A859923FBC82189631F8103FE4AC9CA2970012D5D46024804801841CA44370958493B205E647DA304DB4CEB08CBBD1BA39494776FB988B47174DCA88C7E2945283A01C89720349DC807F4FBF374F4AEADE3BCA95314DD58CEC9F307A54FFC61EFC006D8A2C9D4979C0AC44AEA74FBEBBB9F772AEDCB620B01A7BA7AF1B320430C8591984F601CD4C143EF1C7A3");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT571K1Curve, array);
|
||||
ECFieldElement b = secT571K1Curve.B;
|
||||
BigInteger order = secT571K1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E1E RID: 40478 RVA: 0x00244720 File Offset: 0x00242920
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E1E")]
|
||||
[Address(RVA = "0x2062280", Offset = "0x2060C80", VA = "0x182062280")]
|
||||
static SecT571K1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT571K1Holder secT571K1Holder = new CustomNamedCurves.SecT571K1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067FA RID: 26618
|
||||
[Token(Token = "0x40067FA")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x02001701 RID: 5889
|
||||
[Token(Token = "0x2001701")]
|
||||
internal class SecT571R1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E1F RID: 40479 RVA: 0x00244734 File Offset: 0x00242934
|
||||
[Token(Token = "0x6009E1F")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SecT571R1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E20 RID: 40480 RVA: 0x00244748 File Offset: 0x00242948
|
||||
[Token(Token = "0x6009E20")]
|
||||
[Address(RVA = "0x20622E0", Offset = "0x2060CE0", VA = "0x1820622E0", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
byte[] array = Hex.Decode("2AA058F73A0E33AB486B0F610410C53A7F132310");
|
||||
SecT571R1Curve secT571R1Curve = new SecT571R1Curve();
|
||||
byte[] array2 = Hex.Decode("040303001D34B856296C16C0D40D3CD7750A93D1D2955FA80AA5F40FC8DB7B2ABDBDE53950F4C0D293CDD711A35B67FB1499AE60038614F1394ABFA3B4C850D927E1E7769C8EEC2D19037BF27342DA639B6DCCFFFEB73D69D78C6C27A6009CBBCA1980F8533921E8A684423E43BAB08A576291AF8F461BB2A8B3531D2F0485C19B16E2F1516E23DD3C1A4827AF1B8AC15B");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(secT571R1Curve, array2);
|
||||
ECFieldElement b = secT571R1Curve.B;
|
||||
BigInteger order = secT571R1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E21 RID: 40481 RVA: 0x00244794 File Offset: 0x00242994
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E21")]
|
||||
[Address(RVA = "0x2062440", Offset = "0x2060E40", VA = "0x182062440")]
|
||||
static SecT571R1Holder()
|
||||
{
|
||||
CustomNamedCurves.SecT571R1Holder secT571R1Holder = new CustomNamedCurves.SecT571R1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067FB RID: 26619
|
||||
[Token(Token = "0x40067FB")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
|
||||
// Token: 0x02001702 RID: 5890
|
||||
[Token(Token = "0x2001702")]
|
||||
internal class SM2P256V1Holder : X9ECParametersHolder
|
||||
{
|
||||
// Token: 0x06009E22 RID: 40482 RVA: 0x002447A8 File Offset: 0x002429A8
|
||||
[Token(Token = "0x6009E22")]
|
||||
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
|
||||
private SM2P256V1Holder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009E23 RID: 40483 RVA: 0x002447BC File Offset: 0x002429BC
|
||||
[Token(Token = "0x6009E23")]
|
||||
[Address(RVA = "0x205E350", Offset = "0x205CD50", VA = "0x18205E350", Slot = "4")]
|
||||
protected override X9ECParameters CreateParameters()
|
||||
{
|
||||
SM2P256V1Curve sm2P256V1Curve = new SM2P256V1Curve();
|
||||
byte[] array = Hex.Decode("0432C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0");
|
||||
X9ECPoint x9ECPoint = new X9ECPoint(sm2P256V1Curve, array);
|
||||
ECFieldElement b = sm2P256V1Curve.B;
|
||||
BigInteger order = sm2P256V1Curve.Order;
|
||||
X9ECParameters x9ECParameters;
|
||||
return x9ECParameters;
|
||||
}
|
||||
|
||||
// Token: 0x06009E24 RID: 40484 RVA: 0x002447FC File Offset: 0x002429FC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009E24")]
|
||||
[Address(RVA = "0x205E4A0", Offset = "0x205CEA0", VA = "0x18205E4A0")]
|
||||
static SM2P256V1Holder()
|
||||
{
|
||||
CustomNamedCurves.SM2P256V1Holder sm2P256V1Holder = new CustomNamedCurves.SM2P256V1Holder();
|
||||
}
|
||||
|
||||
// Token: 0x040067FC RID: 26620
|
||||
[Token(Token = "0x40067FC")]
|
||||
internal static readonly X9ECParametersHolder Instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
+272
@@ -0,0 +1,272 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Encodings
|
||||
{
|
||||
// Token: 0x020016DF RID: 5855
|
||||
[Token(Token = "0x20016DF")]
|
||||
[StructLayout(3)]
|
||||
public class ISO9796d1Encoding : IAsymmetricBlockCipher
|
||||
{
|
||||
// Token: 0x06009D8D RID: 40333 RVA: 0x00242330 File Offset: 0x00240530
|
||||
[Token(Token = "0x6009D8D")]
|
||||
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
|
||||
public ISO9796d1Encoding(IAsymmetricBlockCipher cipher)
|
||||
{
|
||||
this.engine = cipher;
|
||||
}
|
||||
|
||||
// Token: 0x17001902 RID: 6402
|
||||
// (get) Token: 0x06009D8E RID: 40334 RVA: 0x0024234C File Offset: 0x0024054C
|
||||
[Token(Token = "0x17001902")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009D8E")]
|
||||
[Address(RVA = "0x205BF90", Offset = "0x205A990", VA = "0x18205BF90", Slot = "4")]
|
||||
get
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
return 0 + "/ISO9796-1Padding";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009D8F RID: 40335 RVA: 0x00242374 File Offset: 0x00240574
|
||||
[Token(Token = "0x6009D8F")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
|
||||
public IAsymmetricBlockCipher GetUnderlyingCipher()
|
||||
{
|
||||
return this.engine;
|
||||
}
|
||||
|
||||
// Token: 0x06009D90 RID: 40336 RVA: 0x00242388 File Offset: 0x00240588
|
||||
[Token(Token = "0x6009D90")]
|
||||
[Address(RVA = "0x205BC10", Offset = "0x205A610", VA = "0x18205BC10", Slot = "5")]
|
||||
public void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
while (parameters != 0)
|
||||
{
|
||||
if ((parameters != 0 || parameters != 0) && parameters != 0 && parameters != 0)
|
||||
{
|
||||
if (parameters == 0)
|
||||
{
|
||||
IL_2A:
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
this.modulus = (uint)1;
|
||||
this.forEncryption = forEncryption;
|
||||
int num;
|
||||
this.bitSize = num;
|
||||
return;
|
||||
}
|
||||
if (parameters != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
goto IL_2A;
|
||||
}
|
||||
|
||||
// Token: 0x06009D91 RID: 40337 RVA: 0x002423E4 File Offset: 0x002405E4
|
||||
[Token(Token = "0x6009D91")]
|
||||
[Address(RVA = "0x205BB50", Offset = "0x205A550", VA = "0x18205BB50", Slot = "6")]
|
||||
public int GetInputBlockSize()
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
if (this.inverse != (ulong)0L)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009D92 RID: 40338 RVA: 0x00242408 File Offset: 0x00240608
|
||||
[Token(Token = "0x6009D92")]
|
||||
[Address(RVA = "0x205BBB0", Offset = "0x205A5B0", VA = "0x18205BBB0", Slot = "7")]
|
||||
public int GetOutputBlockSize()
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
if (this.inverse == (ulong)0L)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009D93 RID: 40339 RVA: 0x0024242C File Offset: 0x0024062C
|
||||
[Token(Token = "0x6009D93")]
|
||||
[Address(RVA = "0x205BE30", Offset = "0x205A830", VA = "0x18205BE30")]
|
||||
public void SetPadBits(int padBits)
|
||||
{
|
||||
this.padBits = padBits;
|
||||
}
|
||||
|
||||
// Token: 0x06009D94 RID: 40340 RVA: 0x0024244C File Offset: 0x0024064C
|
||||
[Token(Token = "0x6009D94")]
|
||||
[Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40")]
|
||||
public int GetPadBits()
|
||||
{
|
||||
return this.padBits;
|
||||
}
|
||||
|
||||
// Token: 0x06009D95 RID: 40341 RVA: 0x00242460 File Offset: 0x00240660
|
||||
[Token(Token = "0x6009D95")]
|
||||
[Address(RVA = "0x205BE00", Offset = "0x205A800", VA = "0x18205BE00", Slot = "8")]
|
||||
public byte[] ProcessBlock(byte[] input, int inOff, int length)
|
||||
{
|
||||
if (this.inverse == (ulong)0L)
|
||||
{
|
||||
return this.DecodeBlock(input, inOff, length);
|
||||
}
|
||||
return this.EncodeBlock(input, inOff, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009D96 RID: 40342 RVA: 0x0024248C File Offset: 0x0024068C
|
||||
[Token(Token = "0x6009D96")]
|
||||
[Address(RVA = "0x205B7C0", Offset = "0x205A1C0", VA = "0x18205B7C0")]
|
||||
private byte[] EncodeBlock(byte[] input, int inOff, int inLen)
|
||||
{
|
||||
int num = this.bitSize;
|
||||
num += 7;
|
||||
byte[] array = new byte[input];
|
||||
int num2 = this.padBits;
|
||||
int num3 = this.bitSize;
|
||||
num2++;
|
||||
num3 += 13;
|
||||
int num4 = 0;
|
||||
num3 += input;
|
||||
if (num3 > 0)
|
||||
{
|
||||
num3 -= inLen;
|
||||
int num5 = array.Length;
|
||||
num5 -= num4;
|
||||
num5 -= inLen;
|
||||
int num6 = array.Length;
|
||||
num6 -= inLen;
|
||||
num4 += inLen;
|
||||
num3 = inLen - inLen;
|
||||
}
|
||||
int num7 = array.Length;
|
||||
num7 -= num3;
|
||||
int length = array.Length;
|
||||
int num8;
|
||||
if (num7 != length)
|
||||
{
|
||||
num3 = num7;
|
||||
num3 -= 0;
|
||||
num3 -= num3;
|
||||
num8 = ISO9796d1Encoding.shadows.Length;
|
||||
num8 = num7;
|
||||
num8++;
|
||||
num7 += 2;
|
||||
}
|
||||
byte b;
|
||||
num8 -= (int)b;
|
||||
int length2 = array.Length;
|
||||
if (length2 - 1 < length2)
|
||||
{
|
||||
}
|
||||
uint num9;
|
||||
byte b2;
|
||||
num9 -= (uint)b2;
|
||||
int length3 = array.Length;
|
||||
if (num9 == (uint)8)
|
||||
{
|
||||
array[0] = (byte)((ulong)0L);
|
||||
}
|
||||
uint num10;
|
||||
array[0] = (byte)num10;
|
||||
uint num11;
|
||||
array[0] = (byte)num11;
|
||||
int num12 = 0;
|
||||
int num13 = array.Length;
|
||||
num13 -= num12;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009D97 RID: 40343 RVA: 0x002425A4 File Offset: 0x002407A4
|
||||
[Token(Token = "0x6009D97")]
|
||||
[Address(RVA = "0x205B1C0", Offset = "0x2059BC0", VA = "0x18205B1C0")]
|
||||
private byte[] DecodeBlock(byte[] input, int inOff, int inLen)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009D97)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding::DecodeBlock(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_140:
|
||||
stloc:InvalidCipherTextException(var_33_14A, newobj:InvalidCipherTextException(InvalidCipherTextException::.ctor, ldstr:string("resulting integer iS or (modulus - iS) is not congruent to 6 mod 16")))
|
||||
}
|
||||
|
||||
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: 0x06009D98 RID: 40344 RVA: 0x002426FC File Offset: 0x002408FC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009D98")]
|
||||
[Address(RVA = "0x205BEA0", Offset = "0x205A8A0", VA = "0x18205BEA0")]
|
||||
static ISO9796d1Encoding()
|
||||
{
|
||||
BigInteger bigInteger;
|
||||
ISO9796d1Encoding.Sixteen = bigInteger;
|
||||
BigInteger bigInteger2;
|
||||
ISO9796d1Encoding.Six = bigInteger2;
|
||||
byte[] array = new byte[16];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.27C3AB82CCA6CE2F199F4F670BF19513A3825B87).FieldHandle);
|
||||
ISO9796d1Encoding.shadows = array;
|
||||
byte[] array2 = new byte[16];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.30F65A149AF7DE938A9287048498B966AEBE54D4).FieldHandle);
|
||||
ISO9796d1Encoding.inverse = array2;
|
||||
}
|
||||
|
||||
// Token: 0x040067BF RID: 26559
|
||||
[Token(Token = "0x40067BF")]
|
||||
private static readonly BigInteger Sixteen;
|
||||
|
||||
// Token: 0x040067C0 RID: 26560
|
||||
[Token(Token = "0x40067C0")]
|
||||
private static readonly BigInteger Six;
|
||||
|
||||
// Token: 0x040067C1 RID: 26561
|
||||
[Token(Token = "0x40067C1")]
|
||||
private static readonly byte[] shadows;
|
||||
|
||||
// Token: 0x040067C2 RID: 26562
|
||||
[Token(Token = "0x40067C2")]
|
||||
private static readonly byte[] inverse;
|
||||
|
||||
// Token: 0x040067C3 RID: 26563
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40067C3")]
|
||||
private readonly IAsymmetricBlockCipher engine;
|
||||
|
||||
// Token: 0x040067C4 RID: 26564
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40067C4")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x040067C5 RID: 26565
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x40067C5")]
|
||||
private int bitSize;
|
||||
|
||||
// Token: 0x040067C6 RID: 26566
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40067C6")]
|
||||
private int padBits;
|
||||
|
||||
// Token: 0x040067C7 RID: 26567
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40067C7")]
|
||||
private BigInteger modulus;
|
||||
}
|
||||
}
|
||||
+362
@@ -0,0 +1,362 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Encodings
|
||||
{
|
||||
// Token: 0x020016E0 RID: 5856
|
||||
[Token(Token = "0x20016E0")]
|
||||
[StructLayout(3)]
|
||||
public class OaepEncoding : IAsymmetricBlockCipher
|
||||
{
|
||||
// Token: 0x06009D99 RID: 40345 RVA: 0x00242748 File Offset: 0x00240948
|
||||
[Token(Token = "0x6009D99")]
|
||||
[Address(RVA = "0x205CAE0", Offset = "0x205B4E0", VA = "0x18205CAE0")]
|
||||
public OaepEncoding(IAsymmetricBlockCipher cipher)
|
||||
{
|
||||
Sha1Digest sha1Digest = new Sha1Digest();
|
||||
}
|
||||
|
||||
// Token: 0x06009D9A RID: 40346 RVA: 0x0024275C File Offset: 0x0024095C
|
||||
[Token(Token = "0x6009D9A")]
|
||||
[Address(RVA = "0x205CAC0", Offset = "0x205B4C0", VA = "0x18205CAC0")]
|
||||
public OaepEncoding(IAsymmetricBlockCipher cipher, IDigest hash)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009D9B RID: 40347 RVA: 0x0024276C File Offset: 0x0024096C
|
||||
[Token(Token = "0x6009D9B")]
|
||||
[Address(RVA = "0x205CB60", Offset = "0x205B560", VA = "0x18205CB60")]
|
||||
public OaepEncoding(IAsymmetricBlockCipher cipher, IDigest hash, byte[] encodingParams)
|
||||
{
|
||||
this.engine = cipher;
|
||||
this.mgf1Hash = hash;
|
||||
byte[] array = new byte[0];
|
||||
this.defHash = array;
|
||||
if (encodingParams != 0)
|
||||
{
|
||||
int length = encodingParams.Length;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009D9C RID: 40348 RVA: 0x002427B0 File Offset: 0x002409B0
|
||||
[Token(Token = "0x6009D9C")]
|
||||
[Address(RVA = "0x205C9D0", Offset = "0x205B3D0", VA = "0x18205C9D0")]
|
||||
public OaepEncoding(IAsymmetricBlockCipher cipher, IDigest hash, IDigest mgf1Hash, byte[] encodingParams)
|
||||
{
|
||||
this.engine = cipher;
|
||||
this.mgf1Hash = mgf1Hash;
|
||||
byte[] array = new byte[0];
|
||||
this.defHash = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009D9D RID: 40349 RVA: 0x002427E8 File Offset: 0x002409E8
|
||||
[Token(Token = "0x6009D9D")]
|
||||
[Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")]
|
||||
public IAsymmetricBlockCipher GetUnderlyingCipher()
|
||||
{
|
||||
return this.engine;
|
||||
}
|
||||
|
||||
// Token: 0x17001903 RID: 6403
|
||||
// (get) Token: 0x06009D9E RID: 40350 RVA: 0x002427FC File Offset: 0x002409FC
|
||||
[Token(Token = "0x17001903")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009D9E")]
|
||||
[Address(RVA = "0x205CC50", Offset = "0x205B650", VA = "0x18205CC50", Slot = "4")]
|
||||
get
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
return 0 + "/OAEPPadding";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009D9F RID: 40351 RVA: 0x00242824 File Offset: 0x00240A24
|
||||
[Token(Token = "0x6009D9F")]
|
||||
[Address(RVA = "0x205C880", Offset = "0x205B280", VA = "0x18205C880", Slot = "5")]
|
||||
public void Init(bool forEncryption, ICipherParameters param)
|
||||
{
|
||||
while (param != 0 && param != 0 && param == 0)
|
||||
{
|
||||
}
|
||||
SecureRandom secureRandom = new SecureRandom();
|
||||
this.random = secureRandom;
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
this.forEncryption = forEncryption;
|
||||
}
|
||||
|
||||
// Token: 0x06009DA0 RID: 40352 RVA: 0x00242864 File Offset: 0x00240A64
|
||||
[Token(Token = "0x6009DA0")]
|
||||
[Address(RVA = "0x205C7A0", Offset = "0x205B1A0", VA = "0x18205C7A0", Slot = "6")]
|
||||
public int GetInputBlockSize()
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
if (this.forEncryption)
|
||||
{
|
||||
int num = this.defHash.Length;
|
||||
num += num;
|
||||
uint num2;
|
||||
num2 -= (uint)num;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DA1 RID: 40353 RVA: 0x0024289C File Offset: 0x00240A9C
|
||||
[Token(Token = "0x6009DA1")]
|
||||
[Address(RVA = "0x205C810", Offset = "0x205B210", VA = "0x18205C810", Slot = "7")]
|
||||
public int GetOutputBlockSize()
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
if (!this.forEncryption)
|
||||
{
|
||||
int num = this.defHash.Length;
|
||||
num += num;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DA2 RID: 40354 RVA: 0x002428D0 File Offset: 0x00240AD0
|
||||
[Token(Token = "0x6009DA2")]
|
||||
[Address(RVA = "0x205C9A0", Offset = "0x205B3A0", VA = "0x18205C9A0", Slot = "8")]
|
||||
public byte[] ProcessBlock(byte[] inBytes, int inOff, int inLen)
|
||||
{
|
||||
if (!this.forEncryption)
|
||||
{
|
||||
return this.DecodeBlock(inBytes, inOff, inLen);
|
||||
}
|
||||
return this.EncodeBlock(inBytes, inOff, inLen);
|
||||
}
|
||||
|
||||
// Token: 0x06009DA3 RID: 40355 RVA: 0x002428FC File Offset: 0x00240AFC
|
||||
[Token(Token = "0x6009DA3")]
|
||||
[Address(RVA = "0x205C400", Offset = "0x205AE00", VA = "0x18205C400")]
|
||||
private byte[] EncodeBlock(byte[] inBytes, int inOff, int inLen)
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
uint num2;
|
||||
if (this.forEncryption)
|
||||
{
|
||||
int num = this.defHash.Length;
|
||||
num += num;
|
||||
num2 -= (uint)num;
|
||||
}
|
||||
Check.DataLength(inLen > (int)num2, "input data too long");
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher2 = this.engine;
|
||||
byte[] array = this.defHash;
|
||||
if (this.forEncryption)
|
||||
{
|
||||
int num3 = array.Length;
|
||||
num3 += num3;
|
||||
}
|
||||
int num4 = array.Length;
|
||||
num4 += num4;
|
||||
num4++;
|
||||
byte[] array2 = new byte[0];
|
||||
int num5 = array2.Length;
|
||||
int num6 = 0;
|
||||
num5 -= inLen;
|
||||
Array.Copy(inBytes, inOff, array2, num5, inLen);
|
||||
int num7 = array2.Length;
|
||||
num7 -= inLen;
|
||||
byte[] array3 = this.defHash;
|
||||
int length = array3.Length;
|
||||
int num8 = 0;
|
||||
Array.Copy(array3, num8, array2, length, length);
|
||||
byte[] array4 = this.defHash;
|
||||
SecureRandom secureRandom = this.random;
|
||||
int length2 = array4.Length;
|
||||
byte[] nextBytes = SecureRandom.GetNextBytes(secureRandom, length2);
|
||||
byte[] array5 = this.defHash;
|
||||
int length3 = array2.Length;
|
||||
int num9 = 0;
|
||||
int length4 = nextBytes.Length;
|
||||
byte[] array6 = this.maskGeneratorFunction1(nextBytes, num9, length4, length3);
|
||||
int num10 = this.defHash.Length;
|
||||
if (num10 != array2.Length)
|
||||
{
|
||||
byte[] array7 = this.defHash;
|
||||
num10++;
|
||||
}
|
||||
int length5 = this.defHash.Length;
|
||||
int num11 = 0;
|
||||
int num12 = 0;
|
||||
Array.Copy(nextBytes, num12, array2, num11, length5);
|
||||
int length6 = this.defHash.Length;
|
||||
int num13 = array2.Length;
|
||||
num13 -= length6;
|
||||
byte[] array8 = this.maskGeneratorFunction1(array2, length6, num13, length6);
|
||||
byte[] array9 = this.defHash;
|
||||
if (num6 != array9.Length)
|
||||
{
|
||||
num6++;
|
||||
byte[] array10 = this.defHash;
|
||||
}
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher3 = this.engine;
|
||||
int length7 = array2.Length;
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DA4 RID: 40356 RVA: 0x00242AD4 File Offset: 0x00240CD4
|
||||
[Token(Token = "0x6009DA4")]
|
||||
[Address(RVA = "0x205BFF0", Offset = "0x205A9F0", VA = "0x18205BFF0")]
|
||||
private byte[] DecodeBlock(byte[] inBytes, int inOff, int inLen)
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher2 = this.engine;
|
||||
byte[] array = new byte[0];
|
||||
int length = this.defHash.Length;
|
||||
int num = array.Length;
|
||||
num -= typeof(IAsymmetricBlockCipher).TypeHandle;
|
||||
int num2 = 0;
|
||||
int length2 = this.defHash.Length;
|
||||
int num3 = array.Length;
|
||||
num3 -= length2;
|
||||
byte[] array2 = this.maskGeneratorFunction1(array, length2, num3, length2);
|
||||
byte[] array3 = this.defHash;
|
||||
byte[] array4;
|
||||
if (num2 != array3.Length)
|
||||
{
|
||||
num2++;
|
||||
array4 = this.defHash;
|
||||
}
|
||||
int num4 = array.Length;
|
||||
int num5 = 0;
|
||||
int length3 = array4.Length;
|
||||
num4 -= length3;
|
||||
byte[] array5 = this.maskGeneratorFunction1(array, num5, length3, num4);
|
||||
int num6 = this.defHash.Length;
|
||||
int num7 = array.Length;
|
||||
if (num6 != num7)
|
||||
{
|
||||
byte[] array6 = this.defHash;
|
||||
num7 = num6;
|
||||
num6++;
|
||||
}
|
||||
int length4 = this.defHash.Length;
|
||||
if (num2 != length4)
|
||||
{
|
||||
num2++;
|
||||
}
|
||||
if (num2 != num7)
|
||||
{
|
||||
num2++;
|
||||
bool flag = num7 == num7;
|
||||
}
|
||||
num7++;
|
||||
int num8 = num7 - 1;
|
||||
num7 -= num7;
|
||||
byte[] array7 = new byte[num7];
|
||||
int length5 = array7.Length;
|
||||
int num9 = 0;
|
||||
Array.Copy(array, num7, array7, num9, length5);
|
||||
return array7;
|
||||
}
|
||||
|
||||
// Token: 0x06009DA5 RID: 40357 RVA: 0x00242C30 File Offset: 0x00240E30
|
||||
[Token(Token = "0x6009DA5")]
|
||||
[Address(RVA = "0x1E44410", Offset = "0x1E42E10", VA = "0x181E44410")]
|
||||
private void ItoOSP(int i, byte[] sp)
|
||||
{
|
||||
sp[0] = (byte)i;
|
||||
sp[0] = (byte)i;
|
||||
sp[0] = (byte)i;
|
||||
sp[0] = (byte)i;
|
||||
}
|
||||
|
||||
// Token: 0x06009DA6 RID: 40358 RVA: 0x00242C64 File Offset: 0x00240E64
|
||||
[Token(Token = "0x6009DA6")]
|
||||
[Address(RVA = "0x205CCB0", Offset = "0x205B6B0", VA = "0x18205CCB0")]
|
||||
private byte[] maskGeneratorFunction1(byte[] Z, int zOff, int zLen, int length)
|
||||
{
|
||||
byte[] array = new byte[0];
|
||||
IDigest digest = this.mgf1Hash;
|
||||
byte[] array2 = new byte[array];
|
||||
byte[] array3 = new byte[4];
|
||||
IDigest digest2 = this.mgf1Hash;
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int length2 = array2.Length;
|
||||
array3[0] = (byte)num;
|
||||
array3[0] = (byte)num;
|
||||
array3[0] = (byte)num;
|
||||
array3[0] = (byte)num;
|
||||
IDigest digest3 = this.mgf1Hash;
|
||||
if (num2 < num2)
|
||||
{
|
||||
num2 += num2;
|
||||
num2++;
|
||||
}
|
||||
IDigest digest4 = this.mgf1Hash;
|
||||
int num3 = 0;
|
||||
num3 += num3;
|
||||
num3++;
|
||||
int num4 = 0;
|
||||
IDigest digest5 = this.mgf1Hash;
|
||||
int num5 = 0;
|
||||
if (num5 < num4)
|
||||
{
|
||||
num5 += num5;
|
||||
num5++;
|
||||
}
|
||||
int num6 = array2.Length;
|
||||
int num7 = num6 * num;
|
||||
int num8 = 0;
|
||||
Array.Copy(array2, num8, array, num7, num6);
|
||||
num++;
|
||||
num8 += num8;
|
||||
num6 += 4;
|
||||
num6 += 19;
|
||||
num8 += num8;
|
||||
num6 += 4;
|
||||
num6 += 19;
|
||||
num8 += num8;
|
||||
num6 += 5;
|
||||
num6 += 19;
|
||||
array3[0] = (byte)num;
|
||||
array3[0] = (byte)num;
|
||||
array3[0] = (byte)num;
|
||||
array3[0] = (byte)num;
|
||||
IDigest digest6 = this.mgf1Hash;
|
||||
IDigest digest7 = this.mgf1Hash;
|
||||
int length3 = array3.Length;
|
||||
IDigest digest8 = this.mgf1Hash;
|
||||
int length4 = array2.Length;
|
||||
int num9 = array.Length;
|
||||
int num10 = 0;
|
||||
int num11 = length4 * num;
|
||||
num9 -= num11;
|
||||
Array.Copy(array2, num10, array, num11, num9);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x040067C8 RID: 26568
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40067C8")]
|
||||
private byte[] defHash;
|
||||
|
||||
// Token: 0x040067C9 RID: 26569
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40067C9")]
|
||||
private IDigest mgf1Hash;
|
||||
|
||||
// Token: 0x040067CA RID: 26570
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40067CA")]
|
||||
private IAsymmetricBlockCipher engine;
|
||||
|
||||
// Token: 0x040067CB RID: 26571
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40067CB")]
|
||||
private SecureRandom random;
|
||||
|
||||
// Token: 0x040067CC RID: 26572
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40067CC")]
|
||||
private bool forEncryption;
|
||||
}
|
||||
}
|
||||
+357
@@ -0,0 +1,357 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Encodings
|
||||
{
|
||||
// Token: 0x020016E1 RID: 5857
|
||||
[Token(Token = "0x20016E1")]
|
||||
[StructLayout(3)]
|
||||
public class Pkcs1Encoding : IAsymmetricBlockCipher
|
||||
{
|
||||
// Token: 0x17001904 RID: 6404
|
||||
// (get) Token: 0x06009DA7 RID: 40359 RVA: 0x00242E04 File Offset: 0x00241004
|
||||
// (set) Token: 0x06009DA8 RID: 40360 RVA: 0x00242E2C File Offset: 0x0024102C
|
||||
[Token(Token = "0x17001904")]
|
||||
public static bool StrictLengthEnabled
|
||||
{
|
||||
[Token(Token = "0x6009DA7")]
|
||||
[Address(RVA = "0x205E250", Offset = "0x205CC50", VA = "0x18205E250")]
|
||||
get
|
||||
{
|
||||
bool[] array = Pkcs1Encoding.strictLengthEnabled;
|
||||
return "{il2cpp array field local0->}" != (ulong)0L;
|
||||
}
|
||||
[Token(Token = "0x6009DA8")]
|
||||
[Address(RVA = "0x205E2D0", Offset = "0x205CCD0", VA = "0x18205E2D0")]
|
||||
set
|
||||
{
|
||||
Pkcs1Encoding.strictLengthEnabled[0] = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009DA9 RID: 40361 RVA: 0x00242E4C File Offset: 0x0024104C
|
||||
[Token(Token = "0x6009DA9")]
|
||||
[Address(RVA = "0x205DF70", Offset = "0x205C970", VA = "0x18205DF70")]
|
||||
static Pkcs1Encoding()
|
||||
{
|
||||
string environmentVariable = Platform.GetEnvironmentVariable("BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs1.Strict");
|
||||
bool[] array = new bool[1];
|
||||
if (environmentVariable == 0)
|
||||
{
|
||||
}
|
||||
bool flag = environmentVariable.Equals("true");
|
||||
array[0] = flag;
|
||||
Pkcs1Encoding.strictLengthEnabled = array;
|
||||
}
|
||||
|
||||
// Token: 0x06009DAA RID: 40362 RVA: 0x00242E90 File Offset: 0x00241090
|
||||
[Token(Token = "0x6009DAA")]
|
||||
[Address(RVA = "0x205E170", Offset = "0x205CB70", VA = "0x18205E170")]
|
||||
public Pkcs1Encoding(IAsymmetricBlockCipher cipher)
|
||||
{
|
||||
this.engine = cipher;
|
||||
bool flag = Pkcs1Encoding.StrictLengthEnabled;
|
||||
this.useStrictLength = flag;
|
||||
}
|
||||
|
||||
// Token: 0x06009DAB RID: 40363 RVA: 0x00242ECC File Offset: 0x002410CC
|
||||
[Token(Token = "0x6009DAB")]
|
||||
[Address(RVA = "0x205E040", Offset = "0x205CA40", VA = "0x18205E040")]
|
||||
public Pkcs1Encoding(IAsymmetricBlockCipher cipher, int pLen)
|
||||
{
|
||||
this.engine = cipher;
|
||||
bool flag = Pkcs1Encoding.StrictLengthEnabled;
|
||||
this.pLen = pLen;
|
||||
this.useStrictLength = flag;
|
||||
}
|
||||
|
||||
// Token: 0x06009DAC RID: 40364 RVA: 0x00242F0C File Offset: 0x0024110C
|
||||
[Token(Token = "0x6009DAC")]
|
||||
[Address(RVA = "0x205E0D0", Offset = "0x205CAD0", VA = "0x18205E0D0")]
|
||||
public Pkcs1Encoding(IAsymmetricBlockCipher cipher, byte[] fallback)
|
||||
{
|
||||
this.engine = cipher;
|
||||
bool flag = Pkcs1Encoding.StrictLengthEnabled;
|
||||
this.useStrictLength = flag;
|
||||
this.fallback = fallback;
|
||||
int length = fallback.Length;
|
||||
this.pLen = length;
|
||||
}
|
||||
|
||||
// Token: 0x06009DAD RID: 40365 RVA: 0x00242F60 File Offset: 0x00241160
|
||||
[Token(Token = "0x6009DAD")]
|
||||
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
|
||||
public IAsymmetricBlockCipher GetUnderlyingCipher()
|
||||
{
|
||||
return this.engine;
|
||||
}
|
||||
|
||||
// Token: 0x17001905 RID: 6405
|
||||
// (get) Token: 0x06009DAE RID: 40366 RVA: 0x00242F74 File Offset: 0x00241174
|
||||
[Token(Token = "0x17001905")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009DAE")]
|
||||
[Address(RVA = "0x205E1F0", Offset = "0x205CBF0", VA = "0x18205E1F0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
return 0 + "/PKCS1Padding";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009DAF RID: 40367 RVA: 0x00242F9C File Offset: 0x0024119C
|
||||
[Token(Token = "0x6009DAF")]
|
||||
[Address(RVA = "0x205DCD0", Offset = "0x205C6D0", VA = "0x18205DCD0", Slot = "5")]
|
||||
public void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009DAF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_84:
|
||||
stloc:ArgumentException(var_8_8E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("encoder requires random")))
|
||||
}
|
||||
|
||||
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: 0x06009DB0 RID: 40368 RVA: 0x00243038 File Offset: 0x00241238
|
||||
[Token(Token = "0x6009DB0")]
|
||||
[Address(RVA = "0x205DC10", Offset = "0x205C610", VA = "0x18205DC10", Slot = "6")]
|
||||
public int GetInputBlockSize()
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
if (this.forEncryption)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DB1 RID: 40369 RVA: 0x0024305C File Offset: 0x0024125C
|
||||
[Token(Token = "0x6009DB1")]
|
||||
[Address(RVA = "0x205DC70", Offset = "0x205C670", VA = "0x18205DC70", Slot = "7")]
|
||||
public int GetOutputBlockSize()
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
if (!this.forEncryption)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DB2 RID: 40370 RVA: 0x00243080 File Offset: 0x00241280
|
||||
[Token(Token = "0x6009DB2")]
|
||||
[Address(RVA = "0x205DF40", Offset = "0x205C940", VA = "0x18205DF40", Slot = "8")]
|
||||
public byte[] ProcessBlock(byte[] input, int inOff, int length)
|
||||
{
|
||||
if (this.forEncryption)
|
||||
{
|
||||
return this.EncodeBlock(input, inOff, length);
|
||||
}
|
||||
return this.DecodeBlock(input, inOff, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009DB3 RID: 40371 RVA: 0x002430AC File Offset: 0x002412AC
|
||||
[Token(Token = "0x6009DB3")]
|
||||
[Address(RVA = "0x205D890", Offset = "0x205C290", VA = "0x18205D890")]
|
||||
private byte[] EncodeBlock(byte[] input, int inOff, int inLen)
|
||||
{
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher = this.engine;
|
||||
if (this.forEncryption)
|
||||
{
|
||||
}
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher2 = this.engine;
|
||||
byte[] array = new byte[0];
|
||||
if (!this.forPrivateKey)
|
||||
{
|
||||
double num = this.random.NextDouble();
|
||||
array[0] = (byte)((ulong)2L);
|
||||
int num2 = array.Length;
|
||||
num2 -= inLen;
|
||||
uint num3;
|
||||
if (num3 == (uint)num2)
|
||||
{
|
||||
goto IL_83;
|
||||
}
|
||||
int length = array.Length;
|
||||
SecureRandom secureRandom = this.random;
|
||||
num3 += (uint)1;
|
||||
}
|
||||
int num4 = array.Length;
|
||||
num4 -= inLen;
|
||||
uint num5;
|
||||
if (num5 != (uint)num4)
|
||||
{
|
||||
num5 += (uint)1;
|
||||
}
|
||||
IL_83:
|
||||
num4 -= inLen;
|
||||
int num6 = num4 - 1;
|
||||
int num7 = array.Length;
|
||||
num7 -= inLen;
|
||||
num4 = inOff;
|
||||
Array.Copy(input, num4, array, num7, inLen);
|
||||
IAsymmetricBlockCipher asymmetricBlockCipher3 = this.engine;
|
||||
int length2 = array.Length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DB4 RID: 40372 RVA: 0x00243180 File Offset: 0x00241380
|
||||
[Token(Token = "0x6009DB4")]
|
||||
[Address(RVA = "0x205D180", Offset = "0x205BB80", VA = "0x18205D180")]
|
||||
private static int CheckPkcs1Encoding(byte[] encoded, int pLen)
|
||||
{
|
||||
int num = encoded.Length;
|
||||
num -= pLen;
|
||||
uint num2;
|
||||
if (num - 1 > (int)num2)
|
||||
{
|
||||
num2 += (uint)1;
|
||||
}
|
||||
int num3 = num - 1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009DB5 RID: 40373 RVA: 0x002431AC File Offset: 0x002413AC
|
||||
[Token(Token = "0x6009DB5")]
|
||||
[Address(RVA = "0x205D270", Offset = "0x205BC70", VA = "0x18205D270")]
|
||||
private byte[] DecodeBlockOrRandom(byte[] input, int inOff, int inLen)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009DB5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding::DecodeBlockOrRandom(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_C7:
|
||||
stloc:InvalidCipherTextException(var_18_D1, newobj:InvalidCipherTextException(InvalidCipherTextException::.ctor, ldstr:string("sorry, this method is only for decryption, not for signing")))
|
||||
}
|
||||
|
||||
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: 0x06009DB6 RID: 40374 RVA: 0x0024328C File Offset: 0x0024148C
|
||||
[Token(Token = "0x6009DB6")]
|
||||
[Address(RVA = "0x205D580", Offset = "0x205BF80", VA = "0x18205D580")]
|
||||
private byte[] DecodeBlock(byte[] input, int inOff, int inLen)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009DB6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding::DecodeBlock(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_C5:
|
||||
stloc:InvalidCipherTextException(var_20_CF, newobj:InvalidCipherTextException(InvalidCipherTextException::.ctor, ldstr:string("block incorrect size")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x06009DB7 RID: 40375 RVA: 0x0024336C File Offset: 0x0024156C
|
||||
[Token(Token = "0x6009DB7")]
|
||||
[Address(RVA = "0x205DB60", Offset = "0x205C560", VA = "0x18205DB60")]
|
||||
private int FindStart(byte type, byte[] block)
|
||||
{
|
||||
int length = block.Length;
|
||||
if ((uint)1 != (uint)length)
|
||||
{
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Token: 0x040067CD RID: 26573
|
||||
[Token(Token = "0x40067CD")]
|
||||
public const string StrictLengthEnabledProperty = "BestHTTP.SecureProtocol.Org.BouncyCastle.Pkcs1.Strict";
|
||||
|
||||
// Token: 0x040067CE RID: 26574
|
||||
[Token(Token = "0x40067CE")]
|
||||
private const int HeaderLength = 10;
|
||||
|
||||
// Token: 0x040067CF RID: 26575
|
||||
[Token(Token = "0x40067CF")]
|
||||
private static readonly bool[] strictLengthEnabled;
|
||||
|
||||
// Token: 0x040067D0 RID: 26576
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40067D0")]
|
||||
private SecureRandom random;
|
||||
|
||||
// Token: 0x040067D1 RID: 26577
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40067D1")]
|
||||
private IAsymmetricBlockCipher engine;
|
||||
|
||||
// Token: 0x040067D2 RID: 26578
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40067D2")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x040067D3 RID: 26579
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x21")]
|
||||
[Token(Token = "0x40067D3")]
|
||||
private bool forPrivateKey;
|
||||
|
||||
// Token: 0x040067D4 RID: 26580
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x22")]
|
||||
[Token(Token = "0x40067D4")]
|
||||
private bool useStrictLength;
|
||||
|
||||
// Token: 0x040067D5 RID: 26581
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x40067D5")]
|
||||
private int pLen = (int)((ulong)4294967295L);
|
||||
|
||||
// Token: 0x040067D6 RID: 26582
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40067D6")]
|
||||
private byte[] fallback;
|
||||
|
||||
// Token: 0x040067D7 RID: 26583
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40067D7")]
|
||||
private byte[] blockBuffer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,639 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016A3 RID: 5795
|
||||
[Token(Token = "0x20016A3")]
|
||||
[StructLayout(3)]
|
||||
public class AesEngine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009AE0 RID: 39648 RVA: 0x00229F5C File Offset: 0x0022815C
|
||||
[Token(Token = "0x6009AE0")]
|
||||
[Address(RVA = "0x7051F0", Offset = "0x703BF0", VA = "0x1807051F0")]
|
||||
private static uint Shift(uint r, int shift)
|
||||
{
|
||||
return r;
|
||||
}
|
||||
|
||||
// Token: 0x06009AE1 RID: 39649 RVA: 0x00229F6C File Offset: 0x0022816C
|
||||
[Token(Token = "0x6009AE1")]
|
||||
[Address(RVA = "0x20536B0", Offset = "0x20520B0", VA = "0x1820536B0")]
|
||||
private static uint FFmulX(uint x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009AE1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesEngine::FFmulX(System.UInt32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_05, mul:uint32[exp:int64](ldloc:uint32(x), conv.u4:uint32(ldc.i4:int32[exp:uint32](27))))
|
||||
}
|
||||
|
||||
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: 0x06009AE2 RID: 39650 RVA: 0x00229F80 File Offset: 0x00228180
|
||||
[Token(Token = "0x6009AE2")]
|
||||
[Address(RVA = "0x2053680", Offset = "0x2052080", VA = "0x182053680")]
|
||||
private static uint FFmulX2(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009AE3 RID: 39651 RVA: 0x00229F90 File Offset: 0x00228190
|
||||
[Token(Token = "0x6009AE3")]
|
||||
[Address(RVA = "0x2054EB0", Offset = "0x20538B0", VA = "0x182054EB0")]
|
||||
private static uint Inv_Mcol(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009AE4 RID: 39652 RVA: 0x00229FA0 File Offset: 0x002281A0
|
||||
[Token(Token = "0x6009AE4")]
|
||||
[Address(RVA = "0x2055160", Offset = "0x2053B60", VA = "0x182055160")]
|
||||
private static uint SubWord(uint x)
|
||||
{
|
||||
int length = AesEngine.S.Length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009AE5 RID: 39653 RVA: 0x00229FC0 File Offset: 0x002281C0
|
||||
[Token(Token = "0x6009AE5")]
|
||||
[Address(RVA = "0x20536D0", Offset = "0x20520D0", VA = "0x1820536D0")]
|
||||
private uint[][] GenerateWorkingKey(byte[] key, bool forEncryption)
|
||||
{
|
||||
uint[][] array;
|
||||
int i;
|
||||
for (;;)
|
||||
{
|
||||
if (key.Length == 7)
|
||||
{
|
||||
this.ROUNDS = key;
|
||||
array = new uint[key][];
|
||||
i = 0;
|
||||
uint[] array2 = new uint[4];
|
||||
if (array2 != 0)
|
||||
{
|
||||
}
|
||||
i++;
|
||||
array[0] = array2;
|
||||
while (i <= this.rcon)
|
||||
{
|
||||
}
|
||||
if (typeof(uint[]).TypeHandle == 0)
|
||||
{
|
||||
goto IL_3FB;
|
||||
}
|
||||
if (typeof(uint[]).TypeHandle != 0)
|
||||
{
|
||||
if (typeof(uint[]).TypeHandle == 0)
|
||||
{
|
||||
goto IL_1E5;
|
||||
}
|
||||
uint num;
|
||||
if (typeof(uint[]).TypeHandle != 0 && typeof(uint[]).TypeHandle == num)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
uint[] array3 = array[0];
|
||||
array3[0] = (uint)i;
|
||||
uint[] array4 = array[0];
|
||||
array4[0] = array3;
|
||||
uint[] array5 = array[0];
|
||||
array5[1] = array4;
|
||||
uint[] array6 = array[0];
|
||||
array6[1] = array5;
|
||||
uint[] array7 = array[1];
|
||||
array7[0] = array6;
|
||||
uint[] array8 = array[1];
|
||||
array8[0] = array7;
|
||||
uint[] array9 = array[1];
|
||||
array9[1] = array8;
|
||||
array[1][1] = array9;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
uint num3 = AesEngine.SubWord(array9);
|
||||
ulong num4;
|
||||
array[(int)num4][0] = i;
|
||||
array[(int)num4][0] = array3;
|
||||
array[(int)num4][1] = array4;
|
||||
array[(int)num4][1] = array5;
|
||||
uint num5 = AesEngine.SubWord(array5);
|
||||
ulong num6 = num4 + 1UL;
|
||||
array[(int)num6][0] = array6;
|
||||
array[(int)num6][0] = array7;
|
||||
array[(int)num6][1] = array8;
|
||||
array[(int)num6][1] = array9;
|
||||
uint num7 = AesEngine.SubWord(array9);
|
||||
array[14][0] = (uint)i;
|
||||
array[14][0] = array3;
|
||||
array[14][1] = array4;
|
||||
uint[] array10 = array[14];
|
||||
array10[1] = array5;
|
||||
IL_1E5:
|
||||
uint[] array11 = array[0];
|
||||
array11[0] = array10;
|
||||
uint[] array12 = array[0];
|
||||
array12[0] = array11;
|
||||
uint[] array13 = array[0];
|
||||
array13[1] = array12;
|
||||
uint[] array14 = array[0];
|
||||
array14[1] = array13;
|
||||
uint[] array15 = array[1];
|
||||
array15[0] = array14;
|
||||
array[1][0] = array15;
|
||||
uint num8 = AesEngine.SubWord(array15);
|
||||
array[1][1] = num8;
|
||||
array[1][1] = array11;
|
||||
array[2][0] = array12;
|
||||
array[2][0] = array13;
|
||||
array[2][1] = array14;
|
||||
array[2][1] = array15;
|
||||
ulong num9;
|
||||
num9 += num9;
|
||||
uint num10 = AesEngine.SubWord(array15);
|
||||
uint num11;
|
||||
array[(int)num11][0] = num8;
|
||||
array[(int)num11][0] = array11;
|
||||
array[(int)num11][1] = array12;
|
||||
array[(int)num11][1] = array13;
|
||||
uint num12 = num11 + 1U;
|
||||
array[(int)num12][0] = array14;
|
||||
array[(int)num12][0] = array15;
|
||||
num9 += num9;
|
||||
uint num13 = AesEngine.SubWord(array15);
|
||||
array[(int)num12][1] = num8;
|
||||
array[(int)num12][1] = array11;
|
||||
num11 += (uint)2;
|
||||
array[(int)num11][0] = array12;
|
||||
array[(int)num11][0] = array13;
|
||||
array[(int)num11][1] = array14;
|
||||
uint[] array16 = array[(int)num11];
|
||||
num11 += (uint)3;
|
||||
array16[1] = array15;
|
||||
uint num14 = AesEngine.SubWord(array15);
|
||||
array[12][0] = num8;
|
||||
array[12][0] = array11;
|
||||
array[12][1] = array12;
|
||||
uint[] array17 = array[12];
|
||||
array17[1] = array13;
|
||||
IL_3FB:
|
||||
uint[] array18 = array[0];
|
||||
array18[0] = array17;
|
||||
uint[] array19 = array[0];
|
||||
array19[0] = array18;
|
||||
uint[] array20 = array[0];
|
||||
array20[1] = array19;
|
||||
array[0][1] = array20;
|
||||
uint num15 = AesEngine.SubWord(array20);
|
||||
byte[] array21 = AesEngine.rcon;
|
||||
uint num17;
|
||||
uint num16 = num17 - 1U;
|
||||
array[(int)num17][0] = array17;
|
||||
array[(int)num17][0] = array18;
|
||||
array[(int)num17][1] = array19;
|
||||
uint[] array22 = array[(int)num17];
|
||||
num17 += (uint)1;
|
||||
array22[1] = array20;
|
||||
while (num17 <= (uint)10)
|
||||
{
|
||||
}
|
||||
int num18 = 0;
|
||||
uint[] array23 = array[(int)num17];
|
||||
uint num19 = AesEngine.Inv_Mcol(array23[num18]);
|
||||
num18++;
|
||||
array23[0] = num19;
|
||||
num17 += (uint)1;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009AE6 RID: 39654 RVA: 0x0022A4B4 File Offset: 0x002286B4
|
||||
[Token(Token = "0x6009AE6")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public AesEngine()
|
||||
{
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009AE7 RID: 39655 RVA: 0x0022A4C8 File Offset: 0x002286C8
|
||||
[Token(Token = "0x6009AE7")]
|
||||
[Address(RVA = "0x2054D00", Offset = "0x2053700", VA = "0x182054D00", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009AE7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_38:
|
||||
stloc:ArgumentException(var_5_49, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to AES init - "), ldloc:string(var_4))))
|
||||
}
|
||||
|
||||
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: 0x170018B3 RID: 6323
|
||||
// (get) Token: 0x06009AE8 RID: 39656 RVA: 0x0022A520 File Offset: 0x00228720
|
||||
[Token(Token = "0x170018B3")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009AE8")]
|
||||
[Address(RVA = "0x2055430", Offset = "0x2053E30", VA = "0x182055430", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return "AES";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018B4 RID: 6324
|
||||
// (get) Token: 0x06009AE9 RID: 39657 RVA: 0x0022A534 File Offset: 0x00228734
|
||||
[Token(Token = "0x170018B4")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009AE9")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009AEA RID: 39658 RVA: 0x0022A544 File Offset: 0x00228744
|
||||
[Token(Token = "0x6009AEA")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "13")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009AEB RID: 39659 RVA: 0x0022A554 File Offset: 0x00228754
|
||||
[Token(Token = "0x6009AEB")]
|
||||
[Address(RVA = "0x2054FE0", Offset = "0x20539E0", VA = "0x182054FE0", Slot = "14")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009AEB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5D:
|
||||
stloc:InvalidOperationException(var_7_67, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("AES engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009AEC RID: 39660 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009AEC")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "15")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009AED RID: 39661 RVA: 0x0022A5CC File Offset: 0x002287CC
|
||||
[Token(Token = "0x6009AED")]
|
||||
[Address(RVA = "0x2055280", Offset = "0x2053C80", VA = "0x182055280")]
|
||||
private void UnPackBlock(byte[] bytes, int off)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009AEE RID: 39662 RVA: 0x0022A5DC File Offset: 0x002287DC
|
||||
[Token(Token = "0x6009AEE")]
|
||||
[Address(RVA = "0x2054F70", Offset = "0x2053970", VA = "0x182054F70")]
|
||||
private void PackBlock(byte[] bytes, int off)
|
||||
{
|
||||
Ed25519.Encode32(this.C0, bytes, off);
|
||||
Ed25519.Encode32(this.C1, bytes, off);
|
||||
Ed25519.Encode32(this.C2, bytes, off);
|
||||
Ed25519.Encode32(this.C3, bytes, off);
|
||||
}
|
||||
|
||||
// Token: 0x06009AEF RID: 39663 RVA: 0x0022A620 File Offset: 0x00228820
|
||||
[Token(Token = "0x6009AEF")]
|
||||
[Address(RVA = "0x2052360", Offset = "0x2050D60", VA = "0x182052360")]
|
||||
private void EncryptBlock(uint[][] KW)
|
||||
{
|
||||
int length = KW.Length;
|
||||
uint[] array = KW[0];
|
||||
int length2 = array.Length;
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
uint num3 = array[1];
|
||||
uint num4 = array[1];
|
||||
if (array > (uint)1)
|
||||
{
|
||||
uint[] t = AesEngine.T0;
|
||||
int length3 = t.Length;
|
||||
num2 = num4;
|
||||
uint[] array2;
|
||||
int length4 = array2.Length;
|
||||
uint num5 = t[(int)num2];
|
||||
num2 = num5;
|
||||
uint num6 = t[(int)num2];
|
||||
num2 = num6;
|
||||
num = num2;
|
||||
num2 = num3;
|
||||
num6 = num2;
|
||||
num2 = num4;
|
||||
num5 = num2;
|
||||
num2 = num;
|
||||
uint num7 = t[(int)num2];
|
||||
uint num8 = t[(int)num5];
|
||||
uint num9 = t[(int)num6];
|
||||
num = num3;
|
||||
num2 = num4;
|
||||
num9 = num2;
|
||||
num2 = num;
|
||||
num8 = num2;
|
||||
uint num10 = t[(int)num2];
|
||||
uint num11 = t[(int)num8];
|
||||
uint num12 = t[(int)num9];
|
||||
num2 = num12;
|
||||
num12 = num;
|
||||
num11 = num2;
|
||||
uint num13 = t[(int)num3];
|
||||
num = num13;
|
||||
uint num14 = t[(int)num11];
|
||||
uint num15 = t[(int)num12];
|
||||
uint num16;
|
||||
num16 += (uint)1;
|
||||
num15 = num7;
|
||||
num7 = num10;
|
||||
num14 = num7;
|
||||
uint num17 = t[(int)num14];
|
||||
uint num18 = t[(int)num15];
|
||||
num7 = num18;
|
||||
num3 = num7;
|
||||
num7 = num10;
|
||||
num18 = num7;
|
||||
num7 = num;
|
||||
num17 = num7;
|
||||
uint num19 = t[(int)num17];
|
||||
uint num20 = t[(int)num18];
|
||||
num7 = num;
|
||||
num20 = num7;
|
||||
num19 = num7;
|
||||
uint num21 = t[(int)num19];
|
||||
num7 = t[(int)num20];
|
||||
}
|
||||
uint[] t2 = AesEngine.T0;
|
||||
int length5 = t2.Length;
|
||||
num = num2;
|
||||
uint num22 = t2[(int)num];
|
||||
num2 = num3;
|
||||
num = num2;
|
||||
num2 = num4;
|
||||
uint num23 = t2[(int)num2];
|
||||
uint[] array3;
|
||||
int length6 = array3.Length;
|
||||
num2 = num;
|
||||
uint num24 = t2[(int)num2];
|
||||
num24 = num3;
|
||||
uint num25 = t2[(int)num24];
|
||||
num25 = num2;
|
||||
uint num26 = t2[(int)num25];
|
||||
uint num27 = t2[(int)num3];
|
||||
uint num28;
|
||||
num28 += (uint)1;
|
||||
int length7 = AesEngine.S.Length;
|
||||
int length8 = AesEngine.S.Length;
|
||||
int length9 = AesEngine.S.Length;
|
||||
byte[] array4 = AesEngine.S;
|
||||
}
|
||||
|
||||
// Token: 0x06009AF0 RID: 39664 RVA: 0x0022A8F8 File Offset: 0x00228AF8
|
||||
[Token(Token = "0x6009AF0")]
|
||||
[Address(RVA = "0x2051050", Offset = "0x204FA50", VA = "0x182051050")]
|
||||
private void DecryptBlock(uint[][] KW)
|
||||
{
|
||||
int length = KW.Length;
|
||||
uint[] array;
|
||||
int length2 = array.Length;
|
||||
uint num = array[0];
|
||||
uint num2 = array[1];
|
||||
uint num3 = array[1];
|
||||
if (array > (ulong)1L)
|
||||
{
|
||||
uint[] array2 = KW[array];
|
||||
uint[] tinv = AesEngine.Tinv0;
|
||||
int length3 = tinv.Length;
|
||||
num3 = num2;
|
||||
int length4 = array2.Length;
|
||||
uint num4 = tinv[(int)num3];
|
||||
uint num5 = tinv[(int)num3];
|
||||
num3 = num5;
|
||||
uint num6 = tinv[(int)num3];
|
||||
num3 = num;
|
||||
num6 = num3;
|
||||
num5 = num3;
|
||||
uint num7 = tinv[(int)num5];
|
||||
uint num8 = tinv[(int)num6];
|
||||
num3 = num8;
|
||||
num = num2;
|
||||
num8 = num3;
|
||||
num3 = num;
|
||||
num7 = num3;
|
||||
uint num9 = tinv[(int)num7];
|
||||
uint num10 = tinv[(int)num8];
|
||||
num3 = num10;
|
||||
num10 = num2;
|
||||
num = tinv[(int)num];
|
||||
uint num11 = tinv[(int)num9];
|
||||
uint num12 = tinv[(int)num10];
|
||||
num2 = num4;
|
||||
num12 = num;
|
||||
num11 = num;
|
||||
uint num13 = tinv[(int)num11];
|
||||
uint num14 = tinv[(int)num12];
|
||||
num = num4;
|
||||
num14 = num;
|
||||
num13 = num;
|
||||
uint num15 = tinv[(int)num];
|
||||
uint num16 = tinv[(int)num13];
|
||||
uint num17 = tinv[(int)num14];
|
||||
num = num17;
|
||||
num16 = num;
|
||||
num = num4;
|
||||
num17 = num;
|
||||
num = tinv[(int)num16];
|
||||
num = tinv[(int)num17];
|
||||
}
|
||||
uint[] array3 = KW[1];
|
||||
uint[] tinv2 = AesEngine.Tinv0;
|
||||
int length5 = tinv2.Length;
|
||||
num = num3;
|
||||
uint num18 = tinv2[(int)num];
|
||||
num3 = num2;
|
||||
num = num3;
|
||||
uint num19 = tinv2[(int)num3];
|
||||
int length6 = array3.Length;
|
||||
num3 = num;
|
||||
num19 = num3;
|
||||
uint num20 = tinv2[(int)num19];
|
||||
num3 = num2;
|
||||
uint num21 = tinv2[(int)num3];
|
||||
num3 = num20;
|
||||
num21 = num2;
|
||||
uint num22 = tinv2[(int)num21];
|
||||
num22 = num3;
|
||||
uint num23 = tinv2[(int)num22];
|
||||
num20 = num23;
|
||||
num22 = num2;
|
||||
uint num24 = tinv2[(int)num22];
|
||||
uint num25 = tinv2[(int)num22];
|
||||
uint num26 = tinv2[(int)num];
|
||||
int length7 = AesEngine.Si.Length;
|
||||
byte[] si = AesEngine.Si;
|
||||
num23 = num20;
|
||||
int length8 = AesEngine.Si.Length;
|
||||
byte b = AesEngine.Si[(int)num23];
|
||||
}
|
||||
|
||||
// Token: 0x06009AF1 RID: 39665 RVA: 0x0022ABA8 File Offset: 0x00228DA8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009AF1")]
|
||||
[Address(RVA = "0x20552F0", Offset = "0x2053CF0", VA = "0x1820552F0")]
|
||||
static AesEngine()
|
||||
{
|
||||
byte[] array = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.8F22C9ECE1331718CBD268A9BBFD2F5E451441E3).FieldHandle);
|
||||
AesEngine.S = array;
|
||||
byte[] array2 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.0C4110BC17D746F018F47B49E0EB0D6590F69939).FieldHandle);
|
||||
AesEngine.Si = array2;
|
||||
byte[] array3 = new byte[30];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.B8DB0CB599EDD82A386D1A154FB3EB9235513DAD).FieldHandle);
|
||||
AesEngine.rcon = array3;
|
||||
uint[] array4 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.B68637EF60D499620B99E336C59E4865FFC4C5D7).FieldHandle);
|
||||
AesEngine.T0 = array4;
|
||||
uint[] array5 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.1AFB455399A50580CF1039188ABA6BE82F309543).FieldHandle);
|
||||
AesEngine.Tinv0 = array5;
|
||||
}
|
||||
|
||||
// Token: 0x04006585 RID: 25989
|
||||
[Token(Token = "0x4006585")]
|
||||
private static readonly byte[] S;
|
||||
|
||||
// Token: 0x04006586 RID: 25990
|
||||
[Token(Token = "0x4006586")]
|
||||
private static readonly byte[] Si;
|
||||
|
||||
// Token: 0x04006587 RID: 25991
|
||||
[Token(Token = "0x4006587")]
|
||||
private static readonly byte[] rcon;
|
||||
|
||||
// Token: 0x04006588 RID: 25992
|
||||
[Token(Token = "0x4006588")]
|
||||
private static readonly uint[] T0;
|
||||
|
||||
// Token: 0x04006589 RID: 25993
|
||||
[Token(Token = "0x4006589")]
|
||||
private static readonly uint[] Tinv0;
|
||||
|
||||
// Token: 0x0400658A RID: 25994
|
||||
[Token(Token = "0x400658A")]
|
||||
private const uint m1 = 2155905152U;
|
||||
|
||||
// Token: 0x0400658B RID: 25995
|
||||
[Token(Token = "0x400658B")]
|
||||
private const uint m2 = 2139062143U;
|
||||
|
||||
// Token: 0x0400658C RID: 25996
|
||||
[Token(Token = "0x400658C")]
|
||||
private const uint m3 = 27U;
|
||||
|
||||
// Token: 0x0400658D RID: 25997
|
||||
[Token(Token = "0x400658D")]
|
||||
private const uint m4 = 3233857728U;
|
||||
|
||||
// Token: 0x0400658E RID: 25998
|
||||
[Token(Token = "0x400658E")]
|
||||
private const uint m5 = 1061109567U;
|
||||
|
||||
// Token: 0x0400658F RID: 25999
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400658F")]
|
||||
private int ROUNDS;
|
||||
|
||||
// Token: 0x04006590 RID: 26000
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006590")]
|
||||
private uint[][] WorkingKey;
|
||||
|
||||
// Token: 0x04006591 RID: 26001
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006591")]
|
||||
private uint C0;
|
||||
|
||||
// Token: 0x04006592 RID: 26002
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x4006592")]
|
||||
private uint C1;
|
||||
|
||||
// Token: 0x04006593 RID: 26003
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006593")]
|
||||
private uint C2;
|
||||
|
||||
// Token: 0x04006594 RID: 26004
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x4006594")]
|
||||
private uint C3;
|
||||
|
||||
// Token: 0x04006595 RID: 26005
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006595")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x04006596 RID: 26006
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006596")]
|
||||
private byte[] s;
|
||||
|
||||
// Token: 0x04006597 RID: 26007
|
||||
[Token(Token = "0x4006597")]
|
||||
private const int BLOCK_SIZE = 16;
|
||||
}
|
||||
}
|
||||
+675
@@ -0,0 +1,675 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016A4 RID: 5796
|
||||
[Token(Token = "0x20016A4")]
|
||||
[Obsolete]
|
||||
[StructLayout(3)]
|
||||
public class AesFastEngine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009AF2 RID: 39666 RVA: 0x0022AC44 File Offset: 0x00228E44
|
||||
[Token(Token = "0x6009AF2")]
|
||||
[Address(RVA = "0x7051F0", Offset = "0x703BF0", VA = "0x1807051F0")]
|
||||
private static uint Shift(uint r, int shift)
|
||||
{
|
||||
return r;
|
||||
}
|
||||
|
||||
// Token: 0x06009AF3 RID: 39667 RVA: 0x0022AC54 File Offset: 0x00228E54
|
||||
[Token(Token = "0x6009AF3")]
|
||||
[Address(RVA = "0x20536B0", Offset = "0x20520B0", VA = "0x1820536B0")]
|
||||
private static uint FFmulX(uint x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009AF3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesFastEngine::FFmulX(System.UInt32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_05, mul:uint32[exp:int64](ldloc:uint32(x), conv.u4:uint32(ldc.i4:int32[exp:uint32](27))))
|
||||
}
|
||||
|
||||
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: 0x06009AF4 RID: 39668 RVA: 0x0022AC68 File Offset: 0x00228E68
|
||||
[Token(Token = "0x6009AF4")]
|
||||
[Address(RVA = "0x2053680", Offset = "0x2052080", VA = "0x182053680")]
|
||||
private static uint FFmulX2(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009AF5 RID: 39669 RVA: 0x0022AC78 File Offset: 0x00228E78
|
||||
[Token(Token = "0x6009AF5")]
|
||||
[Address(RVA = "0x2059020", Offset = "0x2057A20", VA = "0x182059020")]
|
||||
private static uint Inv_Mcol(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009AF6 RID: 39670 RVA: 0x0022AC88 File Offset: 0x00228E88
|
||||
[Token(Token = "0x6009AF6")]
|
||||
[Address(RVA = "0x2059260", Offset = "0x2057C60", VA = "0x182059260")]
|
||||
private static uint SubWord(uint x)
|
||||
{
|
||||
int length = AesFastEngine.S.Length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009AF7 RID: 39671 RVA: 0x0022ACA8 File Offset: 0x00228EA8
|
||||
[Token(Token = "0x6009AF7")]
|
||||
[Address(RVA = "0x20578E0", Offset = "0x20562E0", VA = "0x1820578E0")]
|
||||
private uint[][] GenerateWorkingKey(byte[] key, bool forEncryption)
|
||||
{
|
||||
uint[][] array;
|
||||
int i;
|
||||
for (;;)
|
||||
{
|
||||
if (key.Length == 7)
|
||||
{
|
||||
this.ROUNDS = key;
|
||||
array = new uint[key][];
|
||||
i = 0;
|
||||
uint[] array2 = new uint[4];
|
||||
if (array2 != 0)
|
||||
{
|
||||
}
|
||||
i++;
|
||||
array[0] = array2;
|
||||
while (i <= this.ROUNDS)
|
||||
{
|
||||
}
|
||||
if (typeof(uint[]).TypeHandle == 0)
|
||||
{
|
||||
goto IL_3FB;
|
||||
}
|
||||
if (typeof(uint[]).TypeHandle != 0)
|
||||
{
|
||||
if (typeof(uint[]).TypeHandle == 0)
|
||||
{
|
||||
goto IL_1E5;
|
||||
}
|
||||
uint num;
|
||||
if (typeof(uint[]).TypeHandle != 0 && typeof(uint[]).TypeHandle == num)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
uint[] array3 = array[0];
|
||||
array3[0] = (uint)i;
|
||||
uint[] array4 = array[0];
|
||||
array4[0] = array3;
|
||||
uint[] array5 = array[0];
|
||||
array5[1] = array4;
|
||||
uint[] array6 = array[0];
|
||||
array6[1] = array5;
|
||||
uint[] array7 = array[1];
|
||||
array7[0] = array6;
|
||||
uint[] array8 = array[1];
|
||||
array8[0] = array7;
|
||||
uint[] array9 = array[1];
|
||||
array9[1] = array8;
|
||||
array[1][1] = array9;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
uint num3 = AesFastEngine.SubWord(array9);
|
||||
ulong num4;
|
||||
array[(int)num4][0] = i;
|
||||
array[(int)num4][0] = array3;
|
||||
array[(int)num4][1] = array4;
|
||||
array[(int)num4][1] = array5;
|
||||
uint num5 = AesFastEngine.SubWord(array5);
|
||||
ulong num6 = num4 + 1UL;
|
||||
array[(int)num6][0] = array6;
|
||||
array[(int)num6][0] = array7;
|
||||
array[(int)num6][1] = array8;
|
||||
array[(int)num6][1] = array9;
|
||||
uint num7 = AesFastEngine.SubWord(array9);
|
||||
array[14][0] = (uint)i;
|
||||
array[14][0] = array3;
|
||||
array[14][1] = array4;
|
||||
uint[] array10 = array[14];
|
||||
array10[1] = array5;
|
||||
IL_1E5:
|
||||
uint[] array11 = array[0];
|
||||
array11[0] = array10;
|
||||
uint[] array12 = array[0];
|
||||
array12[0] = array11;
|
||||
uint[] array13 = array[0];
|
||||
array13[1] = array12;
|
||||
uint[] array14 = array[0];
|
||||
array14[1] = array13;
|
||||
uint[] array15 = array[1];
|
||||
array15[0] = array14;
|
||||
array[1][0] = array15;
|
||||
uint num8 = AesFastEngine.SubWord(array15);
|
||||
array[1][1] = num8;
|
||||
array[1][1] = array11;
|
||||
array[2][0] = array12;
|
||||
array[2][0] = array13;
|
||||
array[2][1] = array14;
|
||||
array[2][1] = array15;
|
||||
ulong num9;
|
||||
num9 += num9;
|
||||
uint num10 = AesFastEngine.SubWord(array15);
|
||||
uint num11;
|
||||
array[(int)num11][0] = num8;
|
||||
array[(int)num11][0] = array11;
|
||||
array[(int)num11][1] = array12;
|
||||
array[(int)num11][1] = array13;
|
||||
uint num12 = num11 + 1U;
|
||||
array[(int)num12][0] = array14;
|
||||
array[(int)num12][0] = array15;
|
||||
num9 += num9;
|
||||
uint num13 = AesFastEngine.SubWord(array15);
|
||||
array[(int)num12][1] = num8;
|
||||
array[(int)num12][1] = array11;
|
||||
num11 += (uint)2;
|
||||
array[(int)num11][0] = array12;
|
||||
array[(int)num11][0] = array13;
|
||||
array[(int)num11][1] = array14;
|
||||
uint[] array16 = array[(int)num11];
|
||||
num11 += (uint)3;
|
||||
array16[1] = array15;
|
||||
uint num14 = AesFastEngine.SubWord(array15);
|
||||
array[12][0] = num8;
|
||||
array[12][0] = array11;
|
||||
array[12][1] = array12;
|
||||
uint[] array17 = array[12];
|
||||
array17[1] = array13;
|
||||
IL_3FB:
|
||||
uint[] array18 = array[0];
|
||||
array18[0] = array17;
|
||||
uint[] array19 = array[0];
|
||||
array19[0] = array18;
|
||||
uint[] array20 = array[0];
|
||||
array20[1] = array19;
|
||||
array[0][1] = array20;
|
||||
uint num15 = AesFastEngine.SubWord(array20);
|
||||
byte[] array21 = AesFastEngine.rcon;
|
||||
uint num17;
|
||||
uint num16 = num17 - 1U;
|
||||
array[(int)num17][0] = array17;
|
||||
array[(int)num17][0] = array18;
|
||||
array[(int)num17][1] = array19;
|
||||
uint[] array22 = array[(int)num17];
|
||||
num17 += (uint)1;
|
||||
array22[1] = array20;
|
||||
while (num17 <= (uint)10)
|
||||
{
|
||||
}
|
||||
int num18 = 0;
|
||||
uint[] array23 = array[(int)num17];
|
||||
uint num19 = AesFastEngine.Inv_Mcol(array23[num18]);
|
||||
num18++;
|
||||
array23[0] = num19;
|
||||
num17 += (uint)1;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009AF8 RID: 39672 RVA: 0x0022B19C File Offset: 0x0022939C
|
||||
[Token(Token = "0x6009AF8")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public AesFastEngine()
|
||||
{
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009AF9 RID: 39673 RVA: 0x0022B1B0 File Offset: 0x002293B0
|
||||
[Token(Token = "0x6009AF9")]
|
||||
[Address(RVA = "0x2058F10", Offset = "0x2057910", VA = "0x182058F10", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009AF9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesFastEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_22:
|
||||
stloc:ArgumentException(var_4_32, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to AES init - "), ldloc:string(var_3))))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x170018B5 RID: 6325
|
||||
// (get) Token: 0x06009AFA RID: 39674 RVA: 0x0022B1F0 File Offset: 0x002293F0
|
||||
[Token(Token = "0x170018B5")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009AFA")]
|
||||
[Address(RVA = "0x2059610", Offset = "0x2058010", VA = "0x182059610", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return "AES";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018B6 RID: 6326
|
||||
// (get) Token: 0x06009AFB RID: 39675 RVA: 0x0022B204 File Offset: 0x00229404
|
||||
[Token(Token = "0x170018B6")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009AFB")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009AFC RID: 39676 RVA: 0x0022B214 File Offset: 0x00229414
|
||||
[Token(Token = "0x6009AFC")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "13")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009AFD RID: 39677 RVA: 0x0022B224 File Offset: 0x00229424
|
||||
[Token(Token = "0x6009AFD")]
|
||||
[Address(RVA = "0x20590E0", Offset = "0x2057AE0", VA = "0x1820590E0", Slot = "14")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009AFD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesFastEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5D:
|
||||
stloc:InvalidOperationException(var_7_67, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("AES engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009AFE RID: 39678 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009AFE")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "15")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009AFF RID: 39679 RVA: 0x0022B29C File Offset: 0x0022949C
|
||||
[Token(Token = "0x6009AFF")]
|
||||
[Address(RVA = "0x2055280", Offset = "0x2053C80", VA = "0x182055280")]
|
||||
private void UnPackBlock(byte[] bytes, int off)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009B00 RID: 39680 RVA: 0x0022B2AC File Offset: 0x002294AC
|
||||
[Token(Token = "0x6009B00")]
|
||||
[Address(RVA = "0x2054F70", Offset = "0x2053970", VA = "0x182054F70")]
|
||||
private void PackBlock(byte[] bytes, int off)
|
||||
{
|
||||
Ed25519.Encode32(this.C0, bytes, off);
|
||||
Ed25519.Encode32(this.C1, bytes, off);
|
||||
Ed25519.Encode32(this.C2, bytes, off);
|
||||
Ed25519.Encode32(this.C3, bytes, off);
|
||||
}
|
||||
|
||||
// Token: 0x06009B01 RID: 39681 RVA: 0x0022B2F0 File Offset: 0x002294F0
|
||||
[Token(Token = "0x6009B01")]
|
||||
[Address(RVA = "0x2056690", Offset = "0x2055090", VA = "0x182056690")]
|
||||
private void EncryptBlock(uint[][] KW)
|
||||
{
|
||||
int length = KW.Length;
|
||||
uint[] array = KW[0];
|
||||
int length2 = array.Length;
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
uint num3 = array[1];
|
||||
uint num4 = array[1];
|
||||
if (array > (uint)1)
|
||||
{
|
||||
uint[] t = AesFastEngine.T0;
|
||||
int length3 = t.Length;
|
||||
uint[] t2 = AesFastEngine.T1;
|
||||
int length4 = t2.Length;
|
||||
uint[] t3 = AesFastEngine.T2;
|
||||
int length5 = t3.Length;
|
||||
num2 = num3;
|
||||
num = num2;
|
||||
uint[] t4 = AesFastEngine.T3;
|
||||
int length6 = t4.Length;
|
||||
uint[] array2;
|
||||
int length7 = array2.Length;
|
||||
num2 = num;
|
||||
uint num5 = t4[(int)num2];
|
||||
num2 = num4;
|
||||
num = num2;
|
||||
uint num6 = t4[(int)num];
|
||||
num2 = num4;
|
||||
num = num2;
|
||||
int length8 = t4.Length;
|
||||
uint num7 = t4[(int)num];
|
||||
int length9 = t.Length;
|
||||
int length10 = t3.Length;
|
||||
uint num8 = t4[(int)num3];
|
||||
uint num9;
|
||||
num9 += (uint)1;
|
||||
int length11 = t2.Length;
|
||||
num5 = num6;
|
||||
num4 = num5;
|
||||
int length12 = t4.Length;
|
||||
num5 = num4;
|
||||
uint num10 = t3[(int)num5];
|
||||
int length13 = t.Length;
|
||||
num5 = num8;
|
||||
uint num11 = t3[(int)num5];
|
||||
num5 = num6;
|
||||
uint num12 = t2[(int)num5];
|
||||
num = num5;
|
||||
}
|
||||
uint[] t5 = AesFastEngine.T0;
|
||||
int length14 = t5.Length;
|
||||
uint num13 = t5[(int)num];
|
||||
uint[] t6 = AesFastEngine.T1;
|
||||
int length15 = t6.Length;
|
||||
num13 = num2;
|
||||
uint num14 = t6[(int)num13];
|
||||
uint[] t7 = AesFastEngine.T2;
|
||||
int length16 = t7.Length;
|
||||
num14 = num3;
|
||||
uint[] t8 = AesFastEngine.T3;
|
||||
uint num15 = t7[(int)num14];
|
||||
int length17 = t8.Length;
|
||||
num15 = num4;
|
||||
uint num16 = t8[(int)num15];
|
||||
uint[] array3;
|
||||
int length18 = array3.Length;
|
||||
uint num17 = array3[0];
|
||||
num16 = num2;
|
||||
uint num18 = t5[(int)num16];
|
||||
num16 = num3;
|
||||
uint num19 = t6[(int)num16];
|
||||
num19 = num4;
|
||||
num16 = num19;
|
||||
uint num20 = t7[(int)num16];
|
||||
uint num21 = t8[(int)num];
|
||||
uint num22 = array3[0];
|
||||
num21 = num3;
|
||||
uint num23 = t5[(int)num21];
|
||||
num23 = num4;
|
||||
num21 = num23;
|
||||
uint num24 = t6[(int)num21];
|
||||
num = num2;
|
||||
int length19 = t8.Length;
|
||||
uint num25 = t8[(int)num];
|
||||
uint num26 = array3[1];
|
||||
uint num27 = array3[1];
|
||||
uint num28;
|
||||
num28 += (uint)1;
|
||||
int length20 = AesFastEngine.S.Length;
|
||||
int length21 = AesFastEngine.S.Length;
|
||||
int length22 = AesFastEngine.S.Length;
|
||||
int length23 = AesFastEngine.S.Length;
|
||||
}
|
||||
|
||||
// Token: 0x06009B02 RID: 39682 RVA: 0x0022B5F4 File Offset: 0x002297F4
|
||||
[Token(Token = "0x6009B02")]
|
||||
[Address(RVA = "0x2055460", Offset = "0x2053E60", VA = "0x182055460")]
|
||||
private void DecryptBlock(uint[][] KW)
|
||||
{
|
||||
int length = KW.Length;
|
||||
uint[] array;
|
||||
int length2 = array.Length;
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
uint num3 = array[1];
|
||||
if (array > (ulong)1L)
|
||||
{
|
||||
uint[] array2 = KW[array];
|
||||
uint[] tinv = AesFastEngine.Tinv0;
|
||||
int length3 = tinv.Length;
|
||||
int length4 = AesFastEngine.Tinv1.Length;
|
||||
uint[] tinv2 = AesFastEngine.Tinv2;
|
||||
int length5 = tinv2.Length;
|
||||
num = num3;
|
||||
uint[] tinv3 = AesFastEngine.Tinv3;
|
||||
int length6 = tinv3.Length;
|
||||
int length7 = array2.Length;
|
||||
num3 = num;
|
||||
uint num4 = tinv3[(int)num3];
|
||||
num3 = num;
|
||||
num = num3;
|
||||
uint num5 = tinv3[(int)num];
|
||||
num3 = num2;
|
||||
int length8 = tinv3.Length;
|
||||
num = num3;
|
||||
uint num6 = tinv3[(int)num];
|
||||
int length9 = tinv.Length;
|
||||
int length10 = tinv2.Length;
|
||||
uint num7 = tinv3[(int)num];
|
||||
int length11 = tinv3.Length;
|
||||
uint num8 = tinv3[(int)num5];
|
||||
num4 = num7;
|
||||
num8 = num4;
|
||||
uint num9 = tinv2[(int)num8];
|
||||
num3 = num7;
|
||||
}
|
||||
uint[] array3 = KW[1];
|
||||
uint[] tinv4 = AesFastEngine.Tinv0;
|
||||
int length12 = tinv4.Length;
|
||||
uint num10 = tinv4[(int)num];
|
||||
uint[] tinv5 = AesFastEngine.Tinv1;
|
||||
int length13 = tinv5.Length;
|
||||
num10 = num3;
|
||||
uint num11 = tinv5[(int)num10];
|
||||
uint[] tinv6 = AesFastEngine.Tinv2;
|
||||
int length14 = tinv6.Length;
|
||||
uint[] tinv7 = AesFastEngine.Tinv3;
|
||||
uint num12 = tinv6[(int)num11];
|
||||
num12 = num2;
|
||||
uint num13 = tinv7[(int)num12];
|
||||
int length15 = array3.Length;
|
||||
uint num14 = array3[0];
|
||||
num13 = num2;
|
||||
uint num15 = tinv4[(int)num13];
|
||||
num13 = num;
|
||||
uint num16 = tinv5[(int)num13];
|
||||
num16 = num3;
|
||||
num13 = num16;
|
||||
uint num17 = tinv6[(int)num13];
|
||||
uint num18 = tinv7[(int)num17];
|
||||
uint num19 = array3[0];
|
||||
uint num20 = tinv4[(int)num18];
|
||||
num18 = num2;
|
||||
uint num21 = tinv5[(int)num18];
|
||||
int length16 = tinv7.Length;
|
||||
num = num3;
|
||||
uint num22 = tinv7[(int)num];
|
||||
uint num23 = array3[1];
|
||||
uint num24 = array3[1];
|
||||
int length17 = AesFastEngine.Si.Length;
|
||||
int length18 = AesFastEngine.Si.Length;
|
||||
int length19 = AesFastEngine.Si.Length;
|
||||
int length20 = AesFastEngine.Si.Length;
|
||||
}
|
||||
|
||||
// Token: 0x06009B03 RID: 39683 RVA: 0x0022B8B0 File Offset: 0x00229AB0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009B03")]
|
||||
[Address(RVA = "0x2059380", Offset = "0x2057D80", VA = "0x182059380")]
|
||||
static AesFastEngine()
|
||||
{
|
||||
byte[] array = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.8F22C9ECE1331718CBD268A9BBFD2F5E451441E3).FieldHandle);
|
||||
AesFastEngine.S = array;
|
||||
byte[] array2 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.0C4110BC17D746F018F47B49E0EB0D6590F69939).FieldHandle);
|
||||
AesFastEngine.Si = array2;
|
||||
byte[] array3 = new byte[30];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.B8DB0CB599EDD82A386D1A154FB3EB9235513DAD).FieldHandle);
|
||||
AesFastEngine.rcon = array3;
|
||||
uint[] array4 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.B68637EF60D499620B99E336C59E4865FFC4C5D7).FieldHandle);
|
||||
AesFastEngine.T0 = array4;
|
||||
uint[] array5 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.102C522344FCAC1545BDA50C0FC675C502FFEC53).FieldHandle);
|
||||
AesFastEngine.T1 = array5;
|
||||
uint[] array6 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.29EC5E8FCA12DB9EC0B5E6D2DE67B624D2E2372C).FieldHandle);
|
||||
AesFastEngine.T2 = array6;
|
||||
uint[] array7 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.95CA85749ADCFBF9A2B82C0381DBCF95D175524C).FieldHandle);
|
||||
AesFastEngine.T3 = array7;
|
||||
uint[] array8 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.1AFB455399A50580CF1039188ABA6BE82F309543).FieldHandle);
|
||||
AesFastEngine.Tinv0 = array8;
|
||||
uint[] array9 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array9, fieldof(<PrivateImplementationDetails>.D9C221237B647EC215A7BCDED447349810E6BF9C).FieldHandle);
|
||||
AesFastEngine.Tinv1 = array9;
|
||||
uint[] array10 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array10, fieldof(<PrivateImplementationDetails>.E43F6BA634642FB90FEEE1A8F9905E957741960C).FieldHandle);
|
||||
AesFastEngine.Tinv2 = array10;
|
||||
uint[] array11 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array11, fieldof(<PrivateImplementationDetails>.04D2A79C8A779AFAA779125335E9334C245EBB46).FieldHandle);
|
||||
AesFastEngine.Tinv3 = array11;
|
||||
}
|
||||
|
||||
// Token: 0x04006598 RID: 26008
|
||||
[Token(Token = "0x4006598")]
|
||||
private static readonly byte[] S;
|
||||
|
||||
// Token: 0x04006599 RID: 26009
|
||||
[Token(Token = "0x4006599")]
|
||||
private static readonly byte[] Si;
|
||||
|
||||
// Token: 0x0400659A RID: 26010
|
||||
[Token(Token = "0x400659A")]
|
||||
private static readonly byte[] rcon;
|
||||
|
||||
// Token: 0x0400659B RID: 26011
|
||||
[Token(Token = "0x400659B")]
|
||||
private static readonly uint[] T0;
|
||||
|
||||
// Token: 0x0400659C RID: 26012
|
||||
[Token(Token = "0x400659C")]
|
||||
private static readonly uint[] T1;
|
||||
|
||||
// Token: 0x0400659D RID: 26013
|
||||
[Token(Token = "0x400659D")]
|
||||
private static readonly uint[] T2;
|
||||
|
||||
// Token: 0x0400659E RID: 26014
|
||||
[Token(Token = "0x400659E")]
|
||||
private static readonly uint[] T3;
|
||||
|
||||
// Token: 0x0400659F RID: 26015
|
||||
[Token(Token = "0x400659F")]
|
||||
private static readonly uint[] Tinv0;
|
||||
|
||||
// Token: 0x040065A0 RID: 26016
|
||||
[Token(Token = "0x40065A0")]
|
||||
private static readonly uint[] Tinv1;
|
||||
|
||||
// Token: 0x040065A1 RID: 26017
|
||||
[Token(Token = "0x40065A1")]
|
||||
private static readonly uint[] Tinv2;
|
||||
|
||||
// Token: 0x040065A2 RID: 26018
|
||||
[Token(Token = "0x40065A2")]
|
||||
private static readonly uint[] Tinv3;
|
||||
|
||||
// Token: 0x040065A3 RID: 26019
|
||||
[Token(Token = "0x40065A3")]
|
||||
private const uint m1 = 2155905152U;
|
||||
|
||||
// Token: 0x040065A4 RID: 26020
|
||||
[Token(Token = "0x40065A4")]
|
||||
private const uint m2 = 2139062143U;
|
||||
|
||||
// Token: 0x040065A5 RID: 26021
|
||||
[Token(Token = "0x40065A5")]
|
||||
private const uint m3 = 27U;
|
||||
|
||||
// Token: 0x040065A6 RID: 26022
|
||||
[Token(Token = "0x40065A6")]
|
||||
private const uint m4 = 3233857728U;
|
||||
|
||||
// Token: 0x040065A7 RID: 26023
|
||||
[Token(Token = "0x40065A7")]
|
||||
private const uint m5 = 1061109567U;
|
||||
|
||||
// Token: 0x040065A8 RID: 26024
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40065A8")]
|
||||
private int ROUNDS;
|
||||
|
||||
// Token: 0x040065A9 RID: 26025
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40065A9")]
|
||||
private uint[][] WorkingKey;
|
||||
|
||||
// Token: 0x040065AA RID: 26026
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40065AA")]
|
||||
private uint C0;
|
||||
|
||||
// Token: 0x040065AB RID: 26027
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x40065AB")]
|
||||
private uint C1;
|
||||
|
||||
// Token: 0x040065AC RID: 26028
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40065AC")]
|
||||
private uint C2;
|
||||
|
||||
// Token: 0x040065AD RID: 26029
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40065AD")]
|
||||
private uint C3;
|
||||
|
||||
// Token: 0x040065AE RID: 26030
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40065AE")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x040065AF RID: 26031
|
||||
[Token(Token = "0x40065AF")]
|
||||
private const int BLOCK_SIZE = 16;
|
||||
}
|
||||
}
|
||||
+582
@@ -0,0 +1,582 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016A5 RID: 5797
|
||||
[Token(Token = "0x20016A5")]
|
||||
[StructLayout(3)]
|
||||
public class AesLightEngine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009B04 RID: 39684 RVA: 0x0022BA04 File Offset: 0x00229C04
|
||||
[Token(Token = "0x6009B04")]
|
||||
[Address(RVA = "0x7051F0", Offset = "0x703BF0", VA = "0x1807051F0")]
|
||||
private static uint Shift(uint r, int shift)
|
||||
{
|
||||
return r;
|
||||
}
|
||||
|
||||
// Token: 0x06009B05 RID: 39685 RVA: 0x0022BA14 File Offset: 0x00229C14
|
||||
[Token(Token = "0x6009B05")]
|
||||
[Address(RVA = "0x20536B0", Offset = "0x20520B0", VA = "0x1820536B0")]
|
||||
private static uint FFmulX(uint x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B05)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::FFmulX(System.UInt32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_05, mul:uint32[exp:int64](ldloc:uint32(x), conv.u4:uint32(ldc.i4:int32[exp:uint32](27))))
|
||||
}
|
||||
|
||||
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: 0x06009B06 RID: 39686 RVA: 0x0022BA28 File Offset: 0x00229C28
|
||||
[Token(Token = "0x6009B06")]
|
||||
[Address(RVA = "0x2053680", Offset = "0x2052080", VA = "0x182053680")]
|
||||
private static uint FFmulX2(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009B07 RID: 39687 RVA: 0x0022BA38 File Offset: 0x00229C38
|
||||
[Token(Token = "0x6009B07")]
|
||||
[Address(RVA = "0x22DC840", Offset = "0x22DB240", VA = "0x1822DC840")]
|
||||
private static uint Mcol(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009B08 RID: 39688 RVA: 0x0022BA48 File Offset: 0x00229C48
|
||||
[Token(Token = "0x6009B08")]
|
||||
[Address(RVA = "0x22DC780", Offset = "0x22DB180", VA = "0x1822DC780")]
|
||||
private static uint Inv_Mcol(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009B09 RID: 39689 RVA: 0x0022BA58 File Offset: 0x00229C58
|
||||
[Token(Token = "0x6009B09")]
|
||||
[Address(RVA = "0x22DCA50", Offset = "0x22DB450", VA = "0x1822DCA50")]
|
||||
private static uint SubWord(uint x)
|
||||
{
|
||||
int length = AesLightEngine.S.Length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B0A RID: 39690 RVA: 0x0022BA78 File Offset: 0x00229C78
|
||||
[Token(Token = "0x6009B0A")]
|
||||
[Address(RVA = "0x22DB040", Offset = "0x22D9A40", VA = "0x1822DB040")]
|
||||
private uint[][] GenerateWorkingKey(byte[] key, bool forEncryption)
|
||||
{
|
||||
uint[][] array;
|
||||
int i;
|
||||
for (;;)
|
||||
{
|
||||
if (key.Length == 7)
|
||||
{
|
||||
this.ROUNDS = key;
|
||||
array = new uint[key][];
|
||||
i = 0;
|
||||
uint[] array2 = new uint[4];
|
||||
if (array2 != 0)
|
||||
{
|
||||
}
|
||||
i++;
|
||||
array[0] = array2;
|
||||
while (i <= this.rcon)
|
||||
{
|
||||
}
|
||||
if (typeof(uint[]).TypeHandle == 0)
|
||||
{
|
||||
goto IL_3FB;
|
||||
}
|
||||
if (typeof(uint[]).TypeHandle != 0)
|
||||
{
|
||||
if (typeof(uint[]).TypeHandle == 0)
|
||||
{
|
||||
goto IL_1E5;
|
||||
}
|
||||
uint num;
|
||||
if (typeof(uint[]).TypeHandle != 0 && typeof(uint[]).TypeHandle == num)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
uint[] array3 = array[0];
|
||||
array3[0] = (uint)i;
|
||||
uint[] array4 = array[0];
|
||||
array4[0] = array3;
|
||||
uint[] array5 = array[0];
|
||||
array5[1] = array4;
|
||||
uint[] array6 = array[0];
|
||||
array6[1] = array5;
|
||||
uint[] array7 = array[1];
|
||||
array7[0] = array6;
|
||||
uint[] array8 = array[1];
|
||||
array8[0] = array7;
|
||||
uint[] array9 = array[1];
|
||||
array9[1] = array8;
|
||||
array[1][1] = array9;
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
uint num3 = AesLightEngine.SubWord(array9);
|
||||
ulong num4;
|
||||
array[(int)num4][0] = i;
|
||||
array[(int)num4][0] = array3;
|
||||
array[(int)num4][1] = array4;
|
||||
array[(int)num4][1] = array5;
|
||||
uint num5 = AesLightEngine.SubWord(array5);
|
||||
ulong num6 = num4 + 1UL;
|
||||
array[(int)num6][0] = array6;
|
||||
array[(int)num6][0] = array7;
|
||||
array[(int)num6][1] = array8;
|
||||
array[(int)num6][1] = array9;
|
||||
uint num7 = AesLightEngine.SubWord(array9);
|
||||
array[14][0] = (uint)i;
|
||||
array[14][0] = array3;
|
||||
array[14][1] = array4;
|
||||
uint[] array10 = array[14];
|
||||
array10[1] = array5;
|
||||
IL_1E5:
|
||||
uint[] array11 = array[0];
|
||||
array11[0] = array10;
|
||||
uint[] array12 = array[0];
|
||||
array12[0] = array11;
|
||||
uint[] array13 = array[0];
|
||||
array13[1] = array12;
|
||||
uint[] array14 = array[0];
|
||||
array14[1] = array13;
|
||||
uint[] array15 = array[1];
|
||||
array15[0] = array14;
|
||||
array[1][0] = array15;
|
||||
uint num8 = AesLightEngine.SubWord(array15);
|
||||
array[1][1] = num8;
|
||||
array[1][1] = array11;
|
||||
array[2][0] = array12;
|
||||
array[2][0] = array13;
|
||||
array[2][1] = array14;
|
||||
array[2][1] = array15;
|
||||
ulong num9;
|
||||
num9 += num9;
|
||||
uint num10 = AesLightEngine.SubWord(array15);
|
||||
uint num11;
|
||||
array[(int)num11][0] = num8;
|
||||
array[(int)num11][0] = array11;
|
||||
array[(int)num11][1] = array12;
|
||||
array[(int)num11][1] = array13;
|
||||
uint num12 = num11 + 1U;
|
||||
array[(int)num12][0] = array14;
|
||||
array[(int)num12][0] = array15;
|
||||
num9 += num9;
|
||||
uint num13 = AesLightEngine.SubWord(array15);
|
||||
array[(int)num12][1] = num8;
|
||||
array[(int)num12][1] = array11;
|
||||
num11 += (uint)2;
|
||||
array[(int)num11][0] = array12;
|
||||
array[(int)num11][0] = array13;
|
||||
array[(int)num11][1] = array14;
|
||||
uint[] array16 = array[(int)num11];
|
||||
num11 += (uint)3;
|
||||
array16[1] = array15;
|
||||
uint num14 = AesLightEngine.SubWord(array15);
|
||||
array[12][0] = num8;
|
||||
array[12][0] = array11;
|
||||
array[12][1] = array12;
|
||||
uint[] array17 = array[12];
|
||||
array17[1] = array13;
|
||||
IL_3FB:
|
||||
uint[] array18 = array[0];
|
||||
array18[0] = array17;
|
||||
uint[] array19 = array[0];
|
||||
array19[0] = array18;
|
||||
uint[] array20 = array[0];
|
||||
array20[1] = array19;
|
||||
array[0][1] = array20;
|
||||
uint num15 = AesLightEngine.SubWord(array20);
|
||||
byte[] array21 = AesLightEngine.rcon;
|
||||
uint num17;
|
||||
uint num16 = num17 - 1U;
|
||||
array[(int)num17][0] = array17;
|
||||
array[(int)num17][0] = array18;
|
||||
array[(int)num17][1] = array19;
|
||||
uint[] array22 = array[(int)num17];
|
||||
num17 += (uint)1;
|
||||
array22[1] = array20;
|
||||
while (num17 <= (uint)10)
|
||||
{
|
||||
}
|
||||
int num18 = 0;
|
||||
uint[] array23 = array[(int)num17];
|
||||
uint num19 = AesLightEngine.Inv_Mcol(array23[num18]);
|
||||
num18++;
|
||||
array23[0] = num19;
|
||||
num17 += (uint)1;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009B0B RID: 39691 RVA: 0x0022BF6C File Offset: 0x0022A16C
|
||||
[Token(Token = "0x6009B0B")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public AesLightEngine()
|
||||
{
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009B0C RID: 39692 RVA: 0x0022BF80 File Offset: 0x0022A180
|
||||
[Token(Token = "0x6009B0C")]
|
||||
[Address(RVA = "0x22DC670", Offset = "0x22DB070", VA = "0x1822DC670", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B0C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_22:
|
||||
stloc:ArgumentException(var_4_32, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to AES init - "), ldloc:string(var_3))))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x170018B7 RID: 6327
|
||||
// (get) Token: 0x06009B0D RID: 39693 RVA: 0x0022BFC0 File Offset: 0x0022A1C0
|
||||
[Token(Token = "0x170018B7")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B0D")]
|
||||
[Address(RVA = "0x22DCC40", Offset = "0x22DB640", VA = "0x1822DCC40", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return "AES";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018B8 RID: 6328
|
||||
// (get) Token: 0x06009B0E RID: 39694 RVA: 0x0022BFD4 File Offset: 0x0022A1D4
|
||||
[Token(Token = "0x170018B8")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009B0E")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B0F RID: 39695 RVA: 0x0022BFE4 File Offset: 0x0022A1E4
|
||||
[Token(Token = "0x6009B0F")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "13")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009B10 RID: 39696 RVA: 0x0022BFF4 File Offset: 0x0022A1F4
|
||||
[Token(Token = "0x6009B10")]
|
||||
[Address(RVA = "0x22DC8D0", Offset = "0x22DB2D0", VA = "0x1822DC8D0", Slot = "14")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B10)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.AesLightEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5D:
|
||||
stloc:InvalidOperationException(var_7_67, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("AES engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009B11 RID: 39697 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009B11")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "15")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009B12 RID: 39698 RVA: 0x0022C06C File Offset: 0x0022A26C
|
||||
[Token(Token = "0x6009B12")]
|
||||
[Address(RVA = "0x2055280", Offset = "0x2053C80", VA = "0x182055280")]
|
||||
private void UnPackBlock(byte[] bytes, int off)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009B13 RID: 39699 RVA: 0x0022C07C File Offset: 0x0022A27C
|
||||
[Token(Token = "0x6009B13")]
|
||||
[Address(RVA = "0x2054F70", Offset = "0x2053970", VA = "0x182054F70")]
|
||||
private void PackBlock(byte[] bytes, int off)
|
||||
{
|
||||
Ed25519.Encode32(this.C0, bytes, off);
|
||||
Ed25519.Encode32(this.C1, bytes, off);
|
||||
Ed25519.Encode32(this.C2, bytes, off);
|
||||
Ed25519.Encode32(this.C3, bytes, off);
|
||||
}
|
||||
|
||||
// Token: 0x06009B14 RID: 39700 RVA: 0x0022C0C0 File Offset: 0x0022A2C0
|
||||
[Token(Token = "0x6009B14")]
|
||||
[Address(RVA = "0x22D9D00", Offset = "0x22D8700", VA = "0x1822D9D00")]
|
||||
private void EncryptBlock(uint[][] KW)
|
||||
{
|
||||
int length = KW.Length;
|
||||
uint[] array = KW[0];
|
||||
int length2 = array.Length;
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
uint num3 = array[1];
|
||||
uint num4 = array[1];
|
||||
if (array > (uint)1)
|
||||
{
|
||||
int length3 = AesLightEngine.S.Length;
|
||||
num2 = num4;
|
||||
byte b;
|
||||
uint num5 = AesLightEngine.Mcol((uint)b);
|
||||
uint[] array2;
|
||||
uint num6 = array2[0];
|
||||
int length4 = AesLightEngine.S.Length;
|
||||
byte b2;
|
||||
uint num7 = AesLightEngine.Mcol((uint)b2);
|
||||
uint num8 = array2[0];
|
||||
int length5 = AesLightEngine.S.Length;
|
||||
num4 = num2;
|
||||
byte b3;
|
||||
uint num9 = AesLightEngine.Mcol((uint)b3);
|
||||
uint num10 = array2[1];
|
||||
int length6 = AesLightEngine.S.Length;
|
||||
byte b4;
|
||||
uint num11 = AesLightEngine.Mcol((uint)b4);
|
||||
uint num12 = array2[1];
|
||||
int length7 = AesLightEngine.S.Length;
|
||||
byte b5;
|
||||
uint num13 = AesLightEngine.Mcol((uint)b5);
|
||||
int length8 = AesLightEngine.S.Length;
|
||||
byte b6;
|
||||
uint num14 = AesLightEngine.Mcol((uint)b6);
|
||||
int length9 = AesLightEngine.S.Length;
|
||||
byte b7;
|
||||
uint num15 = AesLightEngine.Mcol((uint)b7);
|
||||
int length10 = AesLightEngine.S.Length;
|
||||
byte b8;
|
||||
uint num16 = AesLightEngine.Mcol((uint)b8);
|
||||
}
|
||||
int length11 = AesLightEngine.S.Length;
|
||||
byte b9;
|
||||
uint num17 = AesLightEngine.Mcol((uint)b9);
|
||||
uint[] array3;
|
||||
uint num18 = array3[0];
|
||||
int length12 = AesLightEngine.S.Length;
|
||||
byte b10;
|
||||
uint num19 = AesLightEngine.Mcol((uint)b10);
|
||||
uint num20 = array3[0];
|
||||
int length13 = AesLightEngine.S.Length;
|
||||
byte b11;
|
||||
uint num21 = AesLightEngine.Mcol((uint)b11);
|
||||
uint num22 = array3[1];
|
||||
int length14 = AesLightEngine.S.Length;
|
||||
byte b12;
|
||||
uint num23 = AesLightEngine.Mcol((uint)b12);
|
||||
uint num24 = array3[1];
|
||||
uint num25;
|
||||
num25 += (uint)1;
|
||||
int length15 = AesLightEngine.S.Length;
|
||||
int length16 = AesLightEngine.S.Length;
|
||||
int length17 = AesLightEngine.S.Length;
|
||||
int length18 = AesLightEngine.S.Length;
|
||||
}
|
||||
|
||||
// Token: 0x06009B15 RID: 39701 RVA: 0x0022C340 File Offset: 0x0022A540
|
||||
[Token(Token = "0x6009B15")]
|
||||
[Address(RVA = "0x22D89E0", Offset = "0x22D73E0", VA = "0x1822D89E0")]
|
||||
private void DecryptBlock(uint[][] KW)
|
||||
{
|
||||
int length = KW.Length;
|
||||
uint[] array;
|
||||
int length2 = array.Length;
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
uint num3 = array[1];
|
||||
uint num4 = array[1];
|
||||
uint[] array2 = KW[array];
|
||||
int length3 = AesLightEngine.Si.Length;
|
||||
byte b;
|
||||
uint num5 = AesLightEngine.Inv_Mcol((uint)b);
|
||||
uint num6 = array2[0];
|
||||
int length4 = AesLightEngine.Si.Length;
|
||||
byte b2;
|
||||
uint num7 = AesLightEngine.Inv_Mcol((uint)b2);
|
||||
uint num8 = array2[0];
|
||||
int length5 = AesLightEngine.Si.Length;
|
||||
byte b3;
|
||||
uint num9 = AesLightEngine.Inv_Mcol((uint)b3);
|
||||
uint num10 = array2[1];
|
||||
int length6 = AesLightEngine.Si.Length;
|
||||
byte b4;
|
||||
uint num11 = AesLightEngine.Inv_Mcol((uint)b4);
|
||||
uint num12 = array2[1];
|
||||
int length7 = AesLightEngine.Si.Length;
|
||||
byte b5;
|
||||
uint num13 = AesLightEngine.Inv_Mcol((uint)b5);
|
||||
int length8 = AesLightEngine.Si.Length;
|
||||
byte b6;
|
||||
uint num14 = AesLightEngine.Inv_Mcol((uint)b6);
|
||||
int length9 = AesLightEngine.Si.Length;
|
||||
byte b7;
|
||||
uint num15 = AesLightEngine.Inv_Mcol((uint)b7);
|
||||
int length10 = AesLightEngine.Si.Length;
|
||||
byte b8;
|
||||
uint num16 = AesLightEngine.Inv_Mcol((uint)b8);
|
||||
uint[] array3 = KW[1];
|
||||
int length11 = AesLightEngine.Si.Length;
|
||||
byte b9;
|
||||
uint num17 = AesLightEngine.Inv_Mcol((uint)b9);
|
||||
uint num18 = array3[0];
|
||||
int length12 = AesLightEngine.Si.Length;
|
||||
byte b10;
|
||||
uint num19 = AesLightEngine.Inv_Mcol((uint)b10);
|
||||
uint num20 = array3[0];
|
||||
int length13 = AesLightEngine.Si.Length;
|
||||
byte b11;
|
||||
uint num21 = AesLightEngine.Inv_Mcol((uint)b11);
|
||||
uint num22 = array3[1];
|
||||
int length14 = AesLightEngine.Si.Length;
|
||||
byte b12;
|
||||
uint num23 = AesLightEngine.Inv_Mcol((uint)b12);
|
||||
uint num24 = array3[1];
|
||||
int length15 = AesLightEngine.Si.Length;
|
||||
int length16 = AesLightEngine.Si.Length;
|
||||
int length17 = AesLightEngine.Si.Length;
|
||||
int length18 = AesLightEngine.Si.Length;
|
||||
}
|
||||
|
||||
// Token: 0x06009B16 RID: 39702 RVA: 0x0022C5B8 File Offset: 0x0022A7B8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009B16")]
|
||||
[Address(RVA = "0x22DCB70", Offset = "0x22DB570", VA = "0x1822DCB70")]
|
||||
static AesLightEngine()
|
||||
{
|
||||
byte[] array = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.8F22C9ECE1331718CBD268A9BBFD2F5E451441E3).FieldHandle);
|
||||
AesLightEngine.S = array;
|
||||
byte[] array2 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.0C4110BC17D746F018F47B49E0EB0D6590F69939).FieldHandle);
|
||||
AesLightEngine.Si = array2;
|
||||
byte[] array3 = new byte[30];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.B8DB0CB599EDD82A386D1A154FB3EB9235513DAD).FieldHandle);
|
||||
AesLightEngine.rcon = array3;
|
||||
}
|
||||
|
||||
// Token: 0x040065B0 RID: 26032
|
||||
[Token(Token = "0x40065B0")]
|
||||
private static readonly byte[] S;
|
||||
|
||||
// Token: 0x040065B1 RID: 26033
|
||||
[Token(Token = "0x40065B1")]
|
||||
private static readonly byte[] Si;
|
||||
|
||||
// Token: 0x040065B2 RID: 26034
|
||||
[Token(Token = "0x40065B2")]
|
||||
private static readonly byte[] rcon;
|
||||
|
||||
// Token: 0x040065B3 RID: 26035
|
||||
[Token(Token = "0x40065B3")]
|
||||
private const uint m1 = 2155905152U;
|
||||
|
||||
// Token: 0x040065B4 RID: 26036
|
||||
[Token(Token = "0x40065B4")]
|
||||
private const uint m2 = 2139062143U;
|
||||
|
||||
// Token: 0x040065B5 RID: 26037
|
||||
[Token(Token = "0x40065B5")]
|
||||
private const uint m3 = 27U;
|
||||
|
||||
// Token: 0x040065B6 RID: 26038
|
||||
[Token(Token = "0x40065B6")]
|
||||
private const uint m4 = 3233857728U;
|
||||
|
||||
// Token: 0x040065B7 RID: 26039
|
||||
[Token(Token = "0x40065B7")]
|
||||
private const uint m5 = 1061109567U;
|
||||
|
||||
// Token: 0x040065B8 RID: 26040
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40065B8")]
|
||||
private int ROUNDS;
|
||||
|
||||
// Token: 0x040065B9 RID: 26041
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40065B9")]
|
||||
private uint[][] WorkingKey;
|
||||
|
||||
// Token: 0x040065BA RID: 26042
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40065BA")]
|
||||
private uint C0;
|
||||
|
||||
// Token: 0x040065BB RID: 26043
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x40065BB")]
|
||||
private uint C1;
|
||||
|
||||
// Token: 0x040065BC RID: 26044
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40065BC")]
|
||||
private uint C2;
|
||||
|
||||
// Token: 0x040065BD RID: 26045
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x40065BD")]
|
||||
private uint C3;
|
||||
|
||||
// Token: 0x040065BE RID: 26046
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40065BE")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x040065BF RID: 26047
|
||||
[Token(Token = "0x40065BF")]
|
||||
private const int BLOCK_SIZE = 16;
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016A6 RID: 5798
|
||||
[Token(Token = "0x20016A6")]
|
||||
[StructLayout(3)]
|
||||
public class AesWrapEngine : Rfc3394WrapEngine
|
||||
{
|
||||
// Token: 0x06009B17 RID: 39703 RVA: 0x0022C618 File Offset: 0x0022A818
|
||||
[Token(Token = "0x6009B17")]
|
||||
[Address(RVA = "0x22DCC70", Offset = "0x22DB670", VA = "0x1822DCC70")]
|
||||
public AesWrapEngine()
|
||||
{
|
||||
AesEngine aesEngine = new AesEngine();
|
||||
base..ctor(aesEngine);
|
||||
}
|
||||
}
|
||||
}
|
||||
+370
@@ -0,0 +1,370 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016A7 RID: 5799
|
||||
[Token(Token = "0x20016A7")]
|
||||
[StructLayout(3)]
|
||||
public sealed class BlowfishEngine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009B18 RID: 39704 RVA: 0x0022C634 File Offset: 0x0022A834
|
||||
[Token(Token = "0x6009B18")]
|
||||
[Address(RVA = "0x22DDBE0", Offset = "0x22DC5E0", VA = "0x1822DDBE0")]
|
||||
public BlowfishEngine()
|
||||
{
|
||||
this.Reset();
|
||||
uint[] array = new uint[BlowfishEngine.SBOX_SK];
|
||||
this.S0 = array;
|
||||
uint[] array2 = new uint[BlowfishEngine.SBOX_SK];
|
||||
this.S1 = array2;
|
||||
uint[] array3 = new uint[BlowfishEngine.SBOX_SK];
|
||||
this.S2 = array3;
|
||||
uint[] array4 = new uint[BlowfishEngine.SBOX_SK];
|
||||
this.S3 = array4;
|
||||
uint[] array5 = new uint[BlowfishEngine.P_SZ];
|
||||
this.P = array5;
|
||||
}
|
||||
|
||||
// Token: 0x06009B19 RID: 39705 RVA: 0x0022C6A4 File Offset: 0x0022A8A4
|
||||
[Token(Token = "0x6009B19")]
|
||||
[Address(RVA = "0x22DD130", Offset = "0x22DBB30", VA = "0x1822DD130", Slot = "5")]
|
||||
public void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B19)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.BlowfishEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2C:
|
||||
stloc:ArgumentException(var_5_3D, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to Blowfish init - "), ldloc:string(var_4))))
|
||||
}
|
||||
|
||||
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: 0x170018B9 RID: 6329
|
||||
// (get) Token: 0x06009B1A RID: 39706 RVA: 0x0022C6F0 File Offset: 0x0022A8F0
|
||||
[Token(Token = "0x170018B9")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B1A")]
|
||||
[Address(RVA = "0x22DDCE0", Offset = "0x22DC6E0", VA = "0x1822DDCE0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "Blowfish";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018BA RID: 6330
|
||||
// (get) Token: 0x06009B1B RID: 39707 RVA: 0x0022C704 File Offset: 0x0022A904
|
||||
[Token(Token = "0x170018BA")]
|
||||
public bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009B1B")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "7")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B1C RID: 39708 RVA: 0x0022C714 File Offset: 0x0022A914
|
||||
[Token(Token = "0x6009B1C")]
|
||||
[Address(RVA = "0x22DD2D0", Offset = "0x22DBCD0", VA = "0x1822DD2D0", Slot = "8")]
|
||||
public int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B1C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.BlowfishEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_25:
|
||||
stloc:InvalidOperationException(var_1_2F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Blowfish not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009B1D RID: 39709 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009B1D")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "9")]
|
||||
public void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009B1E RID: 39710 RVA: 0x0022C750 File Offset: 0x0022A950
|
||||
[Token(Token = "0x6009B1E")]
|
||||
[Address(RVA = "0x56E570", Offset = "0x56CF70", VA = "0x18056E570", Slot = "6")]
|
||||
public int GetBlockSize()
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
|
||||
// Token: 0x06009B1F RID: 39711 RVA: 0x0022C760 File Offset: 0x0022A960
|
||||
[Token(Token = "0x6009B1F")]
|
||||
[Address(RVA = "0x22DD070", Offset = "0x22DBA70", VA = "0x1822DD070")]
|
||||
private uint F(uint x)
|
||||
{
|
||||
uint[] s = this.S0;
|
||||
uint[] s2 = this.S1;
|
||||
uint[] s3 = this.S2;
|
||||
uint[] s4 = this.S3;
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009B20 RID: 39712 RVA: 0x0022C790 File Offset: 0x0022A990
|
||||
[Token(Token = "0x6009B20")]
|
||||
[Address(RVA = "0x22DD3D0", Offset = "0x22DBDD0", VA = "0x1822DD3D0")]
|
||||
private void ProcessTable(uint xl, uint xr, uint[] table)
|
||||
{
|
||||
int length = table.Length;
|
||||
int num = 0;
|
||||
if (length > 0)
|
||||
{
|
||||
uint[] p = this.P;
|
||||
uint num2 = this.F(xl);
|
||||
uint[] p2 = this.P;
|
||||
uint num3 = this.F(xl);
|
||||
uint[] p3 = this.P;
|
||||
uint num5;
|
||||
uint num4 = num5 + 1U;
|
||||
uint num6 = p3[(int)num4];
|
||||
num5 += (uint)2;
|
||||
uint[] p4 = this.P;
|
||||
num3 += (uint)1;
|
||||
uint num7 = p4[(int)num3];
|
||||
table[0] = num7;
|
||||
table[0] = xl;
|
||||
num += 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B21 RID: 39713 RVA: 0x0022C824 File Offset: 0x0022AA24
|
||||
[Token(Token = "0x6009B21")]
|
||||
[Address(RVA = "0x22DD610", Offset = "0x22DC010", VA = "0x1822DD610")]
|
||||
private void SetKey(byte[] key)
|
||||
{
|
||||
int num = 0;
|
||||
uint[] s = this.S0;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
int sbox_SK = BlowfishEngine.SBOX_SK;
|
||||
Array.Copy(BlowfishEngine.KS0, num3, s, num2, sbox_SK);
|
||||
int num4 = 0;
|
||||
uint[] s2 = this.S1;
|
||||
int num5 = 0;
|
||||
int sbox_SK2 = BlowfishEngine.SBOX_SK;
|
||||
Array.Copy(BlowfishEngine.KS1, num5, s2, num4, sbox_SK2);
|
||||
int num6 = 0;
|
||||
uint[] s3 = this.S2;
|
||||
int num7 = 0;
|
||||
int sbox_SK3 = BlowfishEngine.SBOX_SK;
|
||||
Array.Copy(BlowfishEngine.KS2, num7, s3, num6, sbox_SK3);
|
||||
int num8 = 0;
|
||||
uint[] s4 = this.S3;
|
||||
int num9 = 0;
|
||||
int sbox_SK4 = BlowfishEngine.SBOX_SK;
|
||||
Array.Copy(BlowfishEngine.KS3, num9, s4, num8, sbox_SK4);
|
||||
int num10 = 0;
|
||||
uint[] p = this.P;
|
||||
int num11 = 0;
|
||||
int p_SZ = BlowfishEngine.P_SZ;
|
||||
Array.Copy(BlowfishEngine.KP, num11, p, num10, p_SZ);
|
||||
int length = key.Length;
|
||||
int length2 = key.Length;
|
||||
num++;
|
||||
uint[] p2 = this.P;
|
||||
num++;
|
||||
uint[] p3 = this.P;
|
||||
int num12 = 0;
|
||||
int num13 = 0;
|
||||
this.ProcessTable((uint)num13, (uint)num12, p3);
|
||||
uint[] p4 = this.P;
|
||||
int p_SZ2 = BlowfishEngine.P_SZ;
|
||||
uint num14 = this.P[p_SZ2];
|
||||
uint[] s5 = this.S0;
|
||||
uint num15;
|
||||
this.ProcessTable(num15, num14, s5);
|
||||
uint[] s6 = this.S0;
|
||||
int sbox_SK5 = BlowfishEngine.SBOX_SK;
|
||||
int length3 = s6.Length;
|
||||
uint num16 = s6[(int)num14];
|
||||
uint num17 = s6[sbox_SK5];
|
||||
uint[] s7 = this.S1;
|
||||
this.ProcessTable(num16, num17, s7);
|
||||
uint[] s8 = this.S1;
|
||||
int sbox_SK6 = BlowfishEngine.SBOX_SK;
|
||||
int length4 = s8.Length;
|
||||
uint num18 = s8[(int)num17];
|
||||
uint num19 = s8[sbox_SK6];
|
||||
uint[] s9 = this.S2;
|
||||
this.ProcessTable(num18, num19, s9);
|
||||
uint[] s10 = this.S2;
|
||||
int sbox_SK7 = BlowfishEngine.SBOX_SK;
|
||||
int length5 = s10.Length;
|
||||
uint num20 = s10[(int)num19];
|
||||
uint num21 = s10[sbox_SK7];
|
||||
uint[] s11 = this.S3;
|
||||
this.ProcessTable(num20, num21, s11);
|
||||
}
|
||||
|
||||
// Token: 0x06009B22 RID: 39714 RVA: 0x0022CA28 File Offset: 0x0022AC28
|
||||
[Token(Token = "0x6009B22")]
|
||||
[Address(RVA = "0x22DCE90", Offset = "0x22DB890", VA = "0x1822DCE90")]
|
||||
private void EncryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
|
||||
{
|
||||
uint[] p = this.P;
|
||||
uint num = this.F((uint)srcIndex);
|
||||
uint[] p2 = this.P;
|
||||
uint num2 = this.F((uint)srcIndex);
|
||||
uint[] p3 = this.P;
|
||||
uint num4;
|
||||
uint num3 = num4 + 1U;
|
||||
uint num5 = p3[(int)num3];
|
||||
num4 += (uint)2;
|
||||
uint[] p4 = this.P;
|
||||
num2 += (uint)1;
|
||||
uint num6 = p4[(int)num2];
|
||||
}
|
||||
|
||||
// Token: 0x06009B23 RID: 39715 RVA: 0x0022CA98 File Offset: 0x0022AC98
|
||||
[Token(Token = "0x6009B23")]
|
||||
[Address(RVA = "0x22DCCD0", Offset = "0x22DB6D0", VA = "0x1822DCCD0")]
|
||||
private void DecryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
|
||||
{
|
||||
uint[] p = this.P;
|
||||
int rounds = BlowfishEngine.ROUNDS;
|
||||
int num = rounds + 1;
|
||||
if (rounds > 0)
|
||||
{
|
||||
uint num2 = this.F((uint)srcIndex);
|
||||
uint[] p2 = this.P;
|
||||
uint num3 = this.F((uint)srcIndex);
|
||||
uint[] p3 = this.P;
|
||||
int num4 = rounds - 1;
|
||||
}
|
||||
uint num5 = this.P[0];
|
||||
}
|
||||
|
||||
// Token: 0x06009B24 RID: 39716 RVA: 0x0022CAF4 File Offset: 0x0022ACF4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009B24")]
|
||||
[Address(RVA = "0x22DDA60", Offset = "0x22DC460", VA = "0x1822DDA60")]
|
||||
static BlowfishEngine()
|
||||
{
|
||||
uint[] array = new uint[18];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.643A9D76937E94519B73BE072D65E79BAFF3C213).FieldHandle);
|
||||
BlowfishEngine.KP = array;
|
||||
uint[] array2 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.E117A40BF9A3AE32474AD7B22EB4C60E95D3BE2A).FieldHandle);
|
||||
BlowfishEngine.KS0 = array2;
|
||||
uint[] array3 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.6F576E8737EAAC9B6B12BDFC370048CD205E2CDD).FieldHandle);
|
||||
BlowfishEngine.KS1 = array3;
|
||||
uint[] array4 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.E2F8F75B7ABE5A6E4ECF5E32B935909BE2CC9F4B).FieldHandle);
|
||||
BlowfishEngine.KS2 = array4;
|
||||
uint[] array5 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.1C1237F52E2ED7B4D229AE3978DA144B9E653F5E).FieldHandle);
|
||||
BlowfishEngine.KS3 = array5;
|
||||
int num = BlowfishEngine.ROUNDS;
|
||||
num += 2;
|
||||
BlowfishEngine.P_SZ = num;
|
||||
}
|
||||
|
||||
// Token: 0x040065C0 RID: 26048
|
||||
[Token(Token = "0x40065C0")]
|
||||
private static readonly uint[] KP;
|
||||
|
||||
// Token: 0x040065C1 RID: 26049
|
||||
[Token(Token = "0x40065C1")]
|
||||
private static readonly uint[] KS0;
|
||||
|
||||
// Token: 0x040065C2 RID: 26050
|
||||
[Token(Token = "0x40065C2")]
|
||||
private static readonly uint[] KS1;
|
||||
|
||||
// Token: 0x040065C3 RID: 26051
|
||||
[Token(Token = "0x40065C3")]
|
||||
private static readonly uint[] KS2;
|
||||
|
||||
// Token: 0x040065C4 RID: 26052
|
||||
[Token(Token = "0x40065C4")]
|
||||
private static readonly uint[] KS3;
|
||||
|
||||
// Token: 0x040065C5 RID: 26053
|
||||
[Token(Token = "0x40065C5")]
|
||||
private static readonly int ROUNDS;
|
||||
|
||||
// Token: 0x040065C6 RID: 26054
|
||||
[Token(Token = "0x40065C6")]
|
||||
private const int BLOCK_SIZE = 8;
|
||||
|
||||
// Token: 0x040065C7 RID: 26055
|
||||
[Token(Token = "0x40065C7")]
|
||||
private static readonly int SBOX_SK;
|
||||
|
||||
// Token: 0x040065C8 RID: 26056
|
||||
[Token(Token = "0x40065C8")]
|
||||
private static readonly int P_SZ;
|
||||
|
||||
// Token: 0x040065C9 RID: 26057
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40065C9")]
|
||||
private readonly uint[] S0;
|
||||
|
||||
// Token: 0x040065CA RID: 26058
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40065CA")]
|
||||
private readonly uint[] S1;
|
||||
|
||||
// Token: 0x040065CB RID: 26059
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40065CB")]
|
||||
private readonly uint[] S2;
|
||||
|
||||
// Token: 0x040065CC RID: 26060
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40065CC")]
|
||||
private readonly uint[] S3;
|
||||
|
||||
// Token: 0x040065CD RID: 26061
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40065CD")]
|
||||
private readonly uint[] P;
|
||||
|
||||
// Token: 0x040065CE RID: 26062
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40065CE")]
|
||||
private bool encrypting;
|
||||
|
||||
// Token: 0x040065CF RID: 26063
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40065CF")]
|
||||
private byte[] workingKey;
|
||||
}
|
||||
}
|
||||
+562
@@ -0,0 +1,562 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016A8 RID: 5800
|
||||
[Token(Token = "0x20016A8")]
|
||||
[StructLayout(3)]
|
||||
public class CamelliaEngine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009B25 RID: 39717 RVA: 0x0022CBA8 File Offset: 0x0022ADA8
|
||||
[Token(Token = "0x6009B25")]
|
||||
[Address(RVA = "0x22DFAE0", Offset = "0x22DE4E0", VA = "0x1822DFAE0")]
|
||||
private static uint rightRotate(uint x, int s)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009B26 RID: 39718 RVA: 0x0022CBB8 File Offset: 0x0022ADB8
|
||||
[Token(Token = "0x6009B26")]
|
||||
[Address(RVA = "0x22DEF90", Offset = "0x22DD990", VA = "0x1822DEF90")]
|
||||
private static uint leftRotate(uint x, int s)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009B27 RID: 39719 RVA: 0x0022CBC8 File Offset: 0x0022ADC8
|
||||
[Token(Token = "0x6009B27")]
|
||||
[Address(RVA = "0x22DFB00", Offset = "0x22DE500", VA = "0x1822DFB00")]
|
||||
private static void roldq(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
|
||||
{
|
||||
int length = ki.Length;
|
||||
uint num = ki[ioff];
|
||||
int num2 = ioff + 1;
|
||||
uint num3 = ki[num2];
|
||||
ko[0] = num3;
|
||||
int length2 = ki.Length;
|
||||
uint num4 = ki[(int)num];
|
||||
ko[0] = num4;
|
||||
int length3 = ki.Length;
|
||||
uint num5 = ki[(int)num4];
|
||||
ko[0] = num5;
|
||||
int length4 = ki.Length;
|
||||
ko[0] = num5;
|
||||
uint num6;
|
||||
ki[0] = num6;
|
||||
uint num7;
|
||||
ki[0] = num7;
|
||||
ki[0] = num7;
|
||||
}
|
||||
|
||||
// Token: 0x06009B28 RID: 39720 RVA: 0x0022CC68 File Offset: 0x0022AE68
|
||||
[Token(Token = "0x6009B28")]
|
||||
[Address(RVA = "0x22DE8F0", Offset = "0x22DD2F0", VA = "0x1822DE8F0")]
|
||||
private static void decroldq(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
|
||||
{
|
||||
int length = ki.Length;
|
||||
uint num = ki[ioff];
|
||||
int num2 = ioff + 1;
|
||||
uint num3 = ki[num2];
|
||||
ko[0] = num3;
|
||||
int length2 = ki.Length;
|
||||
uint num4 = ki[(int)num];
|
||||
ko[0] = num4;
|
||||
int length3 = ki.Length;
|
||||
uint num5 = ki[(int)num];
|
||||
uint num6 = ki[(int)num4];
|
||||
ko[0] = num6;
|
||||
int length4 = ki.Length;
|
||||
ko[0] = num6;
|
||||
uint num7;
|
||||
ki[0] = num7;
|
||||
uint num8;
|
||||
ki[0] = num8;
|
||||
ki[0] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x06009B29 RID: 39721 RVA: 0x0022CD08 File Offset: 0x0022AF08
|
||||
[Token(Token = "0x6009B29")]
|
||||
[Address(RVA = "0x22DFE40", Offset = "0x22DE840", VA = "0x1822DFE40")]
|
||||
private static void roldqo32(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
|
||||
{
|
||||
int length = ki.Length;
|
||||
int num = ioff + 1;
|
||||
uint num2;
|
||||
ko[0] = num2;
|
||||
int length2 = ki.Length;
|
||||
uint num3 = ki[(int)num2];
|
||||
ko[0] = num3;
|
||||
int length3 = ki.Length;
|
||||
uint num4 = ki[(int)num2];
|
||||
uint num5 = ki[ioff];
|
||||
ko[0] = num5;
|
||||
int length4 = ki.Length;
|
||||
uint num6 = ki[num];
|
||||
ko[0] = num6;
|
||||
uint num7;
|
||||
ki[0] = num7;
|
||||
uint num8;
|
||||
ki[0] = num8;
|
||||
uint num9 = ko[(int)num3];
|
||||
ki[0] = num9;
|
||||
}
|
||||
|
||||
// Token: 0x06009B2A RID: 39722 RVA: 0x0022CDB4 File Offset: 0x0022AFB4
|
||||
[Token(Token = "0x6009B2A")]
|
||||
[Address(RVA = "0x22DEC30", Offset = "0x22DD630", VA = "0x1822DEC30")]
|
||||
private static void decroldqo32(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
|
||||
{
|
||||
int length = ki.Length;
|
||||
int num = ioff + 1;
|
||||
uint num2;
|
||||
ko[0] = num2;
|
||||
int length2 = ki.Length;
|
||||
uint num3 = ki[(int)num2];
|
||||
ko[0] = num3;
|
||||
int length3 = ki.Length;
|
||||
uint num4 = ki[(int)num2];
|
||||
uint num5 = ki[ioff];
|
||||
ko[0] = num5;
|
||||
int length4 = ki.Length;
|
||||
uint num6 = ki[num];
|
||||
ko[0] = num6;
|
||||
uint num7;
|
||||
ki[0] = num7;
|
||||
uint num8;
|
||||
ki[0] = num8;
|
||||
uint num9;
|
||||
ki[0] = num9;
|
||||
}
|
||||
|
||||
// Token: 0x06009B2B RID: 39723 RVA: 0x0022CE50 File Offset: 0x0022B050
|
||||
[Token(Token = "0x6009B2B")]
|
||||
[Address(RVA = "0x22DE140", Offset = "0x22DCB40", VA = "0x1822DE140")]
|
||||
private static uint bytes2uint(byte[] src, int offset)
|
||||
{
|
||||
int num = 0;
|
||||
byte b;
|
||||
num += (int)b;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B2C RID: 39724 RVA: 0x0022CE68 File Offset: 0x0022B068
|
||||
[Token(Token = "0x6009B2C")]
|
||||
[Address(RVA = "0x22E1FB0", Offset = "0x22E09B0", VA = "0x1822E1FB0")]
|
||||
private static void uint2bytes(uint word, byte[] dst, int offset)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x06009B2D RID: 39725 RVA: 0x0022CE84 File Offset: 0x0022B084
|
||||
[Token(Token = "0x6009B2D")]
|
||||
[Address(RVA = "0x22DE1A0", Offset = "0x22DCBA0", VA = "0x1822DE1A0")]
|
||||
private static void camelliaF2(uint[] s, uint[] skey, int keyoff)
|
||||
{
|
||||
uint num = skey[keyoff];
|
||||
uint[] sbox4_ = CamelliaEngine.SBOX4_4404;
|
||||
uint[] sbox3_ = CamelliaEngine.SBOX3_3033;
|
||||
uint num2 = sbox4_[(int)num];
|
||||
uint[] sbox2_ = CamelliaEngine.SBOX2_0222;
|
||||
uint[] sbox1_ = CamelliaEngine.SBOX1_1110;
|
||||
int length = s.Length;
|
||||
int num3 = keyoff + 1;
|
||||
uint num4 = skey[num3];
|
||||
num4 += num4;
|
||||
s[1] = num4;
|
||||
uint num5 = skey[(int)num4];
|
||||
uint[] sbox4_2 = CamelliaEngine.SBOX4_4404;
|
||||
uint[] sbox3_2 = CamelliaEngine.SBOX3_3033;
|
||||
uint[] sbox2_2 = CamelliaEngine.SBOX2_0222;
|
||||
int length2 = CamelliaEngine.SBOX1_1110.Length;
|
||||
uint num6 = skey[(int)num5];
|
||||
uint num7 = s[0];
|
||||
s[0] = num7;
|
||||
num6 += num7;
|
||||
s[0] = num6;
|
||||
}
|
||||
|
||||
// Token: 0x06009B2E RID: 39726 RVA: 0x0022CF50 File Offset: 0x0022B150
|
||||
[Token(Token = "0x6009B2E")]
|
||||
[Address(RVA = "0x22DE710", Offset = "0x22DD110", VA = "0x1822DE710")]
|
||||
private static void camelliaFLs(uint[] s, uint[] fkey, int keyoff)
|
||||
{
|
||||
s[0] = typeof(CamelliaEngine).TypeHandle;
|
||||
int length = s.Length;
|
||||
int num = keyoff + 1;
|
||||
uint num2 = fkey[num];
|
||||
s[1] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x06009B2F RID: 39727 RVA: 0x0022CF8C File Offset: 0x0022B18C
|
||||
[Token(Token = "0x6009B2F")]
|
||||
[Address(RVA = "0x22E0170", Offset = "0x22DEB70", VA = "0x1822E0170")]
|
||||
private void setKey(bool forEncryption, byte[] key)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B2F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaEngine::setKey(System.Boolean,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A98:
|
||||
stloc:uint32(var_223_A9F, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(0)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_169_824), ldc.i4:int32(0), ldloc:uint32(var_223_A9F))
|
||||
stloc:uint32[](var_224_AB1, ldfld:uint32[](CamelliaEngine::kw, ldloc:CamelliaEngine(this)))
|
||||
stloc:uint32(var_225_ABA, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(0)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_224_AB1), ldc.i4:int32(0), ldloc:uint32(var_225_ABA))
|
||||
stloc:uint32[](var_226_ACC, ldfld:uint32[](CamelliaEngine::kw, ldloc:CamelliaEngine(this)))
|
||||
stloc:uint32(var_227_AD5, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(1)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_226_ACC), ldc.i4:int32(1), ldloc:uint32(var_227_AD5))
|
||||
stloc:uint32[](var_228_AE7, ldfld:uint32[](CamelliaEngine::kw, ldloc:CamelliaEngine(this)))
|
||||
stloc:uint32(var_229_AF0, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(1)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_228_AE7), ldc.i4:int32(1), ldloc:uint32(var_229_AF0))
|
||||
stloc:uint32[](var_230_B02, ldfld:uint32[](CamelliaEngine::subkey, ldloc:CamelliaEngine(this)))
|
||||
stloc:int32(var_231_B05, ldc.i4:int32(0))
|
||||
call:void(CamelliaEngine::roldq, ldc.i4:int32(15), ldloc:uint32[](var_1_06), ldloc:int32(var_231_B05), ldloc:uint32[](var_230_B02), ldloc:uint64[exp:int32](var_232))
|
||||
stloc:uint32[](var_233_B1B, ldfld:uint32[](CamelliaEngine::subkey, ldloc:CamelliaEngine(this)))
|
||||
stloc:int32(var_234_B1E, ldc.i4:int32(0))
|
||||
call:void(CamelliaEngine::roldq, ldc.i4:int32(30), ldloc:uint32[](var_1_06), ldloc:int32(var_234_B1E), ldloc:uint32[](var_233_B1B), ldloc:uint64[exp:int32](var_235))
|
||||
stloc:int32(var_236_B2F, ldc.i4:int32(0))
|
||||
call:void(CamelliaEngine::roldq, ldc.i4:int32(15), ldloc:uint32[](var_1_06), ldloc:int32(var_236_B2F), ldloc:uint32[](var_7_1C), ldloc:int32(var_9_259))
|
||||
stloc:uint32[](var_237_B45, ldfld:uint32[](CamelliaEngine::subkey, ldloc:CamelliaEngine(this)))
|
||||
stloc:uint32(var_238_B4F, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_7_1C), ldc.i4:int32(1)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_237_B45), ldc.i4:int32(9), ldloc:uint32(var_238_B4F))
|
||||
stloc:uint32[](var_239_B62, ldfld:uint32[](CamelliaEngine::subkey, ldloc:CamelliaEngine(this)))
|
||||
stloc:uint32(var_240_B6C, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_7_1C), ldc.i4:int32(1)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_239_B62), ldc.i4:int32(9), ldloc:uint32(var_240_B6C))
|
||||
stloc:int32(var_241_B7A, ldc.i4:int32(0))
|
||||
stloc:uint32[](var_242_B82, ldfld:uint32[](CamelliaEngine::ke, ldloc:CamelliaEngine(this)))
|
||||
call:void(CamelliaEngine::roldq, ldc.i4:int32(17), ldloc:uint32[](var_1_06), ldloc:int32(var_241_B7A), ldloc:uint32[](var_242_B82), ldloc:uint64[exp:int32](var_243))
|
||||
}
|
||||
|
||||
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: 0x06009B30 RID: 39728 RVA: 0x0022DB2C File Offset: 0x0022BD2C
|
||||
[Token(Token = "0x6009B30")]
|
||||
[Address(RVA = "0x22DEFB0", Offset = "0x22DD9B0", VA = "0x1822DEFB0")]
|
||||
private int processBlock128(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
int num = 0;
|
||||
uint[] array = this.state;
|
||||
num++;
|
||||
byte b;
|
||||
num += (int)b;
|
||||
array[0] = (uint)num;
|
||||
uint[] array2 = this.state;
|
||||
uint[] array3 = this.kw;
|
||||
num++;
|
||||
uint[] array4 = this.state;
|
||||
uint[] array5 = this.subkey;
|
||||
int num2 = 0;
|
||||
CamelliaEngine.camelliaF2(array4, array5, num2);
|
||||
uint[] array6 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array6, 4);
|
||||
uint[] array7 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array7, 8);
|
||||
uint[] array8 = this.ke;
|
||||
uint[] array9 = this.state;
|
||||
int num3 = 0;
|
||||
CamelliaEngine.camelliaFLs(array9, array8, num3);
|
||||
uint[] array10 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array10, 12);
|
||||
uint[] array11 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array11, 16);
|
||||
uint[] array12 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array12, 20);
|
||||
uint[] array13 = this.ke;
|
||||
CamelliaEngine.camelliaFLs(this.state, array13, 4);
|
||||
uint[] array14 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array14, 24);
|
||||
uint[] array15 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array15, 28);
|
||||
uint[] array16 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array16, 32);
|
||||
uint[] array17 = this.state;
|
||||
uint[] array18 = this.kw;
|
||||
uint[] array19 = this.state;
|
||||
uint[] array20 = this.kw;
|
||||
uint[] array21 = this.state;
|
||||
uint[] array22 = this.kw;
|
||||
uint[] array23 = this.state;
|
||||
uint[] array24 = this.kw;
|
||||
uint[] array25 = this.state;
|
||||
num++;
|
||||
uint[] array26 = this.state;
|
||||
num++;
|
||||
uint[] array27 = this.state;
|
||||
num++;
|
||||
uint[] array28 = this.state;
|
||||
num++;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B31 RID: 39729 RVA: 0x0022DCE4 File Offset: 0x0022BEE4
|
||||
[Token(Token = "0x6009B31")]
|
||||
[Address(RVA = "0x22DF520", Offset = "0x22DDF20", VA = "0x1822DF520")]
|
||||
private int processBlock192or256(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
int num = 0;
|
||||
uint[] array = this.state;
|
||||
num++;
|
||||
byte b;
|
||||
num += (int)b;
|
||||
array[0] = (uint)num;
|
||||
uint[] array2 = this.state;
|
||||
uint[] array3 = this.kw;
|
||||
num++;
|
||||
uint[] array4 = this.state;
|
||||
uint[] array5 = this.subkey;
|
||||
int num2 = 0;
|
||||
CamelliaEngine.camelliaF2(array4, array5, num2);
|
||||
uint[] array6 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array6, 4);
|
||||
uint[] array7 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array7, 8);
|
||||
uint[] array8 = this.ke;
|
||||
uint[] array9 = this.state;
|
||||
int num3 = 0;
|
||||
CamelliaEngine.camelliaFLs(array9, array8, num3);
|
||||
uint[] array10 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array10, 12);
|
||||
uint[] array11 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array11, 16);
|
||||
uint[] array12 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array12, 20);
|
||||
uint[] array13 = this.ke;
|
||||
CamelliaEngine.camelliaFLs(this.state, array13, 4);
|
||||
uint[] array14 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array14, 24);
|
||||
uint[] array15 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array15, 28);
|
||||
uint[] array16 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array16, 32);
|
||||
uint[] array17 = this.ke;
|
||||
CamelliaEngine.camelliaFLs(this.state, array17, 8);
|
||||
uint[] array18 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array18, 36);
|
||||
uint[] array19 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array19, 40);
|
||||
uint[] array20 = this.subkey;
|
||||
CamelliaEngine.camelliaF2(this.state, array20, 44);
|
||||
uint[] array21 = this.state;
|
||||
uint[] array22 = this.kw;
|
||||
uint[] array23 = this.state;
|
||||
uint[] array24 = this.kw;
|
||||
uint[] array25 = this.state;
|
||||
uint[] array26 = this.kw;
|
||||
uint[] array27 = this.state;
|
||||
uint[] array28 = this.kw;
|
||||
uint[] array29 = this.state;
|
||||
num++;
|
||||
uint[] array30 = this.state;
|
||||
num++;
|
||||
uint[] array31 = this.state;
|
||||
num++;
|
||||
uint[] array32 = this.state;
|
||||
num++;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B32 RID: 39730 RVA: 0x0022DEF8 File Offset: 0x0022C0F8
|
||||
[Token(Token = "0x6009B32")]
|
||||
[Address(RVA = "0x22DE0B0", Offset = "0x22DCAB0", VA = "0x1822DE0B0")]
|
||||
public CamelliaEngine()
|
||||
{
|
||||
uint[] array = new uint[96];
|
||||
this.subkey = array;
|
||||
uint[] array2 = new uint[8];
|
||||
this.kw = array2;
|
||||
uint[] array3 = new uint[12];
|
||||
this.ke = array3;
|
||||
uint[] array4 = new uint[4];
|
||||
this.state = array4;
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009B33 RID: 39731 RVA: 0x0022DF48 File Offset: 0x0022C148
|
||||
[Token(Token = "0x6009B33")]
|
||||
[Address(RVA = "0x22DDD10", Offset = "0x22DC710", VA = "0x1822DDD10", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B33)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_26:
|
||||
stloc:ArgumentException(var_4_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("only simple KeyParameter expected.")))
|
||||
}
|
||||
|
||||
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: 0x170018BB RID: 6331
|
||||
// (get) Token: 0x06009B34 RID: 39732 RVA: 0x0022DF88 File Offset: 0x0022C188
|
||||
[Token(Token = "0x170018BB")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B34")]
|
||||
[Address(RVA = "0x22DEF60", Offset = "0x22DD960", VA = "0x1822DEF60", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return "Camellia";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018BC RID: 6332
|
||||
// (get) Token: 0x06009B35 RID: 39733 RVA: 0x0022DF9C File Offset: 0x0022C19C
|
||||
[Token(Token = "0x170018BC")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009B35")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B36 RID: 39734 RVA: 0x0022DFAC File Offset: 0x0022C1AC
|
||||
[Token(Token = "0x6009B36")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "13")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009B37 RID: 39735 RVA: 0x0022DFBC File Offset: 0x0022C1BC
|
||||
[Token(Token = "0x6009B37")]
|
||||
[Address(RVA = "0x22DDE70", Offset = "0x22DC870", VA = "0x1822DDE70", Slot = "14")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B37)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:InvalidOperationException(var_3_2E, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Camellia engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009B38 RID: 39736 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009B38")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "15")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009B39 RID: 39737 RVA: 0x0022DFF8 File Offset: 0x0022C1F8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009B39")]
|
||||
[Address(RVA = "0x22DDF70", Offset = "0x22DC970", VA = "0x1822DDF70")]
|
||||
static CamelliaEngine()
|
||||
{
|
||||
uint[] array = new uint[12];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.AE843E1C1136C908565A6D4E04E8564B69465B3B).FieldHandle);
|
||||
CamelliaEngine.SIGMA = array;
|
||||
uint[] array2 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.B1108EE6609DB783B2EC606B3BFDD544A7D4C2B3).FieldHandle);
|
||||
CamelliaEngine.SBOX1_1110 = array2;
|
||||
uint[] array3 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.14F6FAB1B4065EBADBBA4A3661ADE689FF444EDD).FieldHandle);
|
||||
CamelliaEngine.SBOX4_4404 = array3;
|
||||
uint[] array4 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.B718C95C87C6B65DFA29D58A10442CEC9EBBDF1F).FieldHandle);
|
||||
CamelliaEngine.SBOX2_0222 = array4;
|
||||
uint[] array5 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.124B1C35B19149213F8F7D40AA8E0ABA15DD70EC).FieldHandle);
|
||||
CamelliaEngine.SBOX3_3033 = array5;
|
||||
}
|
||||
|
||||
// Token: 0x040065D0 RID: 26064
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40065D0")]
|
||||
private bool initialised;
|
||||
|
||||
// Token: 0x040065D1 RID: 26065
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x11")]
|
||||
[Token(Token = "0x40065D1")]
|
||||
private bool _keyIs128;
|
||||
|
||||
// Token: 0x040065D2 RID: 26066
|
||||
[Token(Token = "0x40065D2")]
|
||||
private const int BLOCK_SIZE = 16;
|
||||
|
||||
// Token: 0x040065D3 RID: 26067
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40065D3")]
|
||||
private uint[] subkey;
|
||||
|
||||
// Token: 0x040065D4 RID: 26068
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40065D4")]
|
||||
private uint[] kw;
|
||||
|
||||
// Token: 0x040065D5 RID: 26069
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40065D5")]
|
||||
private uint[] ke;
|
||||
|
||||
// Token: 0x040065D6 RID: 26070
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40065D6")]
|
||||
private uint[] state;
|
||||
|
||||
// Token: 0x040065D7 RID: 26071
|
||||
[Token(Token = "0x40065D7")]
|
||||
private static readonly uint[] SIGMA;
|
||||
|
||||
// Token: 0x040065D8 RID: 26072
|
||||
[Token(Token = "0x40065D8")]
|
||||
private static readonly uint[] SBOX1_1110;
|
||||
|
||||
// Token: 0x040065D9 RID: 26073
|
||||
[Token(Token = "0x40065D9")]
|
||||
private static readonly uint[] SBOX4_4404;
|
||||
|
||||
// Token: 0x040065DA RID: 26074
|
||||
[Token(Token = "0x40065DA")]
|
||||
private static readonly uint[] SBOX2_0222;
|
||||
|
||||
// Token: 0x040065DB RID: 26075
|
||||
[Token(Token = "0x40065DB")]
|
||||
private static readonly uint[] SBOX3_3033;
|
||||
}
|
||||
}
|
||||
+645
@@ -0,0 +1,645 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016A9 RID: 5801
|
||||
[Token(Token = "0x20016A9")]
|
||||
[StructLayout(3)]
|
||||
public class CamelliaLightEngine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009B3A RID: 39738 RVA: 0x0022E094 File Offset: 0x0022C294
|
||||
[Token(Token = "0x6009B3A")]
|
||||
[Address(RVA = "0x22DFAE0", Offset = "0x22DE4E0", VA = "0x1822DFAE0")]
|
||||
private static uint rightRotate(uint x, int s)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009B3B RID: 39739 RVA: 0x0022E0A4 File Offset: 0x0022C2A4
|
||||
[Token(Token = "0x6009B3B")]
|
||||
[Address(RVA = "0x22DEF90", Offset = "0x22DD990", VA = "0x1822DEF90")]
|
||||
private static uint leftRotate(uint x, int s)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009B3C RID: 39740 RVA: 0x0022E0B4 File Offset: 0x0022C2B4
|
||||
[Token(Token = "0x6009B3C")]
|
||||
[Address(RVA = "0x22DFB00", Offset = "0x22DE500", VA = "0x1822DFB00")]
|
||||
private static void roldq(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
|
||||
{
|
||||
int length = ki.Length;
|
||||
uint num = ki[ioff];
|
||||
int num2 = ioff + 1;
|
||||
uint num3 = ki[num2];
|
||||
ko[0] = num3;
|
||||
int length2 = ki.Length;
|
||||
uint num4 = ki[(int)num];
|
||||
ko[0] = num4;
|
||||
int length3 = ki.Length;
|
||||
uint num5 = ki[(int)num4];
|
||||
ko[0] = num5;
|
||||
int length4 = ki.Length;
|
||||
ko[0] = num5;
|
||||
uint num6;
|
||||
ki[0] = num6;
|
||||
uint num7;
|
||||
ki[0] = num7;
|
||||
ki[0] = num7;
|
||||
}
|
||||
|
||||
// Token: 0x06009B3D RID: 39741 RVA: 0x0022E154 File Offset: 0x0022C354
|
||||
[Token(Token = "0x6009B3D")]
|
||||
[Address(RVA = "0x22DE8F0", Offset = "0x22DD2F0", VA = "0x1822DE8F0")]
|
||||
private static void decroldq(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
|
||||
{
|
||||
int length = ki.Length;
|
||||
uint num = ki[ioff];
|
||||
int num2 = ioff + 1;
|
||||
uint num3 = ki[num2];
|
||||
ko[0] = num3;
|
||||
int length2 = ki.Length;
|
||||
uint num4 = ki[(int)num];
|
||||
ko[0] = num4;
|
||||
int length3 = ki.Length;
|
||||
uint num5 = ki[(int)num];
|
||||
uint num6 = ki[(int)num4];
|
||||
ko[0] = num6;
|
||||
int length4 = ki.Length;
|
||||
ko[0] = num6;
|
||||
uint num7;
|
||||
ki[0] = num7;
|
||||
uint num8;
|
||||
ki[0] = num8;
|
||||
ki[0] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x06009B3E RID: 39742 RVA: 0x0022E1F4 File Offset: 0x0022C3F4
|
||||
[Token(Token = "0x6009B3E")]
|
||||
[Address(RVA = "0x22DFE40", Offset = "0x22DE840", VA = "0x1822DFE40")]
|
||||
private static void roldqo32(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
|
||||
{
|
||||
int length = ki.Length;
|
||||
int num = ioff + 1;
|
||||
uint num2;
|
||||
ko[0] = num2;
|
||||
int length2 = ki.Length;
|
||||
uint num3 = ki[(int)num2];
|
||||
ko[0] = num3;
|
||||
int length3 = ki.Length;
|
||||
uint num4 = ki[(int)num2];
|
||||
uint num5 = ki[ioff];
|
||||
ko[0] = num5;
|
||||
int length4 = ki.Length;
|
||||
uint num6 = ki[num];
|
||||
ko[0] = num6;
|
||||
uint num7;
|
||||
ki[0] = num7;
|
||||
uint num8;
|
||||
ki[0] = num8;
|
||||
uint num9 = ko[(int)num3];
|
||||
ki[0] = num9;
|
||||
}
|
||||
|
||||
// Token: 0x06009B3F RID: 39743 RVA: 0x0022E2A0 File Offset: 0x0022C4A0
|
||||
[Token(Token = "0x6009B3F")]
|
||||
[Address(RVA = "0x22DEC30", Offset = "0x22DD630", VA = "0x1822DEC30")]
|
||||
private static void decroldqo32(int rot, uint[] ki, int ioff, uint[] ko, int ooff)
|
||||
{
|
||||
int length = ki.Length;
|
||||
int num = ioff + 1;
|
||||
uint num2;
|
||||
ko[0] = num2;
|
||||
int length2 = ki.Length;
|
||||
uint num3 = ki[(int)num2];
|
||||
ko[0] = num3;
|
||||
int length3 = ki.Length;
|
||||
uint num4 = ki[(int)num2];
|
||||
uint num5 = ki[ioff];
|
||||
ko[0] = num5;
|
||||
int length4 = ki.Length;
|
||||
uint num6 = ki[num];
|
||||
ko[0] = num6;
|
||||
uint num7;
|
||||
ki[0] = num7;
|
||||
uint num8;
|
||||
ki[0] = num8;
|
||||
uint num9;
|
||||
ki[0] = num9;
|
||||
}
|
||||
|
||||
// Token: 0x06009B40 RID: 39744 RVA: 0x0022E33C File Offset: 0x0022C53C
|
||||
[Token(Token = "0x6009B40")]
|
||||
[Address(RVA = "0x22DE140", Offset = "0x22DCB40", VA = "0x1822DE140")]
|
||||
private static uint bytes2uint(byte[] src, int offset)
|
||||
{
|
||||
int num = 0;
|
||||
byte b;
|
||||
num += (int)b;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B41 RID: 39745 RVA: 0x0022E354 File Offset: 0x0022C554
|
||||
[Token(Token = "0x6009B41")]
|
||||
[Address(RVA = "0x22E1FB0", Offset = "0x22E09B0", VA = "0x1822E1FB0")]
|
||||
private static void uint2bytes(uint word, byte[] dst, int offset)
|
||||
{
|
||||
int num = 0;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x06009B42 RID: 39746 RVA: 0x0022E370 File Offset: 0x0022C570
|
||||
[Token(Token = "0x6009B42")]
|
||||
[Address(RVA = "0x22E2A50", Offset = "0x22E1450", VA = "0x1822E2A50")]
|
||||
private byte lRot8(byte v, int rot)
|
||||
{
|
||||
uint num;
|
||||
num -= (uint)rot;
|
||||
return v;
|
||||
}
|
||||
|
||||
// Token: 0x06009B43 RID: 39747 RVA: 0x0022E384 File Offset: 0x0022C584
|
||||
[Token(Token = "0x6009B43")]
|
||||
[Address(RVA = "0x22E3620", Offset = "0x22E2020", VA = "0x1822E3620")]
|
||||
private uint sbox2(int x)
|
||||
{
|
||||
byte[] sbox = CamelliaLightEngine.SBOX1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B44 RID: 39748 RVA: 0x0022E39C File Offset: 0x0022C59C
|
||||
[Token(Token = "0x6009B44")]
|
||||
[Address(RVA = "0x22E36B0", Offset = "0x22E20B0", VA = "0x1822E36B0")]
|
||||
private uint sbox3(int x)
|
||||
{
|
||||
byte[] sbox = CamelliaLightEngine.SBOX1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B45 RID: 39749 RVA: 0x0022E3B4 File Offset: 0x0022C5B4
|
||||
[Token(Token = "0x6009B45")]
|
||||
[Address(RVA = "0x22E3740", Offset = "0x22E2140", VA = "0x1822E3740")]
|
||||
private uint sbox4(int x)
|
||||
{
|
||||
byte[] sbox = CamelliaLightEngine.SBOX1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B46 RID: 39750 RVA: 0x0022E3CC File Offset: 0x0022C5CC
|
||||
[Token(Token = "0x6009B46")]
|
||||
[Address(RVA = "0x22E2390", Offset = "0x22E0D90", VA = "0x1822E2390")]
|
||||
private void camelliaF2(uint[] s, uint[] skey, int keyoff)
|
||||
{
|
||||
uint num = skey[keyoff];
|
||||
uint num2 = this.sbox4((int)num);
|
||||
uint num3 = this.sbox3((int)num);
|
||||
uint num4 = this.sbox2((int)num);
|
||||
int length = CamelliaLightEngine.SBOX1.Length;
|
||||
int num5 = keyoff + 1;
|
||||
uint num6 = skey[num5];
|
||||
num3 = this.sbox4((int)num6);
|
||||
uint num7 = this.sbox3((int)num6);
|
||||
uint num8 = this.sbox2((int)num6);
|
||||
num8 += num8;
|
||||
num6 = num8;
|
||||
num6 += num8;
|
||||
byte b;
|
||||
b += b;
|
||||
num6 += num6;
|
||||
s[1] = num6;
|
||||
b += b;
|
||||
uint num9 = skey[(int)b];
|
||||
num6 = num9;
|
||||
num7 = this.sbox4((int)num6);
|
||||
num6 = num9;
|
||||
num3 = this.sbox3((int)num6);
|
||||
num6 = num9;
|
||||
uint num10 = this.sbox2((int)num6);
|
||||
int length2 = CamelliaLightEngine.SBOX1.Length;
|
||||
num3 = this.sbox4((int)num10);
|
||||
uint num11 = this.sbox3((int)num10);
|
||||
uint num12 = this.sbox2((int)num10);
|
||||
num12 += num12;
|
||||
num10 = num12;
|
||||
num10 += num12;
|
||||
byte b2;
|
||||
b2 += b2;
|
||||
num10 += num10;
|
||||
s[0] = num10;
|
||||
b2 += b2;
|
||||
}
|
||||
|
||||
// Token: 0x06009B47 RID: 39751 RVA: 0x0022E4F8 File Offset: 0x0022C6F8
|
||||
[Token(Token = "0x6009B47")]
|
||||
[Address(RVA = "0x22E2840", Offset = "0x22E1240", VA = "0x1822E2840")]
|
||||
private void camelliaFLs(uint[] s, uint[] fkey, int keyoff)
|
||||
{
|
||||
s[0] = typeof(CamelliaLightEngine).TypeHandle;
|
||||
int length = s.Length;
|
||||
int num = keyoff + 1;
|
||||
uint num2 = fkey[num];
|
||||
s[1] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x06009B48 RID: 39752 RVA: 0x0022E534 File Offset: 0x0022C734
|
||||
[Token(Token = "0x6009B48")]
|
||||
[Address(RVA = "0x22E37D0", Offset = "0x22E21D0", VA = "0x1822E37D0")]
|
||||
private void setKey(bool forEncryption, byte[] key)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B48)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaLightEngine::setKey(System.Boolean,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A9D:
|
||||
stloc:uint32(var_225_AA4, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(0)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_171_829), ldc.i4:int32(0), ldloc:uint32(var_225_AA4))
|
||||
stloc:uint32[](var_226_AB6, ldfld:uint32[](CamelliaLightEngine::kw, ldloc:CamelliaLightEngine(this)))
|
||||
stloc:uint32(var_227_ABF, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(0)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_226_AB6), ldc.i4:int32(0), ldloc:uint32(var_227_ABF))
|
||||
stloc:uint32[](var_228_AD1, ldfld:uint32[](CamelliaLightEngine::kw, ldloc:CamelliaLightEngine(this)))
|
||||
stloc:uint32(var_229_ADA, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(1)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_228_AD1), ldc.i4:int32(1), ldloc:uint32(var_229_ADA))
|
||||
stloc:uint32[](var_230_AEC, ldfld:uint32[](CamelliaLightEngine::kw, ldloc:CamelliaLightEngine(this)))
|
||||
stloc:uint32(var_231_AF5, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_1_06), ldc.i4:int32(1)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_230_AEC), ldc.i4:int32(1), ldloc:uint32(var_231_AF5))
|
||||
stloc:uint32[](var_232_B07, ldfld:uint32[](CamelliaLightEngine::subkey, ldloc:CamelliaLightEngine(this)))
|
||||
stloc:int32(var_233_B0A, ldc.i4:int32(0))
|
||||
call:void(CamelliaEngine::roldq, ldc.i4:int32(15), ldloc:uint32[](var_1_06), ldloc:int32(var_233_B0A), ldloc:uint32[](var_232_B07), ldloc:uint64[exp:int32](var_234))
|
||||
stloc:uint32[](var_235_B20, ldfld:uint32[](CamelliaLightEngine::subkey, ldloc:CamelliaLightEngine(this)))
|
||||
stloc:int32(var_236_B23, ldc.i4:int32(0))
|
||||
call:void(CamelliaEngine::roldq, ldc.i4:int32(30), ldloc:uint32[](var_1_06), ldloc:int32(var_236_B23), ldloc:uint32[](var_235_B20), ldloc:uint64[exp:int32](var_237))
|
||||
stloc:int32(var_238_B34, ldc.i4:int32(0))
|
||||
call:void(CamelliaEngine::roldq, ldc.i4:int32(15), ldloc:uint32[](var_1_06), ldloc:int32(var_238_B34), ldloc:uint32[](var_7_1C), ldloc:int32(var_9_25A))
|
||||
stloc:uint32[](var_239_B4A, ldfld:uint32[](CamelliaLightEngine::subkey, ldloc:CamelliaLightEngine(this)))
|
||||
stloc:uint32(var_240_B54, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_7_1C), ldc.i4:int32(1)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_239_B4A), ldc.i4:int32(9), ldloc:uint32(var_240_B54))
|
||||
stloc:uint32[](var_241_B67, ldfld:uint32[](CamelliaLightEngine::subkey, ldloc:CamelliaLightEngine(this)))
|
||||
stloc:uint32(var_242_B71, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_7_1C), ldc.i4:int32(1)))
|
||||
stelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_241_B67), ldc.i4:int32(9), ldloc:uint32(var_242_B71))
|
||||
stloc:int32(var_243_B7F, ldc.i4:int32(0))
|
||||
stloc:uint32[](var_244_B87, ldfld:uint32[](CamelliaLightEngine::ke, ldloc:CamelliaLightEngine(this)))
|
||||
call:void(CamelliaEngine::roldq, ldc.i4:int32(17), ldloc:uint32[](var_1_06), ldloc:int32(var_243_B7F), ldloc:uint32[](var_244_B87), ldloc:uint64[exp:int32](var_245))
|
||||
}
|
||||
|
||||
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: 0x06009B49 RID: 39753 RVA: 0x0022F0D8 File Offset: 0x0022D2D8
|
||||
[Token(Token = "0x6009B49")]
|
||||
[Address(RVA = "0x22E2A80", Offset = "0x22E1480", VA = "0x1822E2A80")]
|
||||
private int processBlock128(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
int num = 0;
|
||||
uint[] array = this.state;
|
||||
num++;
|
||||
byte b;
|
||||
num += (int)b;
|
||||
array[0] = (uint)num;
|
||||
uint[] array2 = this.state;
|
||||
uint[] array3 = this.kw;
|
||||
num++;
|
||||
uint[] array4 = this.subkey;
|
||||
int num2 = 0;
|
||||
uint[] array5 = this.state;
|
||||
this.camelliaF2(array5, array4, num2);
|
||||
uint[] array6 = this.subkey;
|
||||
uint[] array7 = this.state;
|
||||
uint num3;
|
||||
this.camelliaF2(array7, array6, (int)num3);
|
||||
uint[] array8 = this.subkey;
|
||||
uint[] array9 = this.state;
|
||||
uint num4;
|
||||
this.camelliaF2(array9, array8, (int)num4);
|
||||
uint[] array10 = this.ke;
|
||||
int num5 = 0;
|
||||
uint[] array11 = this.state;
|
||||
this.camelliaFLs(array11, array10, num5);
|
||||
uint[] array12 = this.subkey;
|
||||
uint[] array13 = this.state;
|
||||
uint num6;
|
||||
this.camelliaF2(array13, array12, (int)num6);
|
||||
uint[] array14 = this.subkey;
|
||||
uint[] array15 = this.state;
|
||||
uint num7;
|
||||
this.camelliaF2(array15, array14, (int)num7);
|
||||
uint[] array16 = this.subkey;
|
||||
uint[] array17 = this.state;
|
||||
uint num8;
|
||||
this.camelliaF2(array17, array16, (int)num8);
|
||||
uint[] array18 = this.ke;
|
||||
uint[] array19 = this.state;
|
||||
uint num9;
|
||||
this.camelliaFLs(array19, array18, (int)num9);
|
||||
uint[] array20 = this.subkey;
|
||||
uint[] array21 = this.state;
|
||||
uint num10;
|
||||
this.camelliaF2(array21, array20, (int)num10);
|
||||
uint[] array22 = this.subkey;
|
||||
uint[] array23 = this.state;
|
||||
uint num11;
|
||||
this.camelliaF2(array23, array22, (int)num11);
|
||||
uint[] array24 = this.subkey;
|
||||
uint[] array25 = this.state;
|
||||
uint num12;
|
||||
this.camelliaF2(array25, array24, (int)num12);
|
||||
uint[] array26 = this.state;
|
||||
uint[] array27 = this.kw;
|
||||
uint[] array28 = this.state;
|
||||
uint[] array29 = this.kw;
|
||||
uint[] array30 = this.state;
|
||||
uint[] array31 = this.kw;
|
||||
uint[] array32 = this.state;
|
||||
uint[] array33 = this.kw;
|
||||
uint[] array34 = this.state;
|
||||
num++;
|
||||
uint num13 = this.state[1];
|
||||
output[0] = (byte)num13;
|
||||
num++;
|
||||
uint num14 = this.state[0];
|
||||
output[0] = (byte)num14;
|
||||
num++;
|
||||
uint num15 = this.state[0];
|
||||
output[0] = (byte)num15;
|
||||
num++;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B4A RID: 39754 RVA: 0x0022F2F0 File Offset: 0x0022D4F0
|
||||
[Token(Token = "0x6009B4A")]
|
||||
[Address(RVA = "0x22E3020", Offset = "0x22E1A20", VA = "0x1822E3020")]
|
||||
private int processBlock192or256(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
int num = 0;
|
||||
uint[] array = this.state;
|
||||
num++;
|
||||
byte b;
|
||||
num += (int)b;
|
||||
array[0] = (uint)num;
|
||||
uint[] array2 = this.state;
|
||||
uint[] array3 = this.kw;
|
||||
num++;
|
||||
uint[] array4 = this.subkey;
|
||||
int num2 = 0;
|
||||
uint[] array5 = this.state;
|
||||
this.camelliaF2(array5, array4, num2);
|
||||
uint[] array6 = this.subkey;
|
||||
uint[] array7 = this.state;
|
||||
uint num3;
|
||||
this.camelliaF2(array7, array6, (int)num3);
|
||||
uint[] array8 = this.subkey;
|
||||
uint[] array9 = this.state;
|
||||
uint num4;
|
||||
this.camelliaF2(array9, array8, (int)num4);
|
||||
uint[] array10 = this.ke;
|
||||
int num5 = 0;
|
||||
uint[] array11 = this.state;
|
||||
this.camelliaFLs(array11, array10, num5);
|
||||
uint[] array12 = this.subkey;
|
||||
uint[] array13 = this.state;
|
||||
uint num6;
|
||||
this.camelliaF2(array13, array12, (int)num6);
|
||||
uint[] array14 = this.subkey;
|
||||
uint[] array15 = this.state;
|
||||
uint num7;
|
||||
this.camelliaF2(array15, array14, (int)num7);
|
||||
uint[] array16 = this.subkey;
|
||||
uint[] array17 = this.state;
|
||||
uint num8;
|
||||
this.camelliaF2(array17, array16, (int)num8);
|
||||
uint[] array18 = this.ke;
|
||||
uint[] array19 = this.state;
|
||||
uint num9;
|
||||
this.camelliaFLs(array19, array18, (int)num9);
|
||||
uint[] array20 = this.subkey;
|
||||
uint[] array21 = this.state;
|
||||
uint num10;
|
||||
this.camelliaF2(array21, array20, (int)num10);
|
||||
uint[] array22 = this.subkey;
|
||||
uint[] array23 = this.state;
|
||||
uint num11;
|
||||
this.camelliaF2(array23, array22, (int)num11);
|
||||
uint[] array24 = this.subkey;
|
||||
uint[] array25 = this.state;
|
||||
uint num12;
|
||||
this.camelliaF2(array25, array24, (int)num12);
|
||||
uint[] array26 = this.ke;
|
||||
uint[] array27 = this.state;
|
||||
uint num13;
|
||||
this.camelliaFLs(array27, array26, (int)num13);
|
||||
uint[] array28 = this.subkey;
|
||||
uint[] array29 = this.state;
|
||||
uint num14;
|
||||
this.camelliaF2(array29, array28, (int)num14);
|
||||
uint[] array30 = this.subkey;
|
||||
uint[] array31 = this.state;
|
||||
uint num15;
|
||||
this.camelliaF2(array31, array30, (int)num15);
|
||||
uint[] array32 = this.subkey;
|
||||
uint[] array33 = this.state;
|
||||
uint num16;
|
||||
this.camelliaF2(array33, array32, (int)num16);
|
||||
uint[] array34 = this.state;
|
||||
uint[] array35 = this.kw;
|
||||
uint[] array36 = this.state;
|
||||
uint[] array37 = this.kw;
|
||||
uint[] array38 = this.state;
|
||||
uint[] array39 = this.kw;
|
||||
uint[] array40 = this.state;
|
||||
uint[] array41 = this.kw;
|
||||
uint[] array42 = this.state;
|
||||
num++;
|
||||
uint num17 = this.state[1];
|
||||
output[0] = (byte)num17;
|
||||
num++;
|
||||
uint num18 = this.state[0];
|
||||
output[0] = (byte)num18;
|
||||
num++;
|
||||
uint num19 = this.state[0];
|
||||
output[0] = (byte)num19;
|
||||
num++;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B4B RID: 39755 RVA: 0x0022F578 File Offset: 0x0022D778
|
||||
[Token(Token = "0x6009B4B")]
|
||||
[Address(RVA = "0x22E2300", Offset = "0x22E0D00", VA = "0x1822E2300")]
|
||||
public CamelliaLightEngine()
|
||||
{
|
||||
uint[] array = new uint[96];
|
||||
this.subkey = array;
|
||||
uint[] array2 = new uint[8];
|
||||
this.kw = array2;
|
||||
uint[] array3 = new uint[12];
|
||||
this.ke = array3;
|
||||
uint[] array4 = new uint[4];
|
||||
this.state = array4;
|
||||
this.Reset();
|
||||
this.initialised = false;
|
||||
}
|
||||
|
||||
// Token: 0x170018BD RID: 6333
|
||||
// (get) Token: 0x06009B4C RID: 39756 RVA: 0x0022F5CC File Offset: 0x0022D7CC
|
||||
[Token(Token = "0x170018BD")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B4C")]
|
||||
[Address(RVA = "0x22E2A20", Offset = "0x22E1420", VA = "0x1822E2A20", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return "Camellia";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018BE RID: 6334
|
||||
// (get) Token: 0x06009B4D RID: 39757 RVA: 0x0022F5E0 File Offset: 0x0022D7E0
|
||||
[Token(Token = "0x170018BE")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009B4D")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "11")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B4E RID: 39758 RVA: 0x0022F5F0 File Offset: 0x0022D7F0
|
||||
[Token(Token = "0x6009B4E")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "12")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009B4F RID: 39759 RVA: 0x0022F600 File Offset: 0x0022D800
|
||||
[Token(Token = "0x6009B4F")]
|
||||
[Address(RVA = "0x22E2000", Offset = "0x22E0A00", VA = "0x1822E2000", Slot = "13")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B4F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaLightEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_26:
|
||||
stloc:ArgumentException(var_4_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("only simple KeyParameter expected.")))
|
||||
}
|
||||
|
||||
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: 0x06009B50 RID: 39760 RVA: 0x0022F640 File Offset: 0x0022D840
|
||||
[Token(Token = "0x6009B50")]
|
||||
[Address(RVA = "0x22E2160", Offset = "0x22E0B60", VA = "0x1822E2160", Slot = "14")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B50)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.CamelliaLightEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:InvalidOperationException(var_3_2E, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Camellia engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009B51 RID: 39761 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009B51")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "15")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009B52 RID: 39762 RVA: 0x0022F67C File Offset: 0x0022D87C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009B52")]
|
||||
[Address(RVA = "0x22E2260", Offset = "0x22E0C60", VA = "0x1822E2260")]
|
||||
static CamelliaLightEngine()
|
||||
{
|
||||
uint[] array = new uint[12];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.AE843E1C1136C908565A6D4E04E8564B69465B3B).FieldHandle);
|
||||
CamelliaLightEngine.SIGMA = array;
|
||||
byte[] array2 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.81FDCC6319440C75C8E422A1FE4E3F1A80B89F5F).FieldHandle);
|
||||
CamelliaLightEngine.SBOX1 = array2;
|
||||
}
|
||||
|
||||
// Token: 0x040065DC RID: 26076
|
||||
[Token(Token = "0x40065DC")]
|
||||
private const int BLOCK_SIZE = 16;
|
||||
|
||||
// Token: 0x040065DD RID: 26077
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40065DD")]
|
||||
private bool initialised;
|
||||
|
||||
// Token: 0x040065DE RID: 26078
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x11")]
|
||||
[Token(Token = "0x40065DE")]
|
||||
private bool _keyis128;
|
||||
|
||||
// Token: 0x040065DF RID: 26079
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40065DF")]
|
||||
private uint[] subkey;
|
||||
|
||||
// Token: 0x040065E0 RID: 26080
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40065E0")]
|
||||
private uint[] kw;
|
||||
|
||||
// Token: 0x040065E1 RID: 26081
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40065E1")]
|
||||
private uint[] ke;
|
||||
|
||||
// Token: 0x040065E2 RID: 26082
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40065E2")]
|
||||
private uint[] state;
|
||||
|
||||
// Token: 0x040065E3 RID: 26083
|
||||
[Token(Token = "0x40065E3")]
|
||||
private static readonly uint[] SIGMA;
|
||||
|
||||
// Token: 0x040065E4 RID: 26084
|
||||
[Token(Token = "0x40065E4")]
|
||||
private static readonly byte[] SBOX1;
|
||||
}
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016AA RID: 5802
|
||||
[Token(Token = "0x20016AA")]
|
||||
[StructLayout(3)]
|
||||
public class CamelliaWrapEngine : Rfc3394WrapEngine
|
||||
{
|
||||
// Token: 0x06009B53 RID: 39763 RVA: 0x0022F6C0 File Offset: 0x0022D8C0
|
||||
[Token(Token = "0x6009B53")]
|
||||
[Address(RVA = "0x22E5620", Offset = "0x22E4020", VA = "0x1822E5620")]
|
||||
public CamelliaWrapEngine()
|
||||
{
|
||||
uint[] array = new uint[96];
|
||||
CamelliaEngine camelliaEngine;
|
||||
camelliaEngine.subkey = array;
|
||||
uint[] array2 = new uint[8];
|
||||
camelliaEngine.kw = array2;
|
||||
uint[] array3 = new uint[12];
|
||||
camelliaEngine.ke = array3;
|
||||
uint[] array4 = new uint[4];
|
||||
camelliaEngine.state = array4;
|
||||
camelliaEngine.Reset();
|
||||
base..ctor(camelliaEngine);
|
||||
}
|
||||
}
|
||||
}
|
||||
+614
@@ -0,0 +1,614 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016AB RID: 5803
|
||||
[Token(Token = "0x20016AB")]
|
||||
[StructLayout(3)]
|
||||
public class Cast5Engine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009B54 RID: 39764 RVA: 0x0022F718 File Offset: 0x0022D918
|
||||
[Token(Token = "0x6009B54")]
|
||||
[Address(RVA = "0x22ED360", Offset = "0x22EBD60", VA = "0x1822ED360")]
|
||||
public Cast5Engine()
|
||||
{
|
||||
int[] array = new int[17];
|
||||
this._Kr = array;
|
||||
uint[] array2 = new uint[17];
|
||||
this._Km = array2;
|
||||
int max_ROUNDS = Cast5Engine.MAX_ROUNDS;
|
||||
this._rounds = max_ROUNDS;
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009B55 RID: 39765 RVA: 0x0022F758 File Offset: 0x0022D958
|
||||
[Token(Token = "0x6009B55")]
|
||||
[Address(RVA = "0x22E6330", Offset = "0x22E4D30", VA = "0x1822E6330", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B55)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Cast5Engine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30:
|
||||
stloc:ArgumentException(var_8_37, newobj:ArgumentException(ArgumentException::.ctor, ldloc:string(var_7)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x170018BF RID: 6335
|
||||
// (get) Token: 0x06009B56 RID: 39766 RVA: 0x0022F7A0 File Offset: 0x0022D9A0
|
||||
[Token(Token = "0x170018BF")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B56")]
|
||||
[Address(RVA = "0x22ED400", Offset = "0x22EBE00", VA = "0x1822ED400", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return "CAST5";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018C0 RID: 6336
|
||||
// (get) Token: 0x06009B57 RID: 39767 RVA: 0x0022F7B4 File Offset: 0x0022D9B4
|
||||
[Token(Token = "0x170018C0")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009B57")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B58 RID: 39768 RVA: 0x0022F7C4 File Offset: 0x0022D9C4
|
||||
[Token(Token = "0x6009B58")]
|
||||
[Address(RVA = "0x22E65C0", Offset = "0x22E4FC0", VA = "0x1822E65C0", Slot = "13")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B58)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Cast5Engine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_25:
|
||||
stloc:InvalidOperationException(var_4_2B, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldloc:string(var_3)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x06009B59 RID: 39769 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009B59")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "14")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009B5A RID: 39770 RVA: 0x0022F800 File Offset: 0x0022DA00
|
||||
[Token(Token = "0x6009B5A")]
|
||||
[Address(RVA = "0x56E570", Offset = "0x56CF70", VA = "0x18056E570", Slot = "15")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
|
||||
// Token: 0x06009B5B RID: 39771 RVA: 0x0022F810 File Offset: 0x0022DA10
|
||||
[Token(Token = "0x6009B5B")]
|
||||
[Address(RVA = "0x22E6720", Offset = "0x22E5120", VA = "0x1822E6720", Slot = "16")]
|
||||
internal virtual void SetKey(byte[] key)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B5B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Cast5Engine::SetKey(System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3F:
|
||||
stloc:int32(var_6_40, ldc.i4:int32(0))
|
||||
stloc:uint32(var_7_4A, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_2_26), ldloc:int32(var_6_40)))
|
||||
stloc:uint32(var_8_53, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:uint32(var_9_5C, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_2_26), ldc.i4:int32(8)))
|
||||
stloc:uint32(var_10_66, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_2_26), ldc.i4:int32(12)))
|
||||
stloc:uint32[](var_11_6D, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_12_75, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:int32(var_13_7E, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(6)))
|
||||
stloc:uint32[](var_14_85, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_15_8E, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(7)))
|
||||
stloc:uint32[](var_16_95, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_17_9E, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(6)))
|
||||
stloc:uint32[](var_18_A5, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_19_AE, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(7)))
|
||||
stloc:int32(var_20_B7, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:uint32(var_21_C2, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_16_95), ldloc:int32(var_20_B7)))
|
||||
stelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1), ldloc:uint32[exp:int32](var_21_C2))
|
||||
stelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1), ldloc:uint32[exp:int32](var_21_C2))
|
||||
stelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0), ldloc:uint32[exp:int32](var_21_C2))
|
||||
stelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0), ldloc:uint32[exp:int32](var_21_C2))
|
||||
stloc:int32(var_22_EE, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_23_F5, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:uint32[](var_24_FC, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_25_105, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
stloc:uint32[](var_26_10C, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_27_115, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0)))
|
||||
stloc:uint32(var_28_120, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_26_10C), ldloc:int32(var_27_115)))
|
||||
stloc:uint32[](var_29_127, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_30_130, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
stloc:int32(var_31_139, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(5)))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_29_127), ldloc:int32(var_31_139)), ldloc:int32[](var_1_1E), ldc.i4:int32(4))
|
||||
stloc:int32(var_32_151, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_33_158, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_34_161, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_35_168, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_36_171, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_37_178, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_38_181, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(2)))
|
||||
stloc:uint32[](var_39_188, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_40_191, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(2)))
|
||||
stloc:int32(var_41_19A, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_33_158), ldloc:int32(var_41_19A)), ldloc:int32[](var_1_1E), ldc.i4:int32(8))
|
||||
stloc:int32(var_42_1B2, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_43_1B9, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_44_1C2, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(5)))
|
||||
stloc:uint32[](var_45_1C9, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_46_1D2, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(4)))
|
||||
stloc:uint32[](var_47_1D9, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_48_1E2, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(5)))
|
||||
stloc:uint32[](var_49_1E9, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_50_1F2, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(4)))
|
||||
stloc:int32(var_51_1FB, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(5)))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_45_1C9), ldloc:int32(var_51_1FB)), ldloc:int32[](var_1_1E), ldc.i4:int32(12))
|
||||
stloc:int32(var_52_214, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_53_21B, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_54_224, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(4)))
|
||||
stloc:uint32[](var_55_22B, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_56_234, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(4)))
|
||||
stloc:uint32[](var_57_23B, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_58_244, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_59_24B, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_60_254, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:int32(var_61_25D, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
stloc:uint32(var_62_268, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_53_21B), ldloc:int32(var_61_25D)))
|
||||
stloc:int32(var_63_270, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_64_277, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_65_280, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(5)))
|
||||
stloc:uint32[](var_66_287, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_67_290, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(5)))
|
||||
stloc:uint32[](var_68_297, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_69_2A0, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(2)))
|
||||
stloc:uint32[](var_70_2A7, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_71_2B0, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(2)))
|
||||
stloc:uint32(var_72_2BB, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_70_2A7), ldloc:int32(var_71_2B0)))
|
||||
stloc:int32(var_73_2C4, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:int32(var_74_2CC, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_75_2D3, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_76_2DC, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(6)))
|
||||
stloc:uint32[](var_77_2E3, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_78_2EC, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(6)))
|
||||
stloc:uint32[](var_79_2F3, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_80_2FC, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
stloc:uint32[](var_81_303, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_82_30C, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
stloc:uint32(var_83_317, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_81_303), ldloc:int32(var_82_30C)))
|
||||
stloc:int32(var_84_320, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(4)))
|
||||
stloc:int32(var_85_328, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_86_32F, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_87_338, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(7)))
|
||||
stloc:uint32[](var_88_33F, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_89_348, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(7)))
|
||||
stloc:uint32[](var_90_34F, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_91_358, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0)))
|
||||
stloc:uint32[](var_92_35F, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_93_368, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0)))
|
||||
stloc:uint32(var_94_373, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_92_35F), ldloc:int32(var_93_368)))
|
||||
stloc:int32(var_95_37C, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(6)))
|
||||
stloc:int32(var_96_37F, ldc.i4:int32(0))
|
||||
stloc:uint32(var_97_389, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_1_1E), ldloc:int32(var_96_37F)))
|
||||
stloc:uint32(var_10_392, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_1_1E), ldc.i4:int32(4)))
|
||||
stloc:uint32(var_98_39B, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_1_1E), ldc.i4:int32(8)))
|
||||
stloc:uint32(var_8_3A5, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_1_1E), ldc.i4:int32(12)))
|
||||
stloc:int32(var_99_3AD, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_100_3B4, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_101_3BD, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(2)))
|
||||
stloc:uint32[](var_102_3C4, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_103_3CD, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_104_3D4, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_105_3DD, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(2)))
|
||||
stloc:uint32[](var_106_3E4, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_107_3ED, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:int32(var_108_3F6, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0)))
|
||||
stloc:uint32(var_109_401, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_104_3D4), ldloc:int32(var_108_3F6)))
|
||||
stloc:int32(var_110_404, ldc.i4:int32(0))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldloc:uint32(var_109_401), ldloc:int32[](var_2_26), ldloc:int32(var_110_404))
|
||||
stloc:int32(var_111_416, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:uint32[](var_112_41D, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_113_426, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(0)))
|
||||
stloc:uint32[](var_114_42D, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_115_436, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(1)))
|
||||
stloc:uint32[](var_116_43D, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_117_446, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(0)))
|
||||
stloc:uint32[](var_118_44D, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_119_456, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(1)))
|
||||
stloc:int32(var_120_45F, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_118_44D), ldloc:int32(var_120_45F)), ldloc:int32[](var_2_26), ldc.i4:int32(4))
|
||||
stloc:int32(var_121_477, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:uint32[](var_122_47E, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_123_487, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_124_48E, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_125_497, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_126_49E, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_127_4A7, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(2)))
|
||||
stloc:uint32[](var_128_4AE, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_129_4B7, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(2)))
|
||||
stloc:int32(var_130_4C0, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0)))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_122_47E), ldloc:int32(var_130_4C0)), ldloc:int32[](var_2_26), ldc.i4:int32(8))
|
||||
stloc:int32(var_131_4D8, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:uint32[](var_132_4DF, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_133_4E8, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(5)))
|
||||
stloc:uint32[](var_134_4EF, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_135_4F8, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:uint32[](var_136_4FF, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_137_508, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(5)))
|
||||
stloc:uint32(var_138_513, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_136_4FF), ldloc:int32(var_137_508)))
|
||||
stloc:uint32[](var_139_51A, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_140_523, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:int32(var_141_52C, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_134_4EF), ldloc:int32(var_141_52C)), ldloc:int32[](var_2_26), ldc.i4:int32(12))
|
||||
stloc:int32(var_142_545, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:uint32[](var_143_54C, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_144_555, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(1)))
|
||||
stloc:uint32[](var_145_55C, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_146_565, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(1)))
|
||||
stloc:uint32[](var_147_56C, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_148_575, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(6)))
|
||||
stloc:uint32[](var_149_57C, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_150_585, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(6)))
|
||||
stloc:uint32(var_151_590, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_149_57C), ldloc:int32(var_150_585)))
|
||||
stloc:int32(var_152_599, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:int32(var_153_5A1, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:uint32[](var_154_5A8, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_155_5B1, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(0)))
|
||||
stloc:uint32[](var_156_5B8, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_157_5C1, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(0)))
|
||||
stloc:uint32[](var_158_5C8, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_159_5D1, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(7)))
|
||||
stloc:uint32(var_160_5DC, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_158_5C8), ldloc:int32(var_159_5D1)))
|
||||
stloc:uint32[](var_161_5E3, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_162_5EC, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(7)))
|
||||
stloc:uint32(var_163_5F7, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_161_5E3), ldloc:int32(var_162_5EC)))
|
||||
stloc:int32(var_164_600, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(6)))
|
||||
stloc:int32(var_165_608, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:uint32[](var_166_60F, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_167_618, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_168_61F, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_169_628, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_170_62F, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_171_638, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:uint32[](var_172_63F, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_173_648, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:uint32(var_174_653, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_172_63F), ldloc:int32(var_173_648)))
|
||||
stloc:int32(var_175_65C, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(1)))
|
||||
stloc:int32(var_176_664, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:uint32[](var_177_66B, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_178_674, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(2)))
|
||||
stloc:uint32[](var_179_67B, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_180_684, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(2)))
|
||||
stloc:uint32[](var_181_68B, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_182_694, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(5)))
|
||||
stloc:uint32[](var_183_69B, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_184_6A4, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(5)))
|
||||
stloc:uint32(var_185_6AF, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_183_69B), ldloc:int32(var_184_6A4)))
|
||||
stloc:int32(var_186_6B8, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(3)))
|
||||
stloc:int32(var_187_6BB, ldc.i4:int32(0))
|
||||
stloc:uint32(var_188_6C5, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_2_26), ldloc:int32(var_187_6BB)))
|
||||
stloc:uint32(var_8_6CE, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:uint32(var_97_6D7, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_2_26), ldc.i4:int32(8)))
|
||||
stloc:uint32(var_10_6E1, call:uint32(Cast5Engine::IntsTo32bits, ldloc:int32[](var_2_26), ldc.i4:int32(12)))
|
||||
stloc:int32(var_189_6E9, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_2_26)))
|
||||
stloc:uint32[](var_190_6F0, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_191_6F9, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(6)))
|
||||
stloc:uint32[](var_192_700, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_193_709, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(7)))
|
||||
stloc:uint32[](var_194_710, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_195_719, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(6)))
|
||||
stloc:uint32[](var_196_720, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_197_729, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(7)))
|
||||
stloc:int32(var_198_732, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(4)))
|
||||
stloc:uint32(var_199_73D, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_194_710), ldloc:int32(var_198_732)))
|
||||
stloc:int32(var_200_740, ldc.i4:int32(0))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldloc:uint32(var_199_73D), ldloc:int32[](var_1_1E), ldloc:int32(var_200_740))
|
||||
stloc:int32(var_201_752, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_202_759, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_203_762, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0)))
|
||||
stloc:uint32[](var_204_769, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_205_772, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
stloc:uint32[](var_206_779, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_207_782, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(0)))
|
||||
stloc:uint32[](var_208_789, ldsfld:uint32[](Cast5Engine::S8))
|
||||
stloc:int32(var_209_792, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(1)))
|
||||
stloc:int32(var_210_79B, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_2_26), ldc.i4:int32(5)))
|
||||
call:void(Cast5Engine::Bits32ToInts, ldelem:uint32([mscorlib]System.UInt32, ldloc:uint32[](var_208_789), ldloc:int32(var_210_79B)), ldloc:int32[](var_1_1E), ldc.i4:int32(4))
|
||||
stloc:int32(var_211_7B3, callgetter:int32(Array::get_Length, ldloc:int32[][exp:Array](var_1_1E)))
|
||||
stloc:uint32[](var_212_7BA, ldsfld:uint32[](Cast5Engine::S5))
|
||||
stloc:int32(var_213_7C3, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_214_7CA, ldsfld:uint32[](Cast5Engine::S6))
|
||||
stloc:int32(var_215_7D3, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(3)))
|
||||
stloc:uint32[](var_216_7DA, ldsfld:uint32[](Cast5Engine::S7))
|
||||
stloc:int32(var_217_7E3, ldelem:int32([mscorlib]System.Int32, ldloc:int32[](var_1_1E), ldc.i4:int32(2)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x06009B5C RID: 39772 RVA: 0x00230004 File Offset: 0x0022E204
|
||||
[Token(Token = "0x6009B5C")]
|
||||
[Address(RVA = "0x22E5E60", Offset = "0x22E4860", VA = "0x1822E5E60", Slot = "17")]
|
||||
internal virtual int EncryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
|
||||
{
|
||||
uint[] array = new uint[2];
|
||||
this.CAST_Encipher((uint)2, (uint)srcIndex, array);
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
return 8;
|
||||
}
|
||||
|
||||
// Token: 0x06009B5D RID: 39773 RVA: 0x0023003C File Offset: 0x0022E23C
|
||||
[Token(Token = "0x6009B5D")]
|
||||
[Address(RVA = "0x22E5D50", Offset = "0x22E4750", VA = "0x1822E5D50", Slot = "18")]
|
||||
internal virtual int DecryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
|
||||
{
|
||||
uint[] array = new uint[2];
|
||||
this.CAST_Decipher((uint)2, (uint)srcIndex, array);
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
return 8;
|
||||
}
|
||||
|
||||
// Token: 0x06009B5E RID: 39774 RVA: 0x00230074 File Offset: 0x0022E274
|
||||
[Token(Token = "0x6009B5E")]
|
||||
[Address(RVA = "0x22E5F70", Offset = "0x22E4970", VA = "0x1822E5F70")]
|
||||
internal static uint F1(uint D, uint Kmi, int Kri)
|
||||
{
|
||||
uint[] s = Cast5Engine.S1;
|
||||
uint num = Cast5Engine.S2[(int)Kmi];
|
||||
uint num2 = Cast5Engine.S3[(int)Kmi];
|
||||
uint num3 = Cast5Engine.S4[(int)Kmi];
|
||||
num3 += num;
|
||||
return num3 - num2;
|
||||
}
|
||||
|
||||
// Token: 0x06009B5F RID: 39775 RVA: 0x002300BC File Offset: 0x0022E2BC
|
||||
[Token(Token = "0x6009B5F")]
|
||||
[Address(RVA = "0x22E60B0", Offset = "0x22E4AB0", VA = "0x1822E60B0")]
|
||||
internal static uint F2(uint D, uint Kmi, int Kri)
|
||||
{
|
||||
uint num = Cast5Engine.S1[(int)Kmi];
|
||||
uint num2 = Cast5Engine.S2[(int)Kmi];
|
||||
uint num3 = Cast5Engine.S3[(int)Kmi];
|
||||
uint num4 = Cast5Engine.S4[(int)Kmi];
|
||||
num3 -= num2;
|
||||
num3 += num;
|
||||
return num4;
|
||||
}
|
||||
|
||||
// Token: 0x06009B60 RID: 39776 RVA: 0x00230108 File Offset: 0x0022E308
|
||||
[Token(Token = "0x6009B60")]
|
||||
[Address(RVA = "0x22E61F0", Offset = "0x22E4BF0", VA = "0x1822E61F0")]
|
||||
internal static uint F3(uint D, uint Kmi, int Kri)
|
||||
{
|
||||
uint[] s = Cast5Engine.S1;
|
||||
uint[] s2 = Cast5Engine.S2;
|
||||
uint[] s3 = Cast5Engine.S3;
|
||||
uint[] s4 = Cast5Engine.S4;
|
||||
return D;
|
||||
}
|
||||
|
||||
// Token: 0x06009B61 RID: 39777 RVA: 0x00230134 File Offset: 0x0022E334
|
||||
[Token(Token = "0x6009B61")]
|
||||
[Address(RVA = "0x22E5A80", Offset = "0x22E4480", VA = "0x1822E5A80")]
|
||||
internal void CAST_Encipher(uint L0, uint R0, uint[] result)
|
||||
{
|
||||
uint num;
|
||||
if (num - 1U <= (uint)15)
|
||||
{
|
||||
uint num2 = num - 1U;
|
||||
uint num3 = this._Km[(int)num];
|
||||
int num4 = this._Kr[(int)num];
|
||||
uint num5 = Cast5Engine.F2(R0, num3, num4);
|
||||
uint[] km = this._Km;
|
||||
int[] kr = this._Kr;
|
||||
uint num6 = Cast5Engine.F3(R0, num3, num4);
|
||||
uint[] km2 = this._Km;
|
||||
int[] kr2 = this._Kr;
|
||||
uint num7 = Cast5Engine.F1(R0, num3, num4);
|
||||
}
|
||||
num += (uint)1;
|
||||
while (num <= this.S7)
|
||||
{
|
||||
}
|
||||
result[0] = R0;
|
||||
result[0] = L0;
|
||||
}
|
||||
|
||||
// Token: 0x06009B62 RID: 39778 RVA: 0x002301CC File Offset: 0x0022E3CC
|
||||
[Token(Token = "0x6009B62")]
|
||||
[Address(RVA = "0x22E57A0", Offset = "0x22E41A0", VA = "0x1822E57A0")]
|
||||
internal void CAST_Decipher(uint L16, uint R16, uint[] result)
|
||||
{
|
||||
int rounds = this._rounds;
|
||||
if (rounds > 0)
|
||||
{
|
||||
int num = rounds - 1;
|
||||
if (num <= 15)
|
||||
{
|
||||
uint num2 = this._Km[rounds];
|
||||
int[] kr = this._Kr;
|
||||
uint num3 = Cast5Engine.F2(R16, num2, rounds);
|
||||
uint[] km = this._Km;
|
||||
int[] kr2 = this._Kr;
|
||||
uint num4 = Cast5Engine.F3(R16, num2, rounds);
|
||||
uint[] km2 = this._Km;
|
||||
int[] kr3 = this._Kr;
|
||||
uint num5 = Cast5Engine.F1(R16, num2, rounds);
|
||||
}
|
||||
}
|
||||
result[0] = R16;
|
||||
result[0] = L16;
|
||||
}
|
||||
|
||||
// Token: 0x06009B63 RID: 39779 RVA: 0x00230258 File Offset: 0x0022E458
|
||||
[Token(Token = "0x6009B63")]
|
||||
[Address(RVA = "0x22E56F0", Offset = "0x22E40F0", VA = "0x1822E56F0")]
|
||||
internal static void Bits32ToInts(uint inData, int[] b, int offset)
|
||||
{
|
||||
b[0] = (int)inData;
|
||||
b[0] = (int)inData;
|
||||
int num = offset + 1;
|
||||
b[0] = (int)inData;
|
||||
b[0] = (int)inData;
|
||||
}
|
||||
|
||||
// Token: 0x06009B64 RID: 39780 RVA: 0x00230290 File Offset: 0x0022E490
|
||||
[Token(Token = "0x6009B64")]
|
||||
[Address(RVA = "0x22E6510", Offset = "0x22E4F10", VA = "0x1822E6510")]
|
||||
internal static uint IntsTo32bits(int[] b, int i)
|
||||
{
|
||||
int length = b.Length;
|
||||
int num = i + 1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009B65 RID: 39781 RVA: 0x002302B0 File Offset: 0x0022E4B0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009B65")]
|
||||
[Address(RVA = "0x22ED150", Offset = "0x22EBB50", VA = "0x1822ED150")]
|
||||
static Cast5Engine()
|
||||
{
|
||||
uint[] array = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.37454D933508E238CFB980F1077B24ADA4A480F4).FieldHandle);
|
||||
Cast5Engine.S1 = array;
|
||||
uint[] array2 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.555BD8216452A1A1E3CB7AD8F4DAE8F41FB30380).FieldHandle);
|
||||
Cast5Engine.S2 = array2;
|
||||
uint[] array3 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.EF813A47B13574822D335279EF445343654A4F04).FieldHandle);
|
||||
Cast5Engine.S3 = array3;
|
||||
uint[] array4 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.A47DBBBB6655DAA5E024374BB9C8AA44FF40D444).FieldHandle);
|
||||
Cast5Engine.S4 = array4;
|
||||
uint[] array5 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.84F6B4137736E2F6671FC8787A500AC5C6E1D6AC).FieldHandle);
|
||||
Cast5Engine.S5 = array5;
|
||||
uint[] array6 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.17651A9FA4DEA6C24D1287324CF4A640D080FE8E).FieldHandle);
|
||||
Cast5Engine.S6 = array6;
|
||||
uint[] array7 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.7FF0A15672FF2807983AB77C0DA74928986427C0).FieldHandle);
|
||||
Cast5Engine.S7 = array7;
|
||||
uint[] array8 = new uint[256];
|
||||
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.B539B4DC5A69E3FE6AB10F668DDCA96E9D51235B).FieldHandle);
|
||||
Cast5Engine.S8 = array8;
|
||||
}
|
||||
|
||||
// Token: 0x040065E5 RID: 26085
|
||||
[Token(Token = "0x40065E5")]
|
||||
private static readonly uint[] S1;
|
||||
|
||||
// Token: 0x040065E6 RID: 26086
|
||||
[Token(Token = "0x40065E6")]
|
||||
private static readonly uint[] S2;
|
||||
|
||||
// Token: 0x040065E7 RID: 26087
|
||||
[Token(Token = "0x40065E7")]
|
||||
private static readonly uint[] S3;
|
||||
|
||||
// Token: 0x040065E8 RID: 26088
|
||||
[Token(Token = "0x40065E8")]
|
||||
private static readonly uint[] S4;
|
||||
|
||||
// Token: 0x040065E9 RID: 26089
|
||||
[Token(Token = "0x40065E9")]
|
||||
private static readonly uint[] S5;
|
||||
|
||||
// Token: 0x040065EA RID: 26090
|
||||
[Token(Token = "0x40065EA")]
|
||||
private static readonly uint[] S6;
|
||||
|
||||
// Token: 0x040065EB RID: 26091
|
||||
[Token(Token = "0x40065EB")]
|
||||
private static readonly uint[] S7;
|
||||
|
||||
// Token: 0x040065EC RID: 26092
|
||||
[Token(Token = "0x40065EC")]
|
||||
private static readonly uint[] S8;
|
||||
|
||||
// Token: 0x040065ED RID: 26093
|
||||
[Token(Token = "0x40065ED")]
|
||||
internal static readonly int MAX_ROUNDS;
|
||||
|
||||
// Token: 0x040065EE RID: 26094
|
||||
[Token(Token = "0x40065EE")]
|
||||
internal static readonly int RED_ROUNDS;
|
||||
|
||||
// Token: 0x040065EF RID: 26095
|
||||
[Token(Token = "0x40065EF")]
|
||||
private const int BLOCK_SIZE = 8;
|
||||
|
||||
// Token: 0x040065F0 RID: 26096
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40065F0")]
|
||||
private int[] _Kr;
|
||||
|
||||
// Token: 0x040065F1 RID: 26097
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40065F1")]
|
||||
private uint[] _Km;
|
||||
|
||||
// Token: 0x040065F2 RID: 26098
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40065F2")]
|
||||
private bool _encrypting;
|
||||
|
||||
// Token: 0x040065F3 RID: 26099
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40065F3")]
|
||||
private byte[] _workingKey;
|
||||
|
||||
// Token: 0x040065F4 RID: 26100
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40065F4")]
|
||||
private int _rounds;
|
||||
}
|
||||
}
|
||||
+378
@@ -0,0 +1,378 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016AC RID: 5804
|
||||
[Token(Token = "0x20016AC")]
|
||||
[StructLayout(3)]
|
||||
public sealed class Cast6Engine : Cast5Engine
|
||||
{
|
||||
// Token: 0x06009B66 RID: 39782 RVA: 0x002303AC File Offset: 0x0022E5AC
|
||||
[Token(Token = "0x6009B66")]
|
||||
[Address(RVA = "0x22EF0C0", Offset = "0x22EDAC0", VA = "0x1822EF0C0")]
|
||||
public Cast6Engine()
|
||||
{
|
||||
int[] array = new int[48];
|
||||
this._Kr = array;
|
||||
uint[] array2 = new uint[48];
|
||||
this._Km = array2;
|
||||
int[] array3 = new int[192];
|
||||
this._Tr = array3;
|
||||
uint[] array4 = new uint[192];
|
||||
this._Tm = array4;
|
||||
uint[] array5 = new uint[8];
|
||||
this._workingKey = array5;
|
||||
int[] array6 = new int[17];
|
||||
this._Kr = array6;
|
||||
uint[] array7 = new uint[17];
|
||||
this._Km = array7;
|
||||
int max_ROUNDS = Cast5Engine.MAX_ROUNDS;
|
||||
this._rounds = max_ROUNDS;
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x170018C1 RID: 6337
|
||||
// (get) Token: 0x06009B67 RID: 39783 RVA: 0x00230444 File Offset: 0x0022E644
|
||||
[Token(Token = "0x170018C1")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B67")]
|
||||
[Address(RVA = "0x22EF200", Offset = "0x22EDC00", VA = "0x1822EF200", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return "CAST6";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B68 RID: 39784 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009B68")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "14")]
|
||||
public override void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009B69 RID: 39785 RVA: 0x00230458 File Offset: 0x0022E658
|
||||
[Token(Token = "0x6009B69")]
|
||||
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "15")]
|
||||
public override int GetBlockSize()
|
||||
{
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009B6A RID: 39786 RVA: 0x00230468 File Offset: 0x0022E668
|
||||
[Token(Token = "0x6009B6A")]
|
||||
[Address(RVA = "0x22EE0B0", Offset = "0x22ECAB0", VA = "0x1822EE0B0", Slot = "16")]
|
||||
internal override void SetKey(byte[] key)
|
||||
{
|
||||
int num = 0;
|
||||
uint num2;
|
||||
this._Tm[0] = num2;
|
||||
num2 += (uint)1859775393;
|
||||
uint num3;
|
||||
this._Tr[0] = (int)num3;
|
||||
num++;
|
||||
num3 += (uint)(-15);
|
||||
num += 8;
|
||||
byte[] array = new byte[64];
|
||||
uint[] workingKey = this._workingKey;
|
||||
num++;
|
||||
workingKey[0] = array;
|
||||
uint[] workingKey2 = this._workingKey;
|
||||
int length = workingKey2.Length;
|
||||
uint[] tm = this._Tm;
|
||||
uint num4 = workingKey2[3];
|
||||
uint num5 = tm[num];
|
||||
int num6 = this._Tr[num];
|
||||
uint num7 = Cast5Engine.F1(num4, num5, num6);
|
||||
workingKey2[3] = num7;
|
||||
uint[] workingKey3 = this._workingKey;
|
||||
int length2 = workingKey3.Length;
|
||||
uint[] tm2 = this._Tm;
|
||||
int[] tr = this._Tr;
|
||||
uint num9;
|
||||
int num10;
|
||||
uint num8 = Cast5Engine.F2(workingKey3[3], num9, num10);
|
||||
workingKey3[2] = num8;
|
||||
uint[] workingKey4 = this._workingKey;
|
||||
int length3 = workingKey4.Length;
|
||||
uint[] tm3 = this._Tm;
|
||||
int[] tr2 = this._Tr;
|
||||
uint num12;
|
||||
int num13;
|
||||
uint num11 = Cast5Engine.F3(workingKey4[2], num12, num13);
|
||||
workingKey4[2] = num11;
|
||||
uint[] workingKey5 = this._workingKey;
|
||||
int length4 = workingKey5.Length;
|
||||
uint[] tm4 = this._Tm;
|
||||
int[] tr3 = this._Tr;
|
||||
uint num15;
|
||||
int num16;
|
||||
uint num14 = Cast5Engine.F1(workingKey5[2], num15, num16);
|
||||
workingKey5[1] = num14;
|
||||
uint[] workingKey6 = this._workingKey;
|
||||
int length5 = workingKey6.Length;
|
||||
uint[] tm5 = this._Tm;
|
||||
int[] tr4 = this._Tr;
|
||||
uint num18;
|
||||
int num19;
|
||||
uint num17 = Cast5Engine.F2(workingKey6[1], num18, num19);
|
||||
workingKey6[1] = num17;
|
||||
uint[] workingKey7 = this._workingKey;
|
||||
int length6 = workingKey7.Length;
|
||||
uint[] tm6 = this._Tm;
|
||||
int[] tr5 = this._Tr;
|
||||
uint num21;
|
||||
int num22;
|
||||
uint num20 = Cast5Engine.F3(workingKey7[1], num21, num22);
|
||||
workingKey7[0] = num20;
|
||||
uint[] workingKey8 = this._workingKey;
|
||||
int length7 = workingKey8.Length;
|
||||
uint[] tm7 = this._Tm;
|
||||
int[] tr6 = this._Tr;
|
||||
uint num24;
|
||||
int num25;
|
||||
uint num23 = Cast5Engine.F1(workingKey8[0], num24, num25);
|
||||
workingKey8[0] = num23;
|
||||
uint[] workingKey9 = this._workingKey;
|
||||
int length8 = workingKey9.Length;
|
||||
uint[] tm8 = this._Tm;
|
||||
int[] tr7 = this._Tr;
|
||||
uint num27;
|
||||
int num28;
|
||||
uint num26 = Cast5Engine.F2(workingKey9[0], num27, num28);
|
||||
workingKey9[3] = num26;
|
||||
uint[] workingKey10 = this._workingKey;
|
||||
int length9 = workingKey10.Length;
|
||||
uint[] tm9 = this._Tm;
|
||||
int[] tr8 = this._Tr;
|
||||
uint num29 = Cast5Engine.F1(workingKey10[3], (uint)num, 8);
|
||||
workingKey10[3] = num29;
|
||||
uint[] workingKey11 = this._workingKey;
|
||||
int length10 = workingKey11.Length;
|
||||
uint[] tm10 = this._Tm;
|
||||
int[] tr9 = this._Tr;
|
||||
uint num31;
|
||||
int num32;
|
||||
uint num30 = Cast5Engine.F2(workingKey11[3], num31, num32);
|
||||
workingKey11[2] = num30;
|
||||
uint[] workingKey12 = this._workingKey;
|
||||
int length11 = workingKey12.Length;
|
||||
uint[] tm11 = this._Tm;
|
||||
int[] tr10 = this._Tr;
|
||||
uint num34;
|
||||
int num35;
|
||||
uint num33 = Cast5Engine.F3(workingKey12[2], num34, num35);
|
||||
workingKey12[2] = num33;
|
||||
uint[] workingKey13 = this._workingKey;
|
||||
int length12 = workingKey13.Length;
|
||||
uint[] tm12 = this._Tm;
|
||||
int[] tr11 = this._Tr;
|
||||
uint num37;
|
||||
int num38;
|
||||
uint num36 = Cast5Engine.F1(workingKey13[2], num37, num38);
|
||||
workingKey13[1] = num36;
|
||||
uint[] workingKey14 = this._workingKey;
|
||||
int length13 = workingKey14.Length;
|
||||
uint[] tm13 = this._Tm;
|
||||
int[] tr12 = this._Tr;
|
||||
uint num40;
|
||||
int num41;
|
||||
uint num39 = Cast5Engine.F2(workingKey14[1], num40, num41);
|
||||
workingKey14[1] = num39;
|
||||
uint[] workingKey15 = this._workingKey;
|
||||
int length14 = workingKey15.Length;
|
||||
uint[] tm14 = this._Tm;
|
||||
int[] tr13 = this._Tr;
|
||||
uint num43;
|
||||
int num44;
|
||||
uint num42 = Cast5Engine.F3(workingKey15[1], num43, num44);
|
||||
workingKey15[0] = num42;
|
||||
uint[] workingKey16 = this._workingKey;
|
||||
int length15 = workingKey16.Length;
|
||||
uint[] tm15 = this._Tm;
|
||||
int[] tr14 = this._Tr;
|
||||
uint num46;
|
||||
int num47;
|
||||
uint num45 = Cast5Engine.F1(workingKey16[0], num46, num47);
|
||||
workingKey16[0] = num45;
|
||||
uint[] workingKey17 = this._workingKey;
|
||||
int length16 = workingKey17.Length;
|
||||
uint[] tm16 = this._Tm;
|
||||
num += 15;
|
||||
int num48 = this._Tr[num];
|
||||
uint num49 = workingKey17[0];
|
||||
uint num50 = tm16[num];
|
||||
uint num51 = Cast5Engine.F2(num49, num50, num48);
|
||||
workingKey17[3] = num51;
|
||||
uint[] workingKey18 = this._workingKey;
|
||||
int[] kr = this._Kr;
|
||||
uint num52 = workingKey18[0];
|
||||
num.m_value = (int)num52;
|
||||
uint[] workingKey19 = this._workingKey;
|
||||
int[] kr2 = this._Kr;
|
||||
uint num53 = workingKey19[1];
|
||||
kr2[0] = (int)num53;
|
||||
uint[] workingKey20 = this._workingKey;
|
||||
int[] kr3 = this._Kr;
|
||||
uint num54 = workingKey20[2];
|
||||
kr3[0] = (int)num54;
|
||||
uint[] workingKey21 = this._workingKey;
|
||||
int[] kr4 = this._Kr;
|
||||
uint num55 = workingKey21[3];
|
||||
kr4[0] = (int)num55;
|
||||
uint[] workingKey22 = this._workingKey;
|
||||
uint[] km = this._Km;
|
||||
uint num56 = workingKey22[3];
|
||||
num.m_value = (int)num56;
|
||||
uint[] workingKey23 = this._workingKey;
|
||||
uint[] km2 = this._Km;
|
||||
uint num57 = workingKey23[2];
|
||||
km2[0] = num57;
|
||||
uint[] workingKey24 = this._workingKey;
|
||||
uint[] km3 = this._Km;
|
||||
uint num58 = workingKey24[1];
|
||||
km3[0] = num58;
|
||||
uint[] workingKey25 = this._workingKey;
|
||||
uint[] km4 = this._Km;
|
||||
uint num59 = workingKey25[0];
|
||||
num++;
|
||||
km4[0] = num59;
|
||||
}
|
||||
|
||||
// Token: 0x06009B6B RID: 39787 RVA: 0x00230A00 File Offset: 0x0022EC00
|
||||
[Token(Token = "0x6009B6B")]
|
||||
[Address(RVA = "0x22EDF00", Offset = "0x22EC900", VA = "0x1822EDF00", Slot = "17")]
|
||||
internal override int EncryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
|
||||
{
|
||||
uint[] array = new uint[4];
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
uint num3 = array[1];
|
||||
uint num4 = array[1];
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009B6C RID: 39788 RVA: 0x00230A40 File Offset: 0x0022EC40
|
||||
[Token(Token = "0x6009B6C")]
|
||||
[Address(RVA = "0x22EDD50", Offset = "0x22EC750", VA = "0x1822EDD50", Slot = "18")]
|
||||
internal override int DecryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)
|
||||
{
|
||||
uint[] array = new uint[4];
|
||||
uint num = array[0];
|
||||
uint num2 = array[0];
|
||||
uint num3 = array[1];
|
||||
uint num4 = array[1];
|
||||
return 16;
|
||||
}
|
||||
|
||||
// Token: 0x06009B6D RID: 39789 RVA: 0x00230A80 File Offset: 0x0022EC80
|
||||
[Token(Token = "0x6009B6D")]
|
||||
[Address(RVA = "0x22ED8C0", Offset = "0x22EC2C0", VA = "0x1822ED8C0")]
|
||||
private void CAST_Encipher(uint A, uint B, uint C, uint D, uint[] result)
|
||||
{
|
||||
int num = 0;
|
||||
uint[] km = this._Km;
|
||||
int[] kr = this._Kr;
|
||||
uint[] km2 = this._Km;
|
||||
int[] kr2 = this._Kr;
|
||||
uint num3;
|
||||
int num4;
|
||||
uint num2 = Cast5Engine.F2(C, num3, num4);
|
||||
uint[] km3 = this._Km;
|
||||
int[] kr3 = this._Kr;
|
||||
uint[] km4 = this._Km;
|
||||
num += 3;
|
||||
int[] kr4 = this._Kr;
|
||||
uint num5 = km4[num];
|
||||
int num6 = kr4[num];
|
||||
uint num7 = Cast5Engine.F1(A, num5, num6);
|
||||
num += 4;
|
||||
uint[] km5 = this._Km;
|
||||
int[] kr5 = this._Kr;
|
||||
uint num8 = Cast5Engine.F1(A, num5, num6);
|
||||
uint[] km6 = this._Km;
|
||||
int[] kr6 = this._Kr;
|
||||
uint[] km7 = this._Km;
|
||||
uint num10;
|
||||
uint num9 = num10 + 1U;
|
||||
int num11 = this._Kr[(int)num9];
|
||||
uint num12 = km7[(int)num9];
|
||||
uint num13 = Cast5Engine.F2(C, num12, num11);
|
||||
uint[] km8 = this._Km;
|
||||
int[] kr7 = this._Kr;
|
||||
num10 += (uint)4;
|
||||
}
|
||||
|
||||
// Token: 0x06009B6E RID: 39790 RVA: 0x00230B80 File Offset: 0x0022ED80
|
||||
[Token(Token = "0x6009B6E")]
|
||||
[Address(RVA = "0x22ED430", Offset = "0x22EBE30", VA = "0x1822ED430")]
|
||||
private void CAST_Decipher(uint A, uint B, uint C, uint D, uint[] result)
|
||||
{
|
||||
uint[] km = this._Km;
|
||||
int[] kr = this._Kr;
|
||||
uint[] km2 = this._Km;
|
||||
uint num2;
|
||||
uint num = num2 + 1U;
|
||||
int num3 = this._Kr[(int)num];
|
||||
uint num4 = km2[(int)num];
|
||||
uint num5 = Cast5Engine.F2(C, num4, num3);
|
||||
uint[] km3 = this._Km;
|
||||
int[] kr2 = this._Kr;
|
||||
uint[] km4 = this._Km;
|
||||
num2 += (uint)3;
|
||||
int[] kr3 = this._Kr;
|
||||
uint num6 = km4[(int)num2];
|
||||
int num7 = kr3[(int)num2];
|
||||
uint num8 = Cast5Engine.F1(A, num6, num7);
|
||||
uint[] km5 = this._Km;
|
||||
int[] kr4 = this._Kr;
|
||||
uint num9 = Cast5Engine.F1(A, num6, num7);
|
||||
uint[] km6 = this._Km;
|
||||
int[] kr5 = this._Kr;
|
||||
uint[] km7 = this._Km;
|
||||
uint num11;
|
||||
uint num10 = num11 + 1U;
|
||||
int num12 = this._Kr[(int)num10];
|
||||
uint num13 = km7[(int)num10];
|
||||
uint num14 = Cast5Engine.F2(C, num13, num12);
|
||||
uint[] km8 = this._Km;
|
||||
int[] kr6 = this._Kr;
|
||||
}
|
||||
|
||||
// Token: 0x040065F5 RID: 26101
|
||||
[Token(Token = "0x40065F5")]
|
||||
private const int ROUNDS = 12;
|
||||
|
||||
// Token: 0x040065F6 RID: 26102
|
||||
[Token(Token = "0x40065F6")]
|
||||
private const int BLOCK_SIZE = 16;
|
||||
|
||||
// Token: 0x040065F7 RID: 26103
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x40065F7")]
|
||||
private int[] _Kr;
|
||||
|
||||
// Token: 0x040065F8 RID: 26104
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40065F8")]
|
||||
private uint[] _Km;
|
||||
|
||||
// Token: 0x040065F9 RID: 26105
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x40065F9")]
|
||||
private int[] _Tr;
|
||||
|
||||
// Token: 0x040065FA RID: 26106
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x40065FA")]
|
||||
private uint[] _Tm;
|
||||
|
||||
// Token: 0x040065FB RID: 26107
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x40065FB")]
|
||||
private uint[] _workingKey;
|
||||
}
|
||||
}
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016AD RID: 5805
|
||||
[Token(Token = "0x20016AD")]
|
||||
[StructLayout(3)]
|
||||
public class ChaCha7539Engine : Salsa20Engine
|
||||
{
|
||||
// Token: 0x06009B6F RID: 39791 RVA: 0x00230C8C File Offset: 0x0022EE8C
|
||||
[Token(Token = "0x6009B6F")]
|
||||
[Address(RVA = "0x22EF450", Offset = "0x22EDE50", VA = "0x1822EF450")]
|
||||
public ChaCha7539Engine()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x170018C2 RID: 6338
|
||||
// (get) Token: 0x06009B70 RID: 39792 RVA: 0x00230CA0 File Offset: 0x0022EEA0
|
||||
[Token(Token = "0x170018C2")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B70")]
|
||||
[Address(RVA = "0x22EF4B0", Offset = "0x22EDEB0", VA = "0x1822EF4B0", Slot = "11")]
|
||||
get
|
||||
{
|
||||
int rounds = this.rounds;
|
||||
return "ChaCha7539" + rounds;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018C3 RID: 6339
|
||||
// (get) Token: 0x06009B71 RID: 39793 RVA: 0x00230CC0 File Offset: 0x0022EEC0
|
||||
[Token(Token = "0x170018C3")]
|
||||
protected override int NonceSize
|
||||
{
|
||||
[Token(Token = "0x6009B71")]
|
||||
[Address(RVA = "0x1822090", Offset = "0x1820A90", VA = "0x181822090", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return 12;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B72 RID: 39794 RVA: 0x00230CD0 File Offset: 0x0022EED0
|
||||
[Token(Token = "0x6009B72")]
|
||||
[Address(RVA = "0x22EF230", Offset = "0x22EDC30", VA = "0x1822EF230", Slot = "13")]
|
||||
protected override void AdvanceCounter()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B72)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.ChaCha7539Engine::AdvanceCounter()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_16:
|
||||
stloc:InvalidOperationException(var_0_20, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("attempt to increase counter past 2^32.")))
|
||||
}
|
||||
|
||||
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: 0x06009B73 RID: 39795 RVA: 0x00230D00 File Offset: 0x0022EF00
|
||||
[Token(Token = "0x6009B73")]
|
||||
[Address(RVA = "0x22EF300", Offset = "0x22EDD00", VA = "0x1822EF300", Slot = "16")]
|
||||
protected override void ResetCounter()
|
||||
{
|
||||
uint[] engineState = this.engineState;
|
||||
}
|
||||
|
||||
// Token: 0x06009B74 RID: 39796 RVA: 0x00230D1C File Offset: 0x0022EF1C
|
||||
[Token(Token = "0x6009B74")]
|
||||
[Address(RVA = "0x22EF340", Offset = "0x22EDD40", VA = "0x1822EF340", Slot = "17")]
|
||||
protected override void SetKey(byte[] keyBytes, byte[] ivBytes)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B74)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.ChaCha7539Engine::SetKey(System.Byte[],System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_51:
|
||||
stloc:ArgumentException(var_12_58, newobj:ArgumentException(ArgumentException::.ctor, ldloc:string(var_11)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x06009B75 RID: 39797 RVA: 0x00230D84 File Offset: 0x0022EF84
|
||||
[Token(Token = "0x6009B75")]
|
||||
[Address(RVA = "0x22EF2C0", Offset = "0x22EDCC0", VA = "0x1822EF2C0", Slot = "18")]
|
||||
protected override void GenerateKeyStream(byte[] output)
|
||||
{
|
||||
uint[] x = this.x;
|
||||
uint[] engineState = this.engineState;
|
||||
ChaChaEngine.ChachaCore(this.rounds, engineState, x);
|
||||
uint[] x2 = this.x;
|
||||
int num = 0;
|
||||
Pack.UInt32_To_LE(x2, output, num);
|
||||
}
|
||||
}
|
||||
}
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016AE RID: 5806
|
||||
[Token(Token = "0x20016AE")]
|
||||
[StructLayout(3)]
|
||||
public class ChaChaEngine : Salsa20Engine
|
||||
{
|
||||
// Token: 0x06009B76 RID: 39798 RVA: 0x00230DC0 File Offset: 0x0022EFC0
|
||||
[Token(Token = "0x6009B76")]
|
||||
[Address(RVA = "0x22F00D0", Offset = "0x22EEAD0", VA = "0x1822F00D0")]
|
||||
public ChaChaEngine()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009B77 RID: 39799 RVA: 0x00230DD4 File Offset: 0x0022EFD4
|
||||
[Token(Token = "0x6009B77")]
|
||||
[Address(RVA = "0x22F0070", Offset = "0x22EEA70", VA = "0x1822F0070")]
|
||||
public ChaChaEngine(int rounds)
|
||||
: base(rounds)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x170018C4 RID: 6340
|
||||
// (get) Token: 0x06009B78 RID: 39800 RVA: 0x00230DE8 File Offset: 0x0022EFE8
|
||||
[Token(Token = "0x170018C4")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B78")]
|
||||
[Address(RVA = "0x22F0130", Offset = "0x22EEB30", VA = "0x1822F0130", Slot = "11")]
|
||||
get
|
||||
{
|
||||
int rounds = this.rounds;
|
||||
return "ChaCha" + rounds;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B79 RID: 39801 RVA: 0x00230E08 File Offset: 0x0022F008
|
||||
[Token(Token = "0x6009B79")]
|
||||
[Address(RVA = "0x22EF510", Offset = "0x22EDF10", VA = "0x1822EF510", Slot = "13")]
|
||||
protected override void AdvanceCounter()
|
||||
{
|
||||
if (this.engineState.Length == 12)
|
||||
{
|
||||
uint[] engineState = this.engineState;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B7A RID: 39802 RVA: 0x00230E34 File Offset: 0x0022F034
|
||||
[Token(Token = "0x6009B7A")]
|
||||
[Address(RVA = "0x22EFEE0", Offset = "0x22EE8E0", VA = "0x1822EFEE0", Slot = "16")]
|
||||
protected override void ResetCounter()
|
||||
{
|
||||
uint[] engineState = this.engineState;
|
||||
int num = 0;
|
||||
engineState[6] = (uint)num;
|
||||
engineState[6] = (uint)num;
|
||||
}
|
||||
|
||||
// Token: 0x06009B7B RID: 39803 RVA: 0x00230E60 File Offset: 0x0022F060
|
||||
[Token(Token = "0x6009B7B")]
|
||||
[Address(RVA = "0x22EFF40", Offset = "0x22EE940", VA = "0x1822EFF40", Slot = "17")]
|
||||
protected override void SetKey(byte[] keyBytes, byte[] ivBytes)
|
||||
{
|
||||
if (keyBytes != 0)
|
||||
{
|
||||
int length = keyBytes.Length;
|
||||
uint[] engineState = this.engineState;
|
||||
int num = 0;
|
||||
base.PackTauOrSigma(length, engineState, num);
|
||||
uint[] engineState2 = this.engineState;
|
||||
int num2 = 0;
|
||||
ulong num3;
|
||||
Pack.LE_To_UInt32(keyBytes, num2, engineState2, 4, (int)num3);
|
||||
int length2 = keyBytes.Length;
|
||||
uint[] engineState3 = this.engineState;
|
||||
ulong num4;
|
||||
Pack.LE_To_UInt32(keyBytes, length2, engineState3, 8, (int)num4);
|
||||
}
|
||||
uint[] engineState4 = this.engineState;
|
||||
int num5 = 0;
|
||||
uint num6;
|
||||
ulong num7;
|
||||
Pack.LE_To_UInt32(ivBytes, num5, engineState4, (int)num6, (int)num7);
|
||||
}
|
||||
|
||||
// Token: 0x06009B7C RID: 39804 RVA: 0x00230EE4 File Offset: 0x0022F0E4
|
||||
[Token(Token = "0x6009B7C")]
|
||||
[Address(RVA = "0x22EF2C0", Offset = "0x22EDCC0", VA = "0x1822EF2C0", Slot = "18")]
|
||||
protected override void GenerateKeyStream(byte[] output)
|
||||
{
|
||||
uint[] x = this.x;
|
||||
uint[] engineState = this.engineState;
|
||||
ChaChaEngine.ChachaCore(this.rounds, engineState, x);
|
||||
uint[] x2 = this.x;
|
||||
int num = 0;
|
||||
Pack.UInt32_To_LE(x2, output, num);
|
||||
}
|
||||
|
||||
// Token: 0x06009B7D RID: 39805 RVA: 0x00230F20 File Offset: 0x0022F120
|
||||
[Token(Token = "0x6009B7D")]
|
||||
[Address(RVA = "0x22EF570", Offset = "0x22EDF70", VA = "0x1822EF570")]
|
||||
internal static void ChachaCore(int rounds, uint[] input, uint[] x)
|
||||
{
|
||||
while (input.Length != 16 || rounds != 1)
|
||||
{
|
||||
}
|
||||
uint num = input[2];
|
||||
uint num2 = input[6];
|
||||
uint num3 = input[5];
|
||||
uint num4 = input[6];
|
||||
uint num5 = input[0];
|
||||
uint num6 = input[0];
|
||||
uint num7 = input[2];
|
||||
uint num8 = input[4];
|
||||
uint num9 = input[3];
|
||||
uint num10 = input[4];
|
||||
uint num11 = input[3];
|
||||
uint num12 = input[7];
|
||||
uint num13 = input[1];
|
||||
uint num14 = input[5];
|
||||
uint num15 = input[7];
|
||||
uint num16 = input[1];
|
||||
if (rounds > 0)
|
||||
{
|
||||
int num17 = rounds - 1;
|
||||
num17++;
|
||||
num5 += num7;
|
||||
num10 += num5;
|
||||
num5 += num5;
|
||||
num10 += num5;
|
||||
num4 = num10;
|
||||
num8 = num5;
|
||||
num8 += num5;
|
||||
num6 += num5;
|
||||
num8 = num5;
|
||||
num10 = num5;
|
||||
num8 += num10;
|
||||
num6 = num8;
|
||||
num5 = num8;
|
||||
num14 += num5;
|
||||
num13 += num14;
|
||||
num14 += num14;
|
||||
num12 = num14;
|
||||
num13 = num14;
|
||||
num5 = num14;
|
||||
num3 += num5;
|
||||
num16 += num3;
|
||||
num5 = num3;
|
||||
num3 += num5;
|
||||
num5 += num6;
|
||||
num16 = num3;
|
||||
num5 = num3;
|
||||
num14 += num5;
|
||||
num5 += num14;
|
||||
num15 = num14;
|
||||
num14 += num15;
|
||||
num6 += num13;
|
||||
num3 += num14;
|
||||
num6 += num14;
|
||||
num3 += num14;
|
||||
num13 += num16;
|
||||
num10 += num14;
|
||||
num13 += num14;
|
||||
num10 += num14;
|
||||
num15 = num10;
|
||||
num8 += num14;
|
||||
num5 = num14;
|
||||
num14 = num8;
|
||||
num16 += num14;
|
||||
num14 = num5;
|
||||
num5 = num14;
|
||||
num8 += num14;
|
||||
num14 = num8;
|
||||
num7 = num14;
|
||||
}
|
||||
uint num18 = input[0];
|
||||
num5 += num18;
|
||||
uint num19 = input[0];
|
||||
num19 += num6;
|
||||
uint num20 = input[1];
|
||||
num20 += num13;
|
||||
uint num21 = input[1];
|
||||
num21 += num16;
|
||||
uint num22 = input[2];
|
||||
num22 += num7;
|
||||
uint num23 = input[4];
|
||||
num23 += num10;
|
||||
uint num24 = input[4];
|
||||
num24 += num8;
|
||||
uint num25 = input[5];
|
||||
num25 += num14;
|
||||
uint num26 = input[5];
|
||||
num26 += num3;
|
||||
uint num27 = input[6];
|
||||
num27 += num4;
|
||||
uint num28 = input[7];
|
||||
num28 += num12;
|
||||
uint num29 = input[7];
|
||||
num29 += num15;
|
||||
}
|
||||
}
|
||||
}
|
||||
+133
@@ -0,0 +1,133 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016AF RID: 5807
|
||||
[Token(Token = "0x20016AF")]
|
||||
[StructLayout(3)]
|
||||
public class DesEdeEngine : DesEngine
|
||||
{
|
||||
// Token: 0x06009B7E RID: 39806 RVA: 0x00231210 File Offset: 0x0022F410
|
||||
[Token(Token = "0x6009B7E")]
|
||||
[Address(RVA = "0x22F0190", Offset = "0x22EEB90", VA = "0x1822F0190", Slot = "11")]
|
||||
public override void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B7E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.DesEdeEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_D5:
|
||||
stloc:ArgumentException(var_24_DF, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("key size must be 16 or 24 bytes.")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x170018C5 RID: 6341
|
||||
// (get) Token: 0x06009B7F RID: 39807 RVA: 0x00231300 File Offset: 0x0022F500
|
||||
[Token(Token = "0x170018C5")]
|
||||
public override string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B7F")]
|
||||
[Address(RVA = "0x22F06E0", Offset = "0x22EF0E0", VA = "0x1822F06E0", Slot = "12")]
|
||||
get
|
||||
{
|
||||
return "DESede";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B80 RID: 39808 RVA: 0x00231314 File Offset: 0x0022F514
|
||||
[Token(Token = "0x6009B80")]
|
||||
[Address(RVA = "0x56E570", Offset = "0x56CF70", VA = "0x18056E570", Slot = "14")]
|
||||
public override int GetBlockSize()
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
|
||||
// Token: 0x06009B81 RID: 39809 RVA: 0x00231324 File Offset: 0x0022F524
|
||||
[Token(Token = "0x6009B81")]
|
||||
[Address(RVA = "0x22F04B0", Offset = "0x22EEEB0", VA = "0x1822F04B0", Slot = "15")]
|
||||
public override int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B81)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.DesEdeEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_7C:
|
||||
stloc:InvalidOperationException(var_7_86, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("DESede engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009B82 RID: 39810 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009B82")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "16")]
|
||||
public override void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009B83 RID: 39811 RVA: 0x002313B8 File Offset: 0x0022F5B8
|
||||
[Token(Token = "0x6009B83")]
|
||||
[Address(RVA = "0x22F0680", Offset = "0x22EF080", VA = "0x1822F0680")]
|
||||
public DesEdeEngine()
|
||||
{
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x040065FC RID: 26108
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40065FC")]
|
||||
private int[] workingKey1;
|
||||
|
||||
// Token: 0x040065FD RID: 26109
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40065FD")]
|
||||
private int[] workingKey2;
|
||||
|
||||
// Token: 0x040065FE RID: 26110
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x40065FE")]
|
||||
private int[] workingKey3;
|
||||
|
||||
// Token: 0x040065FF RID: 26111
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x40065FF")]
|
||||
private bool forEncryption;
|
||||
}
|
||||
}
|
||||
+225
@@ -0,0 +1,225 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B0 RID: 5808
|
||||
[Token(Token = "0x20016B0")]
|
||||
[StructLayout(3)]
|
||||
public class DesEdeWrapEngine : IWrapper
|
||||
{
|
||||
// Token: 0x06009B84 RID: 39812 RVA: 0x002313CC File Offset: 0x0022F5CC
|
||||
[Token(Token = "0x6009B84")]
|
||||
[Address(RVA = "0x22F0960", Offset = "0x22EF360", VA = "0x1822F0960", Slot = "8")]
|
||||
public virtual void Init(bool forWrapping, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B84)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_E5:
|
||||
stloc:ArgumentException(var_16_F4, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("IV is not 8 octets"), ldstr:string("parameters")))
|
||||
}
|
||||
|
||||
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: 0x170018C6 RID: 6342
|
||||
// (get) Token: 0x06009B85 RID: 39813 RVA: 0x002314D0 File Offset: 0x0022F6D0
|
||||
[Token(Token = "0x170018C6")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B85")]
|
||||
[Address(RVA = "0x22F1590", Offset = "0x22EFF90", VA = "0x1822F1590", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return "DESede";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B86 RID: 39814 RVA: 0x002314E4 File Offset: 0x0022F6E4
|
||||
[Token(Token = "0x6009B86")]
|
||||
[Address(RVA = "0x22F1180", Offset = "0x22EFB80", VA = "0x1822F1180", Slot = "10")]
|
||||
public virtual byte[] Wrap(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B86)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine::Wrap(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_19D:
|
||||
stloc:InvalidOperationException(var_34_1A7, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Not multiple of block length")))
|
||||
}
|
||||
|
||||
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: 0x06009B87 RID: 39815 RVA: 0x0023169C File Offset: 0x0022F89C
|
||||
[Token(Token = "0x6009B87")]
|
||||
[Address(RVA = "0x22F0D20", Offset = "0x22EF720", VA = "0x1822F0D20", Slot = "11")]
|
||||
public virtual byte[] Unwrap(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B87)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine::Unwrap(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1C0:
|
||||
stloc:InvalidCipherTextException(var_39_1D0, newobj:InvalidCipherTextException(InvalidCipherTextException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("Ciphertext not multiple of "), ldloc:int32[exp:object](var_2))))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x06009B88 RID: 39816 RVA: 0x0023187C File Offset: 0x0022FA7C
|
||||
[Token(Token = "0x6009B88")]
|
||||
[Address(RVA = "0x22F0710", Offset = "0x22EF110", VA = "0x1822F0710")]
|
||||
private byte[] CalculateCmsKeyChecksum(byte[] key)
|
||||
{
|
||||
IDigest digest = this.sha1;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
int num2 = 0;
|
||||
IDigest digest2 = this.sha1;
|
||||
if (num < num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array = new byte[8];
|
||||
byte[] array2 = this.digest;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
ulong num5;
|
||||
Array.Copy(array2, num4, array, num3, (int)num5);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009B89 RID: 39817 RVA: 0x002318EC File Offset: 0x0022FAEC
|
||||
[Token(Token = "0x6009B89")]
|
||||
[Address(RVA = "0x22F08E0", Offset = "0x22EF2E0", VA = "0x1822F08E0")]
|
||||
private bool CheckCmsKeyChecksum(byte[] key, byte[] checksum)
|
||||
{
|
||||
return Arrays.ConstantTimeAreEqual(this.CalculateCmsKeyChecksum(key), checksum);
|
||||
}
|
||||
|
||||
// Token: 0x06009B8A RID: 39818 RVA: 0x00231908 File Offset: 0x0022FB08
|
||||
[Token(Token = "0x6009B8A")]
|
||||
[Address(RVA = "0x22F15C0", Offset = "0x22EFFC0", VA = "0x1822F15C0")]
|
||||
private static byte[] reverse(byte[] bs)
|
||||
{
|
||||
byte[] array = new byte[bs.Length];
|
||||
int num = 0;
|
||||
int num2 = bs.Length;
|
||||
if (num < num2)
|
||||
{
|
||||
num2 -= num;
|
||||
num++;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009B8B RID: 39819 RVA: 0x00231940 File Offset: 0x0022FB40
|
||||
[Token(Token = "0x6009B8B")]
|
||||
[Address(RVA = "0x22F1520", Offset = "0x22EFF20", VA = "0x1822F1520")]
|
||||
public DesEdeWrapEngine()
|
||||
{
|
||||
Sha1Digest sha1Digest = new Sha1Digest();
|
||||
this.sha1 = sha1Digest;
|
||||
byte[] array = new byte[20];
|
||||
this.digest = array;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x06009B8C RID: 39820 RVA: 0x00231970 File Offset: 0x0022FB70
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009B8C")]
|
||||
[Address(RVA = "0x22F14C0", Offset = "0x22EFEC0", VA = "0x1822F14C0")]
|
||||
static DesEdeWrapEngine()
|
||||
{
|
||||
byte[] array = new byte[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6DFD60679846B0E2064404E9EA3E1DDCE2C5709D).FieldHandle);
|
||||
DesEdeWrapEngine.IV2 = array;
|
||||
}
|
||||
|
||||
// Token: 0x04006600 RID: 26112
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006600")]
|
||||
private CbcBlockCipher engine;
|
||||
|
||||
// Token: 0x04006601 RID: 26113
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006601")]
|
||||
private KeyParameter param;
|
||||
|
||||
// Token: 0x04006602 RID: 26114
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006602")]
|
||||
private ParametersWithIV paramPlusIV;
|
||||
|
||||
// Token: 0x04006603 RID: 26115
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006603")]
|
||||
private byte[] iv;
|
||||
|
||||
// Token: 0x04006604 RID: 26116
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006604")]
|
||||
private bool forWrapping;
|
||||
|
||||
// Token: 0x04006605 RID: 26117
|
||||
[Token(Token = "0x4006605")]
|
||||
private static readonly byte[] IV2;
|
||||
|
||||
// Token: 0x04006606 RID: 26118
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006606")]
|
||||
private readonly IDigest sha1;
|
||||
|
||||
// Token: 0x04006607 RID: 26119
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006607")]
|
||||
private readonly byte[] digest;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,304 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B1 RID: 5809
|
||||
[Token(Token = "0x20016B1")]
|
||||
[StructLayout(3)]
|
||||
public class DesEngine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009B8D RID: 39821 RVA: 0x00231998 File Offset: 0x0022FB98
|
||||
[Token(Token = "0x6009B8D")]
|
||||
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "10")]
|
||||
public virtual int[] GetWorkingKey()
|
||||
{
|
||||
return this.workingKey;
|
||||
}
|
||||
|
||||
// Token: 0x06009B8E RID: 39822 RVA: 0x002319AC File Offset: 0x0022FBAC
|
||||
[Token(Token = "0x6009B8E")]
|
||||
[Address(RVA = "0x22F23F0", Offset = "0x22F0DF0", VA = "0x1822F23F0", Slot = "11")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B8E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.DesEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_28:
|
||||
stloc:ArgumentException(var_6_39, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to DES init - "), ldloc:string(var_5))))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x170018C7 RID: 6343
|
||||
// (get) Token: 0x06009B8F RID: 39823 RVA: 0x002319F4 File Offset: 0x0022FBF4
|
||||
[Token(Token = "0x170018C7")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009B8F")]
|
||||
[Address(RVA = "0x22F29E0", Offset = "0x22F13E0", VA = "0x1822F29E0", Slot = "12")]
|
||||
get
|
||||
{
|
||||
return "DES";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018C8 RID: 6344
|
||||
// (get) Token: 0x06009B90 RID: 39824 RVA: 0x00231A08 File Offset: 0x0022FC08
|
||||
[Token(Token = "0x170018C8")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009B90")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "13")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B91 RID: 39825 RVA: 0x00231A18 File Offset: 0x0022FC18
|
||||
[Token(Token = "0x6009B91")]
|
||||
[Address(RVA = "0x56E570", Offset = "0x56CF70", VA = "0x18056E570", Slot = "14")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
|
||||
// Token: 0x06009B92 RID: 39826 RVA: 0x00231A28 File Offset: 0x0022FC28
|
||||
[Token(Token = "0x6009B92")]
|
||||
[Address(RVA = "0x22F25B0", Offset = "0x22F0FB0", VA = "0x1822F25B0", Slot = "15")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B92)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.DesEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_21:
|
||||
stloc:InvalidOperationException(var_4_2B, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("DES engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009B93 RID: 39827 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009B93")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "16")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009B94 RID: 39828 RVA: 0x00231A64 File Offset: 0x0022FC64
|
||||
[Token(Token = "0x6009B94")]
|
||||
[Address(RVA = "0x22F1CC0", Offset = "0x22F06C0", VA = "0x1822F1CC0")]
|
||||
protected static int[] GenerateWorkingKey(bool encrypting, byte[] key)
|
||||
{
|
||||
int[] array = new int[32];
|
||||
bool[] array2 = new bool[56];
|
||||
bool[] array3 = new bool[56];
|
||||
int num = 0;
|
||||
byte[] array4 = DesEngine.pc1;
|
||||
short[] array5 = DesEngine.bytebit;
|
||||
num++;
|
||||
array[0] = num;
|
||||
array[0] = num;
|
||||
byte[] array6 = DesEngine.totrot;
|
||||
int length = array2.Length;
|
||||
byte b = (byte)((int)b + num);
|
||||
num++;
|
||||
byte[] array7 = DesEngine.totrot;
|
||||
int length2 = array2.Length;
|
||||
uint num2;
|
||||
byte b2 = (byte)((uint)b2 + num2);
|
||||
num2 += (uint)1;
|
||||
byte b3 = DesEngine.pc2[num];
|
||||
if ("{il2cpp array field local7->}" != (ulong)0L)
|
||||
{
|
||||
int num3 = DesEngine.bigbyte[num];
|
||||
array[0] = num3;
|
||||
}
|
||||
byte[] array8 = DesEngine.pc2;
|
||||
if ("{il2cpp array field local7->}" != (ulong)0L)
|
||||
{
|
||||
int num4 = DesEngine.bigbyte[num];
|
||||
array[0] = num4;
|
||||
}
|
||||
num++;
|
||||
num++;
|
||||
uint num5;
|
||||
if (num5 > (uint)(-2))
|
||||
{
|
||||
}
|
||||
int num6 = 0;
|
||||
int num7 = array.Length;
|
||||
int num8;
|
||||
num7 = num8;
|
||||
array[0] = num8;
|
||||
num6 += 2;
|
||||
array[0] = num7;
|
||||
while (num6 != 32)
|
||||
{
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009B95 RID: 39829 RVA: 0x00231B8C File Offset: 0x0022FD8C
|
||||
[Token(Token = "0x6009B95")]
|
||||
[Address(RVA = "0x22F1670", Offset = "0x22F0070", VA = "0x1822F1670")]
|
||||
internal static void DesFunc(int[] wKey, byte[] input, int inOff, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = 0;
|
||||
uint[] sp = DesEngine.SP7;
|
||||
uint[] sp2 = DesEngine.SP5;
|
||||
uint[] sp3 = DesEngine.SP3;
|
||||
uint[] sp4 = DesEngine.SP1;
|
||||
uint[] sp5 = DesEngine.SP8;
|
||||
uint[] sp6 = DesEngine.SP6;
|
||||
uint[] sp7 = DesEngine.SP4;
|
||||
uint[] sp8 = DesEngine.SP2;
|
||||
num += 4;
|
||||
}
|
||||
|
||||
// Token: 0x06009B96 RID: 39830 RVA: 0x00231BDC File Offset: 0x0022FDDC
|
||||
[Token(Token = "0x6009B96")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public DesEngine()
|
||||
{
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009B97 RID: 39831 RVA: 0x00231BF0 File Offset: 0x0022FDF0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009B97")]
|
||||
[Address(RVA = "0x22F26E0", Offset = "0x22F10E0", VA = "0x1822F26E0")]
|
||||
static DesEngine()
|
||||
{
|
||||
short[] array = new short[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.4FFC8339E09825A68B861995F9C660EB11DBF13D).FieldHandle);
|
||||
DesEngine.bytebit = array;
|
||||
int[] array2 = new int[24];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.C105B70BED997DB5D36E1D2E84C1EFCB445A428C).FieldHandle);
|
||||
DesEngine.bigbyte = array2;
|
||||
byte[] array3 = new byte[56];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.DC2B830D8CD59AD6A4E4332D21CA0DCA2821AD82).FieldHandle);
|
||||
DesEngine.pc1 = array3;
|
||||
byte[] array4 = new byte[16];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.B4FBD02AAB5B16E0F4BD858DA5D9E348F3CE501D).FieldHandle);
|
||||
DesEngine.totrot = array4;
|
||||
byte[] array5 = new byte[48];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.62BAB0F245E66C3EB982CF5A7015F0A7C3382283).FieldHandle);
|
||||
DesEngine.pc2 = array5;
|
||||
uint[] array6 = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.04B9E6B1364BBA4125AE2866E09C57C9E8CD6DA6).FieldHandle);
|
||||
DesEngine.SP1 = array6;
|
||||
uint[] array7 = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.3D6EB645BC212077C1B37A3A32CA2A62F7B39018).FieldHandle);
|
||||
DesEngine.SP2 = array7;
|
||||
uint[] array8 = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.821D1E62CD072AE9EC73D238C7DE19C5C5F3A7D8).FieldHandle);
|
||||
DesEngine.SP3 = array8;
|
||||
uint[] array9 = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array9, fieldof(<PrivateImplementationDetails>.64354464C9074B5BB4369689AAA131961CD1EF19).FieldHandle);
|
||||
DesEngine.SP4 = array9;
|
||||
uint[] array10 = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array10, fieldof(<PrivateImplementationDetails>.3F653EBF39CFCB2FD7FF335DC96E82F3CDFDF0C7).FieldHandle);
|
||||
DesEngine.SP5 = array10;
|
||||
uint[] array11 = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array11, fieldof(<PrivateImplementationDetails>.6D7292FF64ED402BBFFF5E7534C0980BEBF0EEB1).FieldHandle);
|
||||
DesEngine.SP6 = array11;
|
||||
uint[] array12 = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array12, fieldof(<PrivateImplementationDetails>.FC9EEBC457831129D4AF4FF84333B481F4BED60E).FieldHandle);
|
||||
DesEngine.SP7 = array12;
|
||||
uint[] array13 = new uint[64];
|
||||
RuntimeHelpers.InitializeArray(array13, fieldof(<PrivateImplementationDetails>.4C44594E2C603D85EC6195B1A7A6C5876CBB58E2).FieldHandle);
|
||||
DesEngine.SP8 = array13;
|
||||
}
|
||||
|
||||
// Token: 0x04006608 RID: 26120
|
||||
[Token(Token = "0x4006608")]
|
||||
internal const int BLOCK_SIZE = 8;
|
||||
|
||||
// Token: 0x04006609 RID: 26121
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006609")]
|
||||
private int[] workingKey;
|
||||
|
||||
// Token: 0x0400660A RID: 26122
|
||||
[Token(Token = "0x400660A")]
|
||||
private static readonly short[] bytebit;
|
||||
|
||||
// Token: 0x0400660B RID: 26123
|
||||
[Token(Token = "0x400660B")]
|
||||
private static readonly int[] bigbyte;
|
||||
|
||||
// Token: 0x0400660C RID: 26124
|
||||
[Token(Token = "0x400660C")]
|
||||
private static readonly byte[] pc1;
|
||||
|
||||
// Token: 0x0400660D RID: 26125
|
||||
[Token(Token = "0x400660D")]
|
||||
private static readonly byte[] totrot;
|
||||
|
||||
// Token: 0x0400660E RID: 26126
|
||||
[Token(Token = "0x400660E")]
|
||||
private static readonly byte[] pc2;
|
||||
|
||||
// Token: 0x0400660F RID: 26127
|
||||
[Token(Token = "0x400660F")]
|
||||
private static readonly uint[] SP1;
|
||||
|
||||
// Token: 0x04006610 RID: 26128
|
||||
[Token(Token = "0x4006610")]
|
||||
private static readonly uint[] SP2;
|
||||
|
||||
// Token: 0x04006611 RID: 26129
|
||||
[Token(Token = "0x4006611")]
|
||||
private static readonly uint[] SP3;
|
||||
|
||||
// Token: 0x04006612 RID: 26130
|
||||
[Token(Token = "0x4006612")]
|
||||
private static readonly uint[] SP4;
|
||||
|
||||
// Token: 0x04006613 RID: 26131
|
||||
[Token(Token = "0x4006613")]
|
||||
private static readonly uint[] SP5;
|
||||
|
||||
// Token: 0x04006614 RID: 26132
|
||||
[Token(Token = "0x4006614")]
|
||||
private static readonly uint[] SP6;
|
||||
|
||||
// Token: 0x04006615 RID: 26133
|
||||
[Token(Token = "0x4006615")]
|
||||
private static readonly uint[] SP7;
|
||||
|
||||
// Token: 0x04006616 RID: 26134
|
||||
[Token(Token = "0x4006616")]
|
||||
private static readonly uint[] SP8;
|
||||
}
|
||||
}
|
||||
+869
@@ -0,0 +1,869 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B2 RID: 5810
|
||||
[Token(Token = "0x20016B2")]
|
||||
[StructLayout(3)]
|
||||
public class Dstu7624Engine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009B98 RID: 39832 RVA: 0x00231D5C File Offset: 0x0022FF5C
|
||||
[Token(Token = "0x6009B98")]
|
||||
[Address(RVA = "0x211DBB0", Offset = "0x211C5B0", VA = "0x18211DBB0")]
|
||||
public Dstu7624Engine(int blockSizeBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B98)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_26:
|
||||
stloc:ArgumentException(var_2_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed")))
|
||||
}
|
||||
|
||||
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: 0x06009B99 RID: 39833 RVA: 0x00231D9C File Offset: 0x0022FF9C
|
||||
[Token(Token = "0x6009B99")]
|
||||
[Address(RVA = "0x211A9E0", Offset = "0x21193E0", VA = "0x18211A9E0", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B99)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1A8:
|
||||
stloc:ArgumentException(var_23_1B2, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Unsupported key length")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x06009B9A RID: 39834 RVA: 0x00231F5C File Offset: 0x0023015C
|
||||
[Token(Token = "0x6009B9A")]
|
||||
[Address(RVA = "0x211D580", Offset = "0x211BF80", VA = "0x18211D580")]
|
||||
private void WorkingKeyExpandKT(ulong[] workingKey, ulong[] tempKeys)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = new ulong[this.wordsInBlock];
|
||||
ulong[] array2 = new ulong[this.wordsInBlock];
|
||||
ulong[] array3 = new ulong[this.wordsInBlock];
|
||||
this.internalState = array3;
|
||||
int num = this.wordsInBlock;
|
||||
num++;
|
||||
int num2 = this.wordsInBlock;
|
||||
if (num2 != this.wordsInKey)
|
||||
{
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(workingKey, num4, array, num3, num2);
|
||||
}
|
||||
int length = array.Length;
|
||||
int num5 = 0;
|
||||
int num6 = 0;
|
||||
Array.Copy(workingKey, num6, array, num5, length);
|
||||
int length2 = array2.Length;
|
||||
int num7 = 0;
|
||||
int num8 = 0;
|
||||
Array.Copy(workingKey, num7, array2, num8, length2);
|
||||
ulong[] array4 = this.internalState;
|
||||
int num9 = 0;
|
||||
int num10 = 0;
|
||||
if (num10 < array4.Length)
|
||||
{
|
||||
num9++;
|
||||
ulong[] array5 = this.internalState;
|
||||
}
|
||||
this.EncryptionRound();
|
||||
ulong[] array6 = this.internalState;
|
||||
int num11 = 0;
|
||||
int num12 = 0;
|
||||
if (num12 < array6.Length)
|
||||
{
|
||||
num11++;
|
||||
if (this.internalState != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
this.EncryptionRound();
|
||||
ulong[] array7 = this.internalState;
|
||||
int num13 = 0;
|
||||
int num14 = 0;
|
||||
if (num14 >= array7.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
num13++;
|
||||
}
|
||||
while (this.internalState != 0);
|
||||
this.EncryptionRound();
|
||||
int num15 = this.wordsInBlock;
|
||||
int num16 = 0;
|
||||
ulong[] array8 = this.internalState;
|
||||
int num17 = 0;
|
||||
Array.Copy(array8, num17, tempKeys, num16, num15);
|
||||
}
|
||||
|
||||
// Token: 0x06009B9B RID: 39835 RVA: 0x002320CC File Offset: 0x002302CC
|
||||
[Token(Token = "0x6009B9B")]
|
||||
[Address(RVA = "0x211CFA0", Offset = "0x211B9A0", VA = "0x18211CFA0")]
|
||||
private void WorkingKeyExpandEven(ulong[] workingKey, ulong[] tempKey)
|
||||
{
|
||||
ulong[] array;
|
||||
ulong[] array2;
|
||||
int num2;
|
||||
ulong num6;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[this.wordsInKey];
|
||||
array2 = new ulong[this.wordsInBlock];
|
||||
int num = this.wordsInKey;
|
||||
num2 = 0;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(workingKey, num4, array, num3, num);
|
||||
if (this.wordsInBlock > 0)
|
||||
{
|
||||
ulong num5 = tempKey[num2];
|
||||
num2++;
|
||||
num5 += num6;
|
||||
array2[0] = num5;
|
||||
if (this.wordsInBlock > 0)
|
||||
{
|
||||
ulong[] array3 = this.internalState;
|
||||
ulong num7 = array2[num2];
|
||||
num2++;
|
||||
array3[0] = num7;
|
||||
}
|
||||
this.EncryptionRound();
|
||||
if (this.T1 > num2)
|
||||
{
|
||||
ulong[] array4 = this.internalState;
|
||||
num2++;
|
||||
}
|
||||
this.EncryptionRound();
|
||||
int num8;
|
||||
if (this.wordsInBlock > 0)
|
||||
{
|
||||
ulong[] array5 = this.internalState;
|
||||
num2++;
|
||||
num8 = this.wordsInBlock;
|
||||
}
|
||||
ulong[][] array6 = this.roundKeys;
|
||||
int num9 = 0;
|
||||
int num10 = 0;
|
||||
ulong[] array7 = array6[num2];
|
||||
Array.Copy(this.internalState, num10, array7, num9, num8);
|
||||
if (this.T2 == num2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
int num11 = this.wordsInBlock;
|
||||
if (this.wordsInKey == num11)
|
||||
{
|
||||
goto IL_1DE;
|
||||
}
|
||||
num2 += 2;
|
||||
num6 += num6;
|
||||
if (num11 > 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
ulong num12 = tempKey[num2];
|
||||
num2++;
|
||||
num12 += num6;
|
||||
array2[0] = num12;
|
||||
if (this.wordsInBlock > 0)
|
||||
{
|
||||
ulong[] array8 = this.internalState;
|
||||
num2++;
|
||||
ulong num13 = array[(int)num12];
|
||||
array8[0] = num13;
|
||||
int num14 = this.wordsInBlock;
|
||||
}
|
||||
this.EncryptionRound();
|
||||
if (this.T1 > num2)
|
||||
{
|
||||
ulong[] array9 = this.internalState;
|
||||
num2++;
|
||||
}
|
||||
this.EncryptionRound();
|
||||
int num15;
|
||||
if (this.wordsInBlock > 0)
|
||||
{
|
||||
ulong[] array10 = this.internalState;
|
||||
num2++;
|
||||
num15 = this.wordsInBlock;
|
||||
}
|
||||
ulong[][] array11 = this.roundKeys;
|
||||
int num16 = 0;
|
||||
int num17 = 0;
|
||||
ulong[] array12 = array11[num2];
|
||||
Array.Copy(this.internalState, num17, array12, num16, num15);
|
||||
if (this.T2 == num2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_1DE:
|
||||
num2 += 2;
|
||||
num6 += num6;
|
||||
ulong num18 = array[0];
|
||||
int length = array.Length;
|
||||
uint num19;
|
||||
ulong num21;
|
||||
if (num19 < (uint)length)
|
||||
{
|
||||
uint num20 = num19 - 1U;
|
||||
num21 = array[(int)num19];
|
||||
num19 += (uint)1;
|
||||
array[0] = num21;
|
||||
}
|
||||
ulong num22 = num21 - 1UL;
|
||||
array[0] = num18;
|
||||
}
|
||||
|
||||
// Token: 0x06009B9C RID: 39836 RVA: 0x00232310 File Offset: 0x00230510
|
||||
[Token(Token = "0x6009B9C")]
|
||||
[Address(RVA = "0x211D8A0", Offset = "0x211C2A0", VA = "0x18211D8A0")]
|
||||
private void WorkingKeyExpandOdd()
|
||||
{
|
||||
uint num;
|
||||
if (this.T2 > num)
|
||||
{
|
||||
ulong[][] array = this.roundKeys;
|
||||
int length = array.Length;
|
||||
uint num2 = num - 1U;
|
||||
ulong[] array2 = array[(int)num];
|
||||
ulong[] array3 = array[(int)num2];
|
||||
this.RotateLeft(array3, array2);
|
||||
num += (uint)2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B9D RID: 39837 RVA: 0x00232360 File Offset: 0x00230560
|
||||
[Token(Token = "0x6009B9D")]
|
||||
[Address(RVA = "0x211BD10", Offset = "0x211A710", VA = "0x18211BD10", Slot = "11")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009B9D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12B:
|
||||
stloc:InvalidOperationException(var_21_135, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Dstu7624Engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009B9E RID: 39838 RVA: 0x002324A4 File Offset: 0x002306A4
|
||||
[Token(Token = "0x6009B9E")]
|
||||
[Address(RVA = "0x211A8E0", Offset = "0x21192E0", VA = "0x18211A8E0")]
|
||||
private void EncryptionRound()
|
||||
{
|
||||
this.SubBytes();
|
||||
this.ShiftRows();
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
ulong num2 = Dstu7624Engine.MixColumn(array[num]);
|
||||
num++;
|
||||
array[0] = num2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009B9F RID: 39839 RVA: 0x002324F0 File Offset: 0x002306F0
|
||||
[Token(Token = "0x6009B9F")]
|
||||
[Address(RVA = "0x211A190", Offset = "0x2118B90", VA = "0x18211A190")]
|
||||
private void DecryptionRound()
|
||||
{
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
ulong num3;
|
||||
ulong num2 = Dstu7624Engine.MixColumnInv(num3);
|
||||
num++;
|
||||
}
|
||||
this.InvShiftRows();
|
||||
this.InvSubBytes();
|
||||
}
|
||||
|
||||
// Token: 0x06009BA0 RID: 39840 RVA: 0x0023252C File Offset: 0x0023072C
|
||||
[Token(Token = "0x6009BA0")]
|
||||
[Address(RVA = "0x2119B50", Offset = "0x2118550", VA = "0x182119B50")]
|
||||
private void DecryptBlock_128(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
ulong num = Pack.LE_To_UInt64(input, inOff);
|
||||
ulong num2 = Pack.LE_To_UInt64(input, inOff);
|
||||
ulong[][] array = this.roundKeys;
|
||||
int num3 = this.roundsAmount;
|
||||
int length = array[num3].Length;
|
||||
ulong num4 = Dstu7624Engine.MixColumnInv(num);
|
||||
num = num2;
|
||||
ulong num5 = Dstu7624Engine.MixColumnInv(num);
|
||||
int length2 = Dstu7624Engine.T0.Length;
|
||||
int length3 = Dstu7624Engine.T1.Length;
|
||||
int length4 = Dstu7624Engine.T2.Length;
|
||||
byte[] t = Dstu7624Engine.T3;
|
||||
int length5 = t.Length;
|
||||
if (num4 != (ulong)t.Length)
|
||||
{
|
||||
}
|
||||
byte b;
|
||||
byte b2;
|
||||
b -= b2;
|
||||
b2 = b;
|
||||
byte b3;
|
||||
b2 = b3;
|
||||
}
|
||||
|
||||
// Token: 0x06009BA1 RID: 39841 RVA: 0x002325EC File Offset: 0x002307EC
|
||||
[Token(Token = "0x6009BA1")]
|
||||
[Address(RVA = "0x211A290", Offset = "0x2118C90", VA = "0x18211A290")]
|
||||
private void EncryptBlock_128(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
ulong num = Pack.LE_To_UInt64(input, inOff);
|
||||
ulong num2 = Pack.LE_To_UInt64(input, inOff);
|
||||
int length = this.roundKeys[0].Length;
|
||||
int length2 = Dstu7624Engine.S0.Length;
|
||||
int length3 = Dstu7624Engine.S1.Length;
|
||||
int length4 = Dstu7624Engine.S2.Length;
|
||||
int length5 = Dstu7624Engine.S3.Length;
|
||||
byte b;
|
||||
num = Dstu7624Engine.MixColumn((ulong)b);
|
||||
byte b2;
|
||||
b = b2;
|
||||
ulong num3 = Dstu7624Engine.MixColumn((ulong)b);
|
||||
ulong num4;
|
||||
num4 += (ulong)1L;
|
||||
if (num4 != num3)
|
||||
{
|
||||
}
|
||||
b = (byte)((ulong)b + num);
|
||||
}
|
||||
|
||||
// Token: 0x06009BA2 RID: 39842 RVA: 0x00232684 File Offset: 0x00230884
|
||||
[Token(Token = "0x6009BA2")]
|
||||
[Address(RVA = "0x211CBF0", Offset = "0x211B5F0", VA = "0x18211CBF0")]
|
||||
private void SubBytes()
|
||||
{
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
int length = Dstu7624Engine.S0.Length;
|
||||
int length2 = Dstu7624Engine.S1.Length;
|
||||
int length3 = Dstu7624Engine.S2.Length;
|
||||
int length4 = Dstu7624Engine.S3.Length;
|
||||
ulong[] array2 = this.internalState;
|
||||
num++;
|
||||
byte b;
|
||||
num.m_value = (int)b;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BA3 RID: 39843 RVA: 0x002326EC File Offset: 0x002308EC
|
||||
[Token(Token = "0x6009BA3")]
|
||||
[Address(RVA = "0x211B470", Offset = "0x2119E70", VA = "0x18211B470")]
|
||||
private void InvSubBytes()
|
||||
{
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
int length = Dstu7624Engine.T0.Length;
|
||||
int length2 = Dstu7624Engine.T1.Length;
|
||||
int length3 = Dstu7624Engine.T2.Length;
|
||||
int length4 = Dstu7624Engine.T3.Length;
|
||||
ulong[] array2 = this.internalState;
|
||||
num++;
|
||||
byte b;
|
||||
num.m_value = (int)b;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BA4 RID: 39844 RVA: 0x00232754 File Offset: 0x00230954
|
||||
[Token(Token = "0x6009BA4")]
|
||||
[Address(RVA = "0x211C560", Offset = "0x211AF60", VA = "0x18211C560")]
|
||||
private void ShiftRows()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BA4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::ShiftRows()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_145:
|
||||
stloc:InvalidOperationException(var_14_14F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed")))
|
||||
}
|
||||
|
||||
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: 0x06009BA5 RID: 39845 RVA: 0x002328B4 File Offset: 0x00230AB4
|
||||
[Token(Token = "0x6009BA5")]
|
||||
[Address(RVA = "0x211ADF0", Offset = "0x21197F0", VA = "0x18211ADF0")]
|
||||
private void InvShiftRows()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BA5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::InvShiftRows()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_161:
|
||||
stloc:InvalidOperationException(var_18_16B, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed")))
|
||||
}
|
||||
|
||||
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: 0x06009BA6 RID: 39846 RVA: 0x00232A30 File Offset: 0x00230C30
|
||||
[Token(Token = "0x6009BA6")]
|
||||
[Address(RVA = "0x2119AC0", Offset = "0x21184C0", VA = "0x182119AC0")]
|
||||
private void AddRoundKey(int round)
|
||||
{
|
||||
ulong[][] array = this.roundKeys;
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array2 = array[round];
|
||||
ulong[] array3 = this.internalState;
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BA7 RID: 39847 RVA: 0x00232A68 File Offset: 0x00230C68
|
||||
[Token(Token = "0x6009BA7")]
|
||||
[Address(RVA = "0x211CF10", Offset = "0x211B910", VA = "0x18211CF10")]
|
||||
private void SubRoundKey(int round)
|
||||
{
|
||||
ulong[][] array = this.roundKeys;
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array2 = array[round];
|
||||
ulong[] array3 = this.internalState;
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BA8 RID: 39848 RVA: 0x00232AA0 File Offset: 0x00230CA0
|
||||
[Token(Token = "0x6009BA8")]
|
||||
[Address(RVA = "0x211D930", Offset = "0x211C330", VA = "0x18211D930")]
|
||||
private void XorRoundKey(int round)
|
||||
{
|
||||
ulong[][] array = this.roundKeys;
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array2 = array[round];
|
||||
ulong[] array3 = this.internalState;
|
||||
num++;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BA9 RID: 39849 RVA: 0x00232AD8 File Offset: 0x00230CD8
|
||||
[Token(Token = "0x6009BA9")]
|
||||
[Address(RVA = "0x211B9A0", Offset = "0x211A3A0", VA = "0x18211B9A0")]
|
||||
private static ulong MixColumn(ulong c)
|
||||
{
|
||||
return c;
|
||||
}
|
||||
|
||||
// Token: 0x06009BAA RID: 39850 RVA: 0x00232AE8 File Offset: 0x00230CE8
|
||||
[Token(Token = "0x6009BAA")]
|
||||
[Address(RVA = "0x211BBB0", Offset = "0x211A5B0", VA = "0x18211BBB0")]
|
||||
private void MixColumns()
|
||||
{
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
ulong num2 = Dstu7624Engine.MixColumn(array[num]);
|
||||
num++;
|
||||
array[0] = num2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BAB RID: 39851 RVA: 0x00232B28 File Offset: 0x00230D28
|
||||
[Token(Token = "0x6009BAB")]
|
||||
[Address(RVA = "0x211B790", Offset = "0x211A190", VA = "0x18211B790")]
|
||||
private static ulong MixColumnInv(ulong c)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BAB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::MixColumnInv(System.UInt64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_06, mul:uint64[exp:int64](ldloc:uint64(c), conv.u8:uint64(ldc.i8:int64[exp:uint64](29))))
|
||||
stloc:int64(var_0_0A, add:int64(ldloc:int64(var_0_06), ldloc:int64(var_0_06)))
|
||||
stloc:int64(var_1_11, mul:int64(ldloc:int64(var_0_0A), conv.u8:uint64[exp:int64](ldc.i8:int64[exp:uint64](29))))
|
||||
stloc:int64(var_1_15, add:int64(ldloc:int64(var_1_11), ldloc:int64(var_1_11)))
|
||||
stloc:int64(var_2_1C, mul:uint64[exp:int64](ldloc:uint64(c), conv.u8:uint64(ldc.i8:int64[exp:uint64](29))))
|
||||
}
|
||||
|
||||
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: 0x06009BAC RID: 39852 RVA: 0x00232B54 File Offset: 0x00230D54
|
||||
[Token(Token = "0x6009BAC")]
|
||||
[Address(RVA = "0x211BAD0", Offset = "0x211A4D0", VA = "0x18211BAD0")]
|
||||
private void MixColumnsInv()
|
||||
{
|
||||
int num = 0;
|
||||
if (this.T1 > num)
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
ulong num2 = Dstu7624Engine.MixColumnInv(array[num]);
|
||||
num++;
|
||||
array[0] = num2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BAD RID: 39853 RVA: 0x00232B94 File Offset: 0x00230D94
|
||||
[Token(Token = "0x6009BAD")]
|
||||
[Address(RVA = "0x211BCE0", Offset = "0x211A6E0", VA = "0x18211BCE0")]
|
||||
private static ulong MulX(ulong n)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BAD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::MulX(System.UInt64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_06, mul:uint64[exp:int64](ldloc:uint64(n), conv.u8:uint64(ldc.i8:int64[exp:uint64](29))))
|
||||
}
|
||||
|
||||
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: 0x06009BAE RID: 39854 RVA: 0x00232BA8 File Offset: 0x00230DA8
|
||||
[Token(Token = "0x6009BAE")]
|
||||
[Address(RVA = "0x211BC90", Offset = "0x211A690", VA = "0x18211BC90")]
|
||||
private static ulong MulX2(ulong n)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BAE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.UInt64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::MulX2(System.UInt64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_06, mul:uint64[exp:int64](ldloc:uint64(n), conv.u8:uint64(ldc.i8:int64[exp:uint64](29))))
|
||||
}
|
||||
|
||||
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: 0x06009BAF RID: 39855 RVA: 0x00232BBC File Offset: 0x00230DBC
|
||||
[Token(Token = "0x6009BAF")]
|
||||
[Address(RVA = "0x211C540", Offset = "0x211AF40", VA = "0x18211C540")]
|
||||
private static ulong Rotate(int n, ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BB0 RID: 39856 RVA: 0x00232BCC File Offset: 0x00230DCC
|
||||
[Token(Token = "0x6009BB0")]
|
||||
[Address(RVA = "0x211C050", Offset = "0x211AA50", VA = "0x18211C050")]
|
||||
private void RotateLeft(ulong[] x, ulong[] z)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BB0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624Engine::RotateLeft(System.UInt64[],System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_140:
|
||||
stloc:InvalidOperationException(var_17_14A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed")))
|
||||
}
|
||||
|
||||
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: 0x170018C9 RID: 6345
|
||||
// (get) Token: 0x06009BB1 RID: 39857 RVA: 0x00232D24 File Offset: 0x00230F24
|
||||
[Token(Token = "0x170018C9")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009BB1")]
|
||||
[Address(RVA = "0x211DC60", Offset = "0x211C660", VA = "0x18211DC60", Slot = "12")]
|
||||
get
|
||||
{
|
||||
return "DSTU7624";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BB2 RID: 39858 RVA: 0x00232D38 File Offset: 0x00230F38
|
||||
[Token(Token = "0x6009BB2")]
|
||||
[Address(RVA = "0x211A9D0", Offset = "0x21193D0", VA = "0x18211A9D0", Slot = "13")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return this.wordsInBlock;
|
||||
}
|
||||
|
||||
// Token: 0x170018CA RID: 6346
|
||||
// (get) Token: 0x06009BB3 RID: 39859 RVA: 0x00232D4C File Offset: 0x00230F4C
|
||||
[Token(Token = "0x170018CA")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009BB3")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "14")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BB4 RID: 39860 RVA: 0x00232D5C File Offset: 0x00230F5C
|
||||
[Token(Token = "0x6009BB4")]
|
||||
[Address(RVA = "0x211C020", Offset = "0x211AA20", VA = "0x18211C020", Slot = "15")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
ulong[] array = this.internalState;
|
||||
int length = array.Length;
|
||||
int num = 0;
|
||||
Array.Clear(array, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x06009BB5 RID: 39861 RVA: 0x00232D88 File Offset: 0x00230F88
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x6009BB5")]
|
||||
[Address(RVA = "0x211D9C0", Offset = "0x211C3C0", VA = "0x18211D9C0")]
|
||||
static Dstu7624Engine()
|
||||
{
|
||||
byte[] array = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6F5D2C37DFCDB1E72B86BC606C0E717C70E188A4).FieldHandle);
|
||||
Dstu7624Engine.S0 = array;
|
||||
byte[] array2 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.79039C5C22F863E8EAE0E08E1318F343680E50A8).FieldHandle);
|
||||
Dstu7624Engine.S1 = array2;
|
||||
byte[] array3 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.340B4B55E1DFD4BADC69CA57007FC1A4CDBA7943).FieldHandle);
|
||||
Dstu7624Engine.S2 = array3;
|
||||
byte[] array4 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.5CFF612F2058DE2C287ECA5C6407ECC471F65576).FieldHandle);
|
||||
Dstu7624Engine.S3 = array4;
|
||||
byte[] array5 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.C1C8DE48D8C0FA876F4ED0086BB93D7EAF61E4B2).FieldHandle);
|
||||
Dstu7624Engine.T0 = array5;
|
||||
byte[] array6 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.9F198D04FF67738AE583484145F45103ECE550CC).FieldHandle);
|
||||
Dstu7624Engine.T1 = array6;
|
||||
byte[] array7 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.C2443D9DBCD3810F90475C6F404BEDCFEF58661E).FieldHandle);
|
||||
Dstu7624Engine.T2 = array7;
|
||||
byte[] array8 = new byte[256];
|
||||
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.BD0C733AC85AB335526865FA6269790347865705).FieldHandle);
|
||||
Dstu7624Engine.T3 = array8;
|
||||
}
|
||||
|
||||
// Token: 0x04006617 RID: 26135
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006617")]
|
||||
private ulong[] internalState;
|
||||
|
||||
// Token: 0x04006618 RID: 26136
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006618")]
|
||||
private ulong[] workingKey;
|
||||
|
||||
// Token: 0x04006619 RID: 26137
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006619")]
|
||||
private ulong[][] roundKeys;
|
||||
|
||||
// Token: 0x0400661A RID: 26138
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400661A")]
|
||||
private int wordsInBlock;
|
||||
|
||||
// Token: 0x0400661B RID: 26139
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x400661B")]
|
||||
private int wordsInKey;
|
||||
|
||||
// Token: 0x0400661C RID: 26140
|
||||
[Token(Token = "0x400661C")]
|
||||
private const int ROUNDS_128 = 10;
|
||||
|
||||
// Token: 0x0400661D RID: 26141
|
||||
[Token(Token = "0x400661D")]
|
||||
private const int ROUNDS_256 = 14;
|
||||
|
||||
// Token: 0x0400661E RID: 26142
|
||||
[Token(Token = "0x400661E")]
|
||||
private const int ROUNDS_512 = 18;
|
||||
|
||||
// Token: 0x0400661F RID: 26143
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400661F")]
|
||||
private int roundsAmount;
|
||||
|
||||
// Token: 0x04006620 RID: 26144
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x4006620")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x04006621 RID: 26145
|
||||
[Token(Token = "0x4006621")]
|
||||
private const ulong mdsMatrix = 290207332435296513UL;
|
||||
|
||||
// Token: 0x04006622 RID: 26146
|
||||
[Token(Token = "0x4006622")]
|
||||
private const ulong mdsInvMatrix = 14616231584692868525UL;
|
||||
|
||||
// Token: 0x04006623 RID: 26147
|
||||
[Token(Token = "0x4006623")]
|
||||
private static readonly byte[] S0;
|
||||
|
||||
// Token: 0x04006624 RID: 26148
|
||||
[Token(Token = "0x4006624")]
|
||||
private static readonly byte[] S1;
|
||||
|
||||
// Token: 0x04006625 RID: 26149
|
||||
[Token(Token = "0x4006625")]
|
||||
private static readonly byte[] S2;
|
||||
|
||||
// Token: 0x04006626 RID: 26150
|
||||
[Token(Token = "0x4006626")]
|
||||
private static readonly byte[] S3;
|
||||
|
||||
// Token: 0x04006627 RID: 26151
|
||||
[Token(Token = "0x4006627")]
|
||||
private static readonly byte[] T0;
|
||||
|
||||
// Token: 0x04006628 RID: 26152
|
||||
[Token(Token = "0x4006628")]
|
||||
private static readonly byte[] T1;
|
||||
|
||||
// Token: 0x04006629 RID: 26153
|
||||
[Token(Token = "0x4006629")]
|
||||
private static readonly byte[] T2;
|
||||
|
||||
// Token: 0x0400662A RID: 26154
|
||||
[Token(Token = "0x400662A")]
|
||||
private static readonly byte[] T3;
|
||||
}
|
||||
}
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B3 RID: 5811
|
||||
[Token(Token = "0x20016B3")]
|
||||
[StructLayout(3)]
|
||||
public class Dstu7624WrapEngine : IWrapper
|
||||
{
|
||||
// Token: 0x06009BB6 RID: 39862 RVA: 0x00232E84 File Offset: 0x00231084
|
||||
[Token(Token = "0x6009BB6")]
|
||||
[Address(RVA = "0x211EBF0", Offset = "0x211D5F0", VA = "0x18211EBF0")]
|
||||
public Dstu7624WrapEngine(int blockSizeBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BB6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624WrapEngine::.ctor(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4A:
|
||||
stloc:ArgumentException(var_3_54, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unsupported block length: only 128/256/512 are allowed")))
|
||||
}
|
||||
|
||||
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: 0x170018CB RID: 6347
|
||||
// (get) Token: 0x06009BB7 RID: 39863 RVA: 0x00232EE8 File Offset: 0x002310E8
|
||||
[Token(Token = "0x170018CB")]
|
||||
public string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009BB7")]
|
||||
[Address(RVA = "0x211ECF0", Offset = "0x211D6F0", VA = "0x18211ECF0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return "Dstu7624WrapEngine";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BB8 RID: 39864 RVA: 0x00232EFC File Offset: 0x002310FC
|
||||
[Token(Token = "0x6009BB8")]
|
||||
[Address(RVA = "0x211DC90", Offset = "0x211C690", VA = "0x18211DC90", Slot = "5")]
|
||||
public void Init(bool forWrapping, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BB8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624WrapEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2D:
|
||||
stloc:ArgumentException(var_4_37, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Bad parameters passed to Dstu7624WrapEngine")))
|
||||
}
|
||||
|
||||
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: 0x06009BB9 RID: 39865 RVA: 0x00232F44 File Offset: 0x00231144
|
||||
[Token(Token = "0x6009BB9")]
|
||||
[Address(RVA = "0x211E540", Offset = "0x211CF40", VA = "0x18211E540", Slot = "6")]
|
||||
public byte[] Wrap(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BB9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624WrapEngine::Wrap(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_289:
|
||||
stloc:InvalidOperationException(var_43_293, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Not set for wrapping")))
|
||||
}
|
||||
|
||||
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: 0x06009BBA RID: 39866 RVA: 0x002331E8 File Offset: 0x002313E8
|
||||
[Token(Token = "0x6009BBA")]
|
||||
[Address(RVA = "0x211DDC0", Offset = "0x211C7C0", VA = "0x18211DDC0", Slot = "7")]
|
||||
public byte[] Unwrap(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BBA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Dstu7624WrapEngine::Unwrap(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_292:
|
||||
stloc:InvalidCipherTextException(var_44_29C, newobj:InvalidCipherTextException(InvalidCipherTextException::.ctor, ldstr:string("checksum failed")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0400662B RID: 26155
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400662B")]
|
||||
private KeyParameter param;
|
||||
|
||||
// Token: 0x0400662C RID: 26156
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400662C")]
|
||||
private Dstu7624Engine engine;
|
||||
|
||||
// Token: 0x0400662D RID: 26157
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400662D")]
|
||||
private bool forWrapping;
|
||||
|
||||
// Token: 0x0400662E RID: 26158
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x400662E")]
|
||||
private int blockSize;
|
||||
}
|
||||
}
|
||||
+134
@@ -0,0 +1,134 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B4 RID: 5812
|
||||
[Token(Token = "0x20016B4")]
|
||||
[StructLayout(3)]
|
||||
public class ElGamalEngine : IAsymmetricBlockCipher
|
||||
{
|
||||
// Token: 0x170018CC RID: 6348
|
||||
// (get) Token: 0x06009BBB RID: 39867 RVA: 0x00233494 File Offset: 0x00231694
|
||||
[Token(Token = "0x170018CC")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009BBB")]
|
||||
[Address(RVA = "0x211F580", Offset = "0x211DF80", VA = "0x18211F580", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return "ElGamal";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BBC RID: 39868 RVA: 0x002334A8 File Offset: 0x002316A8
|
||||
[Token(Token = "0x6009BBC")]
|
||||
[Address(RVA = "0x211ED80", Offset = "0x211D780", VA = "0x18211ED80", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BBC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.ElGamalEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_BD:
|
||||
stloc:ArgumentException(var_13_C7, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("ElGamalPublicKeyParameters are required for encryption.")))
|
||||
}
|
||||
|
||||
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: 0x06009BBD RID: 39869 RVA: 0x00233580 File Offset: 0x00231780
|
||||
[Token(Token = "0x6009BBD")]
|
||||
[Address(RVA = "0x211ED20", Offset = "0x211D720", VA = "0x18211ED20", Slot = "11")]
|
||||
public virtual int GetInputBlockSize()
|
||||
{
|
||||
int num = this.bitSize;
|
||||
if (!this.forEncryption)
|
||||
{
|
||||
num += 7;
|
||||
return num + num;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x06009BBE RID: 39870 RVA: 0x002335A8 File Offset: 0x002317A8
|
||||
[Token(Token = "0x6009BBE")]
|
||||
[Address(RVA = "0x211ED50", Offset = "0x211D750", VA = "0x18211ED50", Slot = "12")]
|
||||
public virtual int GetOutputBlockSize()
|
||||
{
|
||||
int num = this.bitSize;
|
||||
if (!this.forEncryption)
|
||||
{
|
||||
return num;
|
||||
}
|
||||
num += 7;
|
||||
return num + num;
|
||||
}
|
||||
|
||||
// Token: 0x06009BBF RID: 39871 RVA: 0x002335D0 File Offset: 0x002317D0
|
||||
[Token(Token = "0x6009BBF")]
|
||||
[Address(RVA = "0x211F070", Offset = "0x211DA70", VA = "0x18211F070", Slot = "13")]
|
||||
public virtual byte[] ProcessBlock(byte[] input, int inOff, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BBF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.ElGamalEngine::ProcessBlock(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_16D:
|
||||
stloc:DataLengthException(var_33_177, newobj:DataLengthException(DataLengthException::.ctor, ldstr:string("input too large for ElGamal cipher.\n")))
|
||||
}
|
||||
|
||||
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: 0x06009BC0 RID: 39872 RVA: 0x00233758 File Offset: 0x00231958
|
||||
[Token(Token = "0x6009BC0")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public ElGamalEngine()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400662F RID: 26159
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400662F")]
|
||||
private ElGamalKeyParameters key;
|
||||
|
||||
// Token: 0x04006630 RID: 26160
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006630")]
|
||||
private SecureRandom random;
|
||||
|
||||
// Token: 0x04006631 RID: 26161
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006631")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x04006632 RID: 26162
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x4006632")]
|
||||
private int bitSize;
|
||||
}
|
||||
}
|
||||
+403
@@ -0,0 +1,403 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B5 RID: 5813
|
||||
[Token(Token = "0x20016B5")]
|
||||
[StructLayout(3)]
|
||||
public class Gost28147Engine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009BC1 RID: 39873 RVA: 0x0023376C File Offset: 0x0023196C
|
||||
[Token(Token = "0x6009BC1")]
|
||||
[Address(RVA = "0x21205A0", Offset = "0x211EFA0", VA = "0x1821205A0")]
|
||||
static Gost28147Engine()
|
||||
{
|
||||
byte[] array = new byte[128];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.D3BA31FA2132E3CD69D057D38B3E3ACF0A6C8A13).FieldHandle);
|
||||
Gost28147Engine.Sbox_Default = array;
|
||||
byte[] array2 = new byte[128];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.CC53D7FE00E6AC1385AF09521629229467BCCC86).FieldHandle);
|
||||
Gost28147Engine.ESbox_Test = array2;
|
||||
byte[] array3 = new byte[128];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.2BA9E4B370D477F8C7FE286262D7ADC69CAF290E).FieldHandle);
|
||||
Gost28147Engine.ESbox_A = array3;
|
||||
byte[] array4 = new byte[128];
|
||||
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.1005BA20F99323E3F050E781BB81D1A4479AB037).FieldHandle);
|
||||
Gost28147Engine.ESbox_B = array4;
|
||||
byte[] array5 = new byte[128];
|
||||
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.E17D18DCD8392C99D47823F8CB9F43896D115FB8).FieldHandle);
|
||||
Gost28147Engine.ESbox_C = array5;
|
||||
byte[] array6 = new byte[128];
|
||||
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.7CFF7A50C8F8981091791CDB210243E8F465BC80).FieldHandle);
|
||||
Gost28147Engine.ESbox_D = array6;
|
||||
byte[] array7 = new byte[128];
|
||||
RuntimeHelpers.InitializeArray(array7, fieldof(<PrivateImplementationDetails>.D3BA31FA2132E3CD69D057D38B3E3ACF0A6C8A13).FieldHandle);
|
||||
Gost28147Engine.DSbox_Test = array7;
|
||||
byte[] array8 = new byte[128];
|
||||
RuntimeHelpers.InitializeArray(array8, fieldof(<PrivateImplementationDetails>.3A38ADC6BCFB84DE23160C1E50212DACBCD25A11).FieldHandle);
|
||||
Gost28147Engine.DSbox_A = array8;
|
||||
Gost28147Engine.sBoxes = Platform.CreateHashtable();
|
||||
byte[] sbox_Default = Gost28147Engine.Sbox_Default;
|
||||
Gost28147Engine.AddSBox("Default", sbox_Default);
|
||||
byte[] esbox_Test = Gost28147Engine.ESbox_Test;
|
||||
Gost28147Engine.AddSBox("E-TEST", esbox_Test);
|
||||
byte[] esbox_A = Gost28147Engine.ESbox_A;
|
||||
Gost28147Engine.AddSBox("E-A", esbox_A);
|
||||
byte[] esbox_B = Gost28147Engine.ESbox_B;
|
||||
Gost28147Engine.AddSBox("E-B", esbox_B);
|
||||
byte[] esbox_C = Gost28147Engine.ESbox_C;
|
||||
Gost28147Engine.AddSBox("E-C", esbox_C);
|
||||
byte[] esbox_D = Gost28147Engine.ESbox_D;
|
||||
Gost28147Engine.AddSBox("E-D", esbox_D);
|
||||
byte[] dsbox_Test = Gost28147Engine.DSbox_Test;
|
||||
Gost28147Engine.AddSBox("D-TEST", dsbox_Test);
|
||||
byte[] dsbox_A = Gost28147Engine.DSbox_A;
|
||||
Gost28147Engine.AddSBox("D-A", dsbox_A);
|
||||
}
|
||||
|
||||
// Token: 0x06009BC2 RID: 39874 RVA: 0x0023390C File Offset: 0x00231B0C
|
||||
[Token(Token = "0x6009BC2")]
|
||||
[Address(RVA = "0x211F5B0", Offset = "0x211DFB0", VA = "0x18211F5B0")]
|
||||
private static void AddSBox(string sBoxName, byte[] sBox)
|
||||
{
|
||||
IDictionary dictionary = Gost28147Engine.sBoxes;
|
||||
string text = Platform.ToUpperInvariant(sBoxName);
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
object obj = dictionary[text];
|
||||
}
|
||||
|
||||
// Token: 0x06009BC3 RID: 39875 RVA: 0x00233944 File Offset: 0x00231B44
|
||||
[Token(Token = "0x6009BC3")]
|
||||
[Address(RVA = "0x21208D0", Offset = "0x211F2D0", VA = "0x1821208D0")]
|
||||
public Gost28147Engine()
|
||||
{
|
||||
byte[] sbox_Default = Gost28147Engine.Sbox_Default;
|
||||
this.S = sbox_Default;
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009BC4 RID: 39876 RVA: 0x00233964 File Offset: 0x00231B64
|
||||
[Token(Token = "0x6009BC4")]
|
||||
[Address(RVA = "0x2120190", Offset = "0x211EB90", VA = "0x182120190", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BC4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Gost28147Engine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_62:
|
||||
stloc:ArgumentException(var_11_6C, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("invalid S-box passed to GOST28147 init")))
|
||||
}
|
||||
|
||||
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: 0x170018CD RID: 6349
|
||||
// (get) Token: 0x06009BC5 RID: 39877 RVA: 0x002339E0 File Offset: 0x00231BE0
|
||||
[Token(Token = "0x170018CD")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009BC5")]
|
||||
[Address(RVA = "0x2120A50", Offset = "0x211F450", VA = "0x182120A50", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return "Gost28147";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018CE RID: 6350
|
||||
// (get) Token: 0x06009BC6 RID: 39878 RVA: 0x002339F4 File Offset: 0x00231BF4
|
||||
[Token(Token = "0x170018CE")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009BC6")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BC7 RID: 39879 RVA: 0x00233A04 File Offset: 0x00231C04
|
||||
[Token(Token = "0x6009BC7")]
|
||||
[Address(RVA = "0x56E570", Offset = "0x56CF70", VA = "0x18056E570", Slot = "13")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
|
||||
// Token: 0x06009BC8 RID: 39880 RVA: 0x00233A14 File Offset: 0x00231C14
|
||||
[Token(Token = "0x6009BC8")]
|
||||
[Address(RVA = "0x2120490", Offset = "0x211EE90", VA = "0x182120490", Slot = "14")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BC8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Gost28147Engine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1A:
|
||||
stloc:InvalidOperationException(var_3_24, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Gost28147 engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009BC9 RID: 39881 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009BC9")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "15")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009BCA RID: 39882 RVA: 0x00233A48 File Offset: 0x00231C48
|
||||
[Token(Token = "0x6009BCA")]
|
||||
[Address(RVA = "0x2120940", Offset = "0x211F340", VA = "0x182120940")]
|
||||
private int[] generateWorkingKey(bool forEncryption, byte[] userKey)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BCA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Gost28147Engine::generateWorkingKey(System.Boolean,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_32:
|
||||
stloc:ArgumentException(var_2_3C, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Key length invalid. Key needs to be 32 byte - 256 bit!!!")))
|
||||
}
|
||||
|
||||
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: 0x06009BCB RID: 39883 RVA: 0x00233A94 File Offset: 0x00231C94
|
||||
[Token(Token = "0x6009BCB")]
|
||||
[Address(RVA = "0x211FF50", Offset = "0x211E950", VA = "0x18211FF50")]
|
||||
private int Gost28147_mainStep(int n1, int key)
|
||||
{
|
||||
int length = this.S.Length;
|
||||
byte b;
|
||||
byte b2;
|
||||
b += b2;
|
||||
b += b2;
|
||||
b += b2;
|
||||
b += b2;
|
||||
b += b2;
|
||||
b += b2;
|
||||
b += b2;
|
||||
b2 = b;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009BCC RID: 39884 RVA: 0x00233AD0 File Offset: 0x00231CD0
|
||||
[Token(Token = "0x6009BCC")]
|
||||
[Address(RVA = "0x211FBB0", Offset = "0x211E5B0", VA = "0x18211FBB0")]
|
||||
private void Gost28147Func(int[] workingKey, byte[] inBytes, int inOff, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = 0;
|
||||
if ((this.forEncryption ? 1 : 0) == num)
|
||||
{
|
||||
int num2 = workingKey[num];
|
||||
int num3 = this.Gost28147_mainStep(inOff, num2);
|
||||
num++;
|
||||
uint num4;
|
||||
if (num != 2 || num4 != (uint)0)
|
||||
{
|
||||
int num5 = workingKey[(int)num4];
|
||||
num3 = this.Gost28147_mainStep(inOff, num5);
|
||||
}
|
||||
num++;
|
||||
}
|
||||
int num6 = workingKey[num];
|
||||
int num7 = this.Gost28147_mainStep(inOff, num6);
|
||||
num++;
|
||||
num++;
|
||||
uint num9;
|
||||
int num8 = workingKey[(int)num9];
|
||||
num7 = this.Gost28147_mainStep(inOff, num8);
|
||||
int num10 = workingKey[0];
|
||||
int num11 = this.Gost28147_mainStep(inOff, num10);
|
||||
}
|
||||
|
||||
// Token: 0x06009BCD RID: 39885 RVA: 0x00233B80 File Offset: 0x00231D80
|
||||
[Token(Token = "0x6009BCD")]
|
||||
[Address(RVA = "0x20F0850", Offset = "0x20EF250", VA = "0x1820F0850")]
|
||||
private static int bytesToint(byte[] inBytes, int inOff)
|
||||
{
|
||||
int length = inBytes.Length;
|
||||
byte b = inBytes[inBytes];
|
||||
byte b2 = inBytes[inBytes];
|
||||
int num = inOff + 1;
|
||||
b += b2;
|
||||
b += b2;
|
||||
byte b3;
|
||||
b += b3;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009BCE RID: 39886 RVA: 0x00233BBC File Offset: 0x00231DBC
|
||||
[Token(Token = "0x6009BCE")]
|
||||
[Address(RVA = "0x20F0D90", Offset = "0x20EF790", VA = "0x1820F0D90")]
|
||||
private static void intTobytes(int num, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num2 = outOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x06009BCF RID: 39887 RVA: 0x00233BD4 File Offset: 0x00231DD4
|
||||
[Token(Token = "0x6009BCF")]
|
||||
[Address(RVA = "0x211FA70", Offset = "0x211E470", VA = "0x18211FA70")]
|
||||
public static byte[] GetSBox(string sBoxName)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BCF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Gost28147Engine::GetSBox(System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1D:
|
||||
stloc:ArgumentException(var_3_27, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Unknown S-Box - possible types: \"Default\", \"E-Test\", \"E-A\", \"E-B\", \"E-C\", \"E-D\", \"D-Test\", \"D-A\".")))
|
||||
}
|
||||
|
||||
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: 0x06009BD0 RID: 39888 RVA: 0x00233C08 File Offset: 0x00231E08
|
||||
[Token(Token = "0x6009BD0")]
|
||||
[Address(RVA = "0x211F6E0", Offset = "0x211E0E0", VA = "0x18211F6E0")]
|
||||
public static string GetSBoxName(byte[] sBox)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BD0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.Gost28147Engine::GetSBoxName(System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_7E:
|
||||
stloc:ArgumentException(var_8_88, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("SBOX provided did not map to a known one")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006633 RID: 26163
|
||||
[Token(Token = "0x4006633")]
|
||||
private const int BlockSize = 8;
|
||||
|
||||
// Token: 0x04006634 RID: 26164
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006634")]
|
||||
private int[] workingKey;
|
||||
|
||||
// Token: 0x04006635 RID: 26165
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006635")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x04006636 RID: 26166
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006636")]
|
||||
private byte[] S;
|
||||
|
||||
// Token: 0x04006637 RID: 26167
|
||||
[Token(Token = "0x4006637")]
|
||||
private static readonly byte[] Sbox_Default;
|
||||
|
||||
// Token: 0x04006638 RID: 26168
|
||||
[Token(Token = "0x4006638")]
|
||||
private static readonly byte[] ESbox_Test;
|
||||
|
||||
// Token: 0x04006639 RID: 26169
|
||||
[Token(Token = "0x4006639")]
|
||||
private static readonly byte[] ESbox_A;
|
||||
|
||||
// Token: 0x0400663A RID: 26170
|
||||
[Token(Token = "0x400663A")]
|
||||
private static readonly byte[] ESbox_B;
|
||||
|
||||
// Token: 0x0400663B RID: 26171
|
||||
[Token(Token = "0x400663B")]
|
||||
private static readonly byte[] ESbox_C;
|
||||
|
||||
// Token: 0x0400663C RID: 26172
|
||||
[Token(Token = "0x400663C")]
|
||||
private static readonly byte[] ESbox_D;
|
||||
|
||||
// Token: 0x0400663D RID: 26173
|
||||
[Token(Token = "0x400663D")]
|
||||
private static readonly byte[] DSbox_Test;
|
||||
|
||||
// Token: 0x0400663E RID: 26174
|
||||
[Token(Token = "0x400663E")]
|
||||
private static readonly byte[] DSbox_A;
|
||||
|
||||
// Token: 0x0400663F RID: 26175
|
||||
[Token(Token = "0x400663F")]
|
||||
private static readonly IDictionary sBoxes;
|
||||
}
|
||||
}
|
||||
+345
@@ -0,0 +1,345 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B6 RID: 5814
|
||||
[Token(Token = "0x20016B6")]
|
||||
[StructLayout(3)]
|
||||
public class HC128Engine : IStreamCipher
|
||||
{
|
||||
// Token: 0x06009BD1 RID: 39889 RVA: 0x00233CA0 File Offset: 0x00231EA0
|
||||
[Token(Token = "0x6009BD1")]
|
||||
[Address(RVA = "0x2120A90", Offset = "0x211F490", VA = "0x182120A90")]
|
||||
private static uint F1(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BD2 RID: 39890 RVA: 0x00233CB0 File Offset: 0x00231EB0
|
||||
[Token(Token = "0x6009BD2")]
|
||||
[Address(RVA = "0x2120AC0", Offset = "0x211F4C0", VA = "0x182120AC0")]
|
||||
private static uint F2(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BD3 RID: 39891 RVA: 0x00233CC0 File Offset: 0x00231EC0
|
||||
[Token(Token = "0x6009BD3")]
|
||||
[Address(RVA = "0x2120AF0", Offset = "0x211F4F0", VA = "0x182120AF0")]
|
||||
private uint G1(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BD4 RID: 39892 RVA: 0x00233CD0 File Offset: 0x00231ED0
|
||||
[Token(Token = "0x6009BD4")]
|
||||
[Address(RVA = "0x2120B20", Offset = "0x211F520", VA = "0x182120B20")]
|
||||
private uint G2(uint x, uint y, uint z)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BD5 RID: 39893 RVA: 0x00233CE0 File Offset: 0x00231EE0
|
||||
[Token(Token = "0x6009BD5")]
|
||||
[Address(RVA = "0x21009B0", Offset = "0x20FF3B0", VA = "0x1821009B0")]
|
||||
private static uint RotateLeft(uint x, int bits)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BD6 RID: 39894 RVA: 0x00233CF0 File Offset: 0x00231EF0
|
||||
[Token(Token = "0x6009BD6")]
|
||||
[Address(RVA = "0x7051F0", Offset = "0x703BF0", VA = "0x1807051F0")]
|
||||
private static uint RotateRight(uint x, int bits)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BD7 RID: 39895 RVA: 0x00233D00 File Offset: 0x00231F00
|
||||
[Token(Token = "0x6009BD7")]
|
||||
[Address(RVA = "0x2120BC0", Offset = "0x211F5C0", VA = "0x182120BC0")]
|
||||
private uint H1(uint x)
|
||||
{
|
||||
uint[] array = this.q;
|
||||
int length = array.Length;
|
||||
uint num = array[(int)x];
|
||||
uint num2 = array[(int)x];
|
||||
return num2 + num;
|
||||
}
|
||||
|
||||
// Token: 0x06009BD8 RID: 39896 RVA: 0x00233D38 File Offset: 0x00231F38
|
||||
[Token(Token = "0x6009BD8")]
|
||||
[Address(RVA = "0x2120C30", Offset = "0x211F630", VA = "0x182120C30")]
|
||||
private uint H2(uint x)
|
||||
{
|
||||
uint[] array = this.p;
|
||||
int length = array.Length;
|
||||
uint num = array[(int)x];
|
||||
uint num2 = array[(int)x];
|
||||
return num2 + num;
|
||||
}
|
||||
|
||||
// Token: 0x06009BD9 RID: 39897 RVA: 0x00233D70 File Offset: 0x00231F70
|
||||
[Token(Token = "0x6009BD9")]
|
||||
[Address(RVA = "0x21213D0", Offset = "0x211FDD0", VA = "0x1821213D0")]
|
||||
private static uint Mod1024(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BDA RID: 39898 RVA: 0x00233D80 File Offset: 0x00231F80
|
||||
[Token(Token = "0x6009BDA")]
|
||||
[Address(RVA = "0x21213E0", Offset = "0x211FDE0", VA = "0x1821213E0")]
|
||||
private static uint Mod512(uint x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BDB RID: 39899 RVA: 0x00233D90 File Offset: 0x00231F90
|
||||
[Token(Token = "0x6009BDB")]
|
||||
[Address(RVA = "0x2120A80", Offset = "0x211F480", VA = "0x182120A80")]
|
||||
private static uint Dim(uint x, uint y)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BDC RID: 39900 RVA: 0x00233DA0 File Offset: 0x00231FA0
|
||||
[Token(Token = "0x6009BDC")]
|
||||
[Address(RVA = "0x2121660", Offset = "0x2120060", VA = "0x182121660")]
|
||||
private uint Step()
|
||||
{
|
||||
uint num = this.cnt;
|
||||
uint[] array = this.q;
|
||||
int length = array.Length;
|
||||
uint num2 = num + 1U;
|
||||
uint num3 = array[(int)num2];
|
||||
uint num4;
|
||||
num3 += num4;
|
||||
uint num5;
|
||||
num5 += num3;
|
||||
uint[] array2 = this.q;
|
||||
int length2 = array2.Length;
|
||||
uint[] array3 = this.p;
|
||||
int length3 = array3.Length;
|
||||
num3 += (uint)256;
|
||||
uint num6 = array3[(int)num3];
|
||||
int length4 = array3.Length;
|
||||
uint num7 = array3[(int)num6];
|
||||
uint num8 = num + 1U;
|
||||
uint num9 = array3[(int)num8];
|
||||
uint num10;
|
||||
num9 += num10;
|
||||
num7 += num9;
|
||||
array2.m_value = num7;
|
||||
int length5 = this.p.Length;
|
||||
uint[] array4 = this.q;
|
||||
int length6 = array4.Length;
|
||||
uint num11 = array4[(int)num9];
|
||||
num9 += (uint)256;
|
||||
uint num12 = array4[(int)num9];
|
||||
num12 += num11;
|
||||
uint num13 = this.cnt;
|
||||
num13 += (uint)1;
|
||||
this.cnt = num13;
|
||||
return num12;
|
||||
}
|
||||
|
||||
// Token: 0x06009BDD RID: 39901 RVA: 0x00233EB8 File Offset: 0x002320B8
|
||||
[Token(Token = "0x6009BDD")]
|
||||
[Address(RVA = "0x2120CA0", Offset = "0x211F6A0", VA = "0x182120CA0")]
|
||||
private void Init()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BDD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.HC128Engine::Init()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12B:
|
||||
stloc:ArgumentException(var_26_135, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("The key must be 128 bits long")))
|
||||
}
|
||||
|
||||
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: 0x170018CF RID: 6351
|
||||
// (get) Token: 0x06009BDE RID: 39902 RVA: 0x00233FFC File Offset: 0x002321FC
|
||||
[Token(Token = "0x170018CF")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009BDE")]
|
||||
[Address(RVA = "0x2121AA0", Offset = "0x21204A0", VA = "0x182121AA0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return "HC-128";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BDF RID: 39903 RVA: 0x00234010 File Offset: 0x00232210
|
||||
[Token(Token = "0x6009BDF")]
|
||||
[Address(RVA = "0x21210B0", Offset = "0x211FAB0", VA = "0x1821210B0", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BDF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.HC128Engine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_7B:
|
||||
stloc:ArgumentException(var_12_91, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("Invalid parameter passed to HC128 init - "), ldloc:string(var_11)), ldstr:string("parameters")))
|
||||
}
|
||||
|
||||
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: 0x06009BE0 RID: 39904 RVA: 0x002340B0 File Offset: 0x002322B0
|
||||
[Token(Token = "0x6009BE0")]
|
||||
[Address(RVA = "0x2120B50", Offset = "0x211F550", VA = "0x182120B50")]
|
||||
private byte GetByte()
|
||||
{
|
||||
if (this.idx == 0)
|
||||
{
|
||||
uint num = this.Step();
|
||||
byte[] array = this.buf;
|
||||
Pack.UInt32_To_LE(num, array);
|
||||
}
|
||||
byte[] array2 = this.buf;
|
||||
int num2 = this.idx + 1;
|
||||
this.idx = num2;
|
||||
byte b;
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009BE1 RID: 39905 RVA: 0x002340FC File Offset: 0x002322FC
|
||||
[Token(Token = "0x6009BE1")]
|
||||
[Address(RVA = "0x21213F0", Offset = "0x211FDF0", VA = "0x1821213F0", Slot = "11")]
|
||||
public virtual void ProcessBytes(byte[] input, int inOff, int len, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BE1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.HC128Engine::ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_54:
|
||||
stloc:InvalidOperationException(var_7_5B, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldloc:string(var_6)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x06009BE2 RID: 39906 RVA: 0x00234168 File Offset: 0x00232368
|
||||
[Token(Token = "0x6009BE2")]
|
||||
[Address(RVA = "0x21215D0", Offset = "0x211FFD0", VA = "0x1821215D0", Slot = "12")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x06009BE3 RID: 39907 RVA: 0x0023417C File Offset: 0x0023237C
|
||||
[Token(Token = "0x6009BE3")]
|
||||
[Address(RVA = "0x21215E0", Offset = "0x211FFE0", VA = "0x1821215E0", Slot = "13")]
|
||||
public virtual byte ReturnByte(byte input)
|
||||
{
|
||||
if (this.idx == 0)
|
||||
{
|
||||
uint num = this.Step();
|
||||
byte[] array = this.buf;
|
||||
Pack.UInt32_To_LE(num, array);
|
||||
}
|
||||
byte[] array2 = this.buf;
|
||||
int num2 = this.idx + 1;
|
||||
this.idx = num2;
|
||||
byte b;
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009BE4 RID: 39908 RVA: 0x002341C8 File Offset: 0x002323C8
|
||||
[Token(Token = "0x6009BE4")]
|
||||
[Address(RVA = "0x2121A20", Offset = "0x2120420", VA = "0x182121A20")]
|
||||
public HC128Engine()
|
||||
{
|
||||
uint[] array = new uint[512];
|
||||
this.p = array;
|
||||
uint[] array2 = new uint[512];
|
||||
this.q = array2;
|
||||
byte[] array3 = new byte[4];
|
||||
this.buf = array3;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x04006640 RID: 26176
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006640")]
|
||||
private uint[] p;
|
||||
|
||||
// Token: 0x04006641 RID: 26177
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006641")]
|
||||
private uint[] q;
|
||||
|
||||
// Token: 0x04006642 RID: 26178
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006642")]
|
||||
private uint cnt;
|
||||
|
||||
// Token: 0x04006643 RID: 26179
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006643")]
|
||||
private byte[] key;
|
||||
|
||||
// Token: 0x04006644 RID: 26180
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006644")]
|
||||
private byte[] iv;
|
||||
|
||||
// Token: 0x04006645 RID: 26181
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006645")]
|
||||
private bool initialised;
|
||||
|
||||
// Token: 0x04006646 RID: 26182
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006646")]
|
||||
private byte[] buf;
|
||||
|
||||
// Token: 0x04006647 RID: 26183
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006647")]
|
||||
private int idx;
|
||||
}
|
||||
}
|
||||
+268
@@ -0,0 +1,268 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B7 RID: 5815
|
||||
[Token(Token = "0x20016B7")]
|
||||
[StructLayout(3)]
|
||||
public class HC256Engine : IStreamCipher
|
||||
{
|
||||
// Token: 0x06009BE5 RID: 39909 RVA: 0x00234210 File Offset: 0x00232410
|
||||
[Token(Token = "0x6009BE5")]
|
||||
[Address(RVA = "0x2122530", Offset = "0x2120F30", VA = "0x182122530")]
|
||||
private uint Step()
|
||||
{
|
||||
uint num = this.cnt;
|
||||
uint[] array = this.q;
|
||||
int length = array.Length;
|
||||
uint num2 = array[this];
|
||||
uint num3 = num + 1U;
|
||||
uint num4 = array[(int)num3];
|
||||
uint[] array2 = this.p;
|
||||
uint num5 = array[(int)num3];
|
||||
num3 = num4;
|
||||
num3 += num5;
|
||||
uint[] array3 = this.q;
|
||||
int length2 = array3.Length;
|
||||
uint[] array4 = this.p;
|
||||
int length3 = array4.Length;
|
||||
num4 = num2;
|
||||
num4 += (uint)256;
|
||||
uint num6 = array4[(int)num4];
|
||||
num4 = num2;
|
||||
num4 += (uint)512;
|
||||
num2 += (uint)768;
|
||||
uint num7 = array4[(int)num2];
|
||||
uint num8 = num + 1U;
|
||||
uint[] array5 = this.q;
|
||||
array3 += num6;
|
||||
uint[] array6 = this.p;
|
||||
int length4 = array6.Length;
|
||||
uint[] array7 = this.q;
|
||||
uint num9 = array6[(int)num2];
|
||||
int length5 = array7.Length;
|
||||
uint num10 = array7[(int)num9];
|
||||
num2 = num9;
|
||||
num9 = num2;
|
||||
num9 += (uint)256;
|
||||
uint num11 = array7[(int)num9];
|
||||
num2 = num9;
|
||||
num9 = num2;
|
||||
num9 += (uint)512;
|
||||
num2 = num9;
|
||||
num2 += (uint)768;
|
||||
num2 += num11;
|
||||
num2 += num10;
|
||||
uint num12 = this.cnt;
|
||||
num12 += (uint)1;
|
||||
this.cnt = num12;
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x06009BE6 RID: 39910 RVA: 0x00234370 File Offset: 0x00232570
|
||||
[Token(Token = "0x6009BE6")]
|
||||
[Address(RVA = "0x2121B40", Offset = "0x2120540", VA = "0x182121B40")]
|
||||
private void Init()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BE6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.HC256Engine::Init()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1AF:
|
||||
stloc:ArgumentException(var_38_1B9, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("The key must be 128/256 bits long")))
|
||||
}
|
||||
|
||||
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: 0x170018D0 RID: 6352
|
||||
// (get) Token: 0x06009BE7 RID: 39911 RVA: 0x00234538 File Offset: 0x00232738
|
||||
[Token(Token = "0x170018D0")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009BE7")]
|
||||
[Address(RVA = "0x2122AB0", Offset = "0x21214B0", VA = "0x182122AB0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return "HC-256";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BE8 RID: 39912 RVA: 0x0023454C File Offset: 0x0023274C
|
||||
[Token(Token = "0x6009BE8")]
|
||||
[Address(RVA = "0x2121FA0", Offset = "0x21209A0", VA = "0x182121FA0", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BE8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.HC256Engine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_7B:
|
||||
stloc:ArgumentException(var_12_91, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("Invalid parameter passed to HC256 init - "), ldloc:string(var_11)), ldstr:string("parameters")))
|
||||
}
|
||||
|
||||
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: 0x06009BE9 RID: 39913 RVA: 0x002345EC File Offset: 0x002327EC
|
||||
[Token(Token = "0x6009BE9")]
|
||||
[Address(RVA = "0x2121AD0", Offset = "0x21204D0", VA = "0x182121AD0")]
|
||||
private byte GetByte()
|
||||
{
|
||||
if (this.idx == 0)
|
||||
{
|
||||
uint num = this.Step();
|
||||
byte[] array = this.buf;
|
||||
Pack.UInt32_To_LE(num, array);
|
||||
}
|
||||
byte[] array2 = this.buf;
|
||||
int num2 = this.idx + 1;
|
||||
this.idx = num2;
|
||||
byte b;
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009BEA RID: 39914 RVA: 0x00234638 File Offset: 0x00232838
|
||||
[Token(Token = "0x6009BEA")]
|
||||
[Address(RVA = "0x21222C0", Offset = "0x2120CC0", VA = "0x1821222C0", Slot = "11")]
|
||||
public virtual void ProcessBytes(byte[] input, int inOff, int len, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BEA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.HC256Engine::ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_54:
|
||||
stloc:InvalidOperationException(var_7_5B, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldloc:string(var_6)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x06009BEB RID: 39915 RVA: 0x002346A4 File Offset: 0x002328A4
|
||||
[Token(Token = "0x6009BEB")]
|
||||
[Address(RVA = "0x21224A0", Offset = "0x2120EA0", VA = "0x1821224A0", Slot = "12")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
this.Init();
|
||||
}
|
||||
|
||||
// Token: 0x06009BEC RID: 39916 RVA: 0x002346B8 File Offset: 0x002328B8
|
||||
[Token(Token = "0x6009BEC")]
|
||||
[Address(RVA = "0x21224B0", Offset = "0x2120EB0", VA = "0x1821224B0", Slot = "13")]
|
||||
public virtual byte ReturnByte(byte input)
|
||||
{
|
||||
if (this.idx == 0)
|
||||
{
|
||||
uint num = this.Step();
|
||||
byte[] array = this.buf;
|
||||
Pack.UInt32_To_LE(num, array);
|
||||
}
|
||||
byte[] array2 = this.buf;
|
||||
int num2 = this.idx + 1;
|
||||
this.idx = num2;
|
||||
byte b;
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009BED RID: 39917 RVA: 0x00234704 File Offset: 0x00232904
|
||||
[Token(Token = "0x6009BED")]
|
||||
[Address(RVA = "0x7051F0", Offset = "0x703BF0", VA = "0x1807051F0")]
|
||||
private static uint RotateRight(uint x, int bits)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x06009BEE RID: 39918 RVA: 0x00234714 File Offset: 0x00232914
|
||||
[Token(Token = "0x6009BEE")]
|
||||
[Address(RVA = "0x2122A30", Offset = "0x2121430", VA = "0x182122A30")]
|
||||
public HC256Engine()
|
||||
{
|
||||
uint[] array = new uint[1024];
|
||||
this.p = array;
|
||||
uint[] array2 = new uint[1024];
|
||||
this.q = array2;
|
||||
byte[] array3 = new byte[4];
|
||||
this.buf = array3;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x04006648 RID: 26184
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006648")]
|
||||
private uint[] p;
|
||||
|
||||
// Token: 0x04006649 RID: 26185
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006649")]
|
||||
private uint[] q;
|
||||
|
||||
// Token: 0x0400664A RID: 26186
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400664A")]
|
||||
private uint cnt;
|
||||
|
||||
// Token: 0x0400664B RID: 26187
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400664B")]
|
||||
private byte[] key;
|
||||
|
||||
// Token: 0x0400664C RID: 26188
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400664C")]
|
||||
private byte[] iv;
|
||||
|
||||
// Token: 0x0400664D RID: 26189
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400664D")]
|
||||
private bool initialised;
|
||||
|
||||
// Token: 0x0400664E RID: 26190
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400664E")]
|
||||
private byte[] buf;
|
||||
|
||||
// Token: 0x0400664F RID: 26191
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400664F")]
|
||||
private int idx;
|
||||
}
|
||||
}
|
||||
+363
@@ -0,0 +1,363 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B9 RID: 5817
|
||||
[Token(Token = "0x20016B9")]
|
||||
[StructLayout(3)]
|
||||
public class IdeaEngine : IBlockCipher
|
||||
{
|
||||
// Token: 0x06009BF9 RID: 39929 RVA: 0x00234D40 File Offset: 0x00232F40
|
||||
[Token(Token = "0x6009BF9")]
|
||||
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
||||
public IdeaEngine()
|
||||
{
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06009BFA RID: 39930 RVA: 0x00234D54 File Offset: 0x00232F54
|
||||
[Token(Token = "0x6009BFA")]
|
||||
[Address(RVA = "0x2123440", Offset = "0x2121E40", VA = "0x182123440", Slot = "10")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BFA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.IdeaEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_36:
|
||||
stloc:ArgumentException(var_7_47, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to IDEA init - "), ldloc:string(var_6))))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x170018D2 RID: 6354
|
||||
// (get) Token: 0x06009BFB RID: 39931 RVA: 0x00234DAC File Offset: 0x00232FAC
|
||||
[Token(Token = "0x170018D2")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009BFB")]
|
||||
[Address(RVA = "0x21241B0", Offset = "0x2122BB0", VA = "0x1821241B0", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return "IDEA";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170018D3 RID: 6355
|
||||
// (get) Token: 0x06009BFC RID: 39932 RVA: 0x00234DC0 File Offset: 0x00232FC0
|
||||
[Token(Token = "0x170018D3")]
|
||||
public virtual bool IsPartialBlockOkay
|
||||
{
|
||||
[Token(Token = "0x6009BFC")]
|
||||
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "12")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BFD RID: 39933 RVA: 0x00234DD0 File Offset: 0x00232FD0
|
||||
[Token(Token = "0x6009BFD")]
|
||||
[Address(RVA = "0x56E570", Offset = "0x56CF70", VA = "0x18056E570", Slot = "13")]
|
||||
public virtual int GetBlockSize()
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
|
||||
// Token: 0x06009BFE RID: 39934 RVA: 0x00234DE0 File Offset: 0x00232FE0
|
||||
[Token(Token = "0x6009BFE")]
|
||||
[Address(RVA = "0x2123FF0", Offset = "0x21229F0", VA = "0x182123FF0", Slot = "14")]
|
||||
public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BFE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.IdeaEngine::ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1A:
|
||||
stloc:InvalidOperationException(var_3_24, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("IDEA engine not initialised")))
|
||||
}
|
||||
|
||||
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: 0x06009BFF RID: 39935 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x6009BFF")]
|
||||
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "15")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x06009C00 RID: 39936 RVA: 0x00234E14 File Offset: 0x00233014
|
||||
[Token(Token = "0x6009C00")]
|
||||
[Address(RVA = "0x2122B40", Offset = "0x2121540", VA = "0x182122B40")]
|
||||
private int BytesToWord(byte[] input, int inOff)
|
||||
{
|
||||
int length = input.Length;
|
||||
byte b;
|
||||
byte b2;
|
||||
b += b2;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009C01 RID: 39937 RVA: 0x00234E34 File Offset: 0x00233034
|
||||
[Token(Token = "0x6009C01")]
|
||||
[Address(RVA = "0x2124100", Offset = "0x2122B00", VA = "0x182124100")]
|
||||
private void WordToBytes(int word, byte[] outBytes, int outOff)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06009C02 RID: 39938 RVA: 0x00234E48 File Offset: 0x00233048
|
||||
[Token(Token = "0x6009C02")]
|
||||
[Address(RVA = "0x2123ED0", Offset = "0x21228D0", VA = "0x182123ED0")]
|
||||
private int Mul(int x, int y)
|
||||
{
|
||||
if (x != 0)
|
||||
{
|
||||
if (y != 0)
|
||||
{
|
||||
int num = x * y;
|
||||
int mask = IdeaEngine.MASK;
|
||||
bool flag = mask < num;
|
||||
flag = (flag ? 1 : 0) - num != 0;
|
||||
flag = (flag ? 1 : 0) + mask != 0;
|
||||
}
|
||||
int num2 = IdeaEngine.BASE;
|
||||
num2 -= x;
|
||||
}
|
||||
int num3 = IdeaEngine.BASE;
|
||||
num3 -= y;
|
||||
return IdeaEngine.MASK;
|
||||
}
|
||||
|
||||
// Token: 0x06009C03 RID: 39939 RVA: 0x00234E90 File Offset: 0x00233090
|
||||
[Token(Token = "0x6009C03")]
|
||||
[Address(RVA = "0x2122F00", Offset = "0x2121900", VA = "0x182122F00")]
|
||||
private void IdeaFunc(int[] workingKey, byte[] input, int inOff, byte[] outBytes, int outOff)
|
||||
{
|
||||
int num = 0;
|
||||
int length = input.Length;
|
||||
int num2 = inOff + 1;
|
||||
byte b;
|
||||
byte b2;
|
||||
b += b2;
|
||||
byte b3;
|
||||
b3 += b2;
|
||||
byte b4;
|
||||
b4 += b2;
|
||||
byte b5;
|
||||
b5 += b2;
|
||||
int num3 = workingKey[num];
|
||||
int num4 = this.Mul((int)b, num3);
|
||||
int length2 = workingKey.Length;
|
||||
int num5;
|
||||
num5 += (int)b3;
|
||||
int length3 = workingKey.Length;
|
||||
int num6;
|
||||
num6 += (int)b4;
|
||||
num += 3;
|
||||
int num7 = workingKey[num];
|
||||
num += 4;
|
||||
int num8 = workingKey[num];
|
||||
int num9;
|
||||
num6 = num9;
|
||||
int num10;
|
||||
num6 += num10;
|
||||
num++;
|
||||
int mask = IdeaEngine.MASK;
|
||||
int num11 = workingKey[num];
|
||||
int num12;
|
||||
num12 += mask;
|
||||
int num13;
|
||||
int num14;
|
||||
num13 += num14;
|
||||
num += 3;
|
||||
int num15 = workingKey[num];
|
||||
}
|
||||
|
||||
// Token: 0x06009C04 RID: 39940 RVA: 0x00234F58 File Offset: 0x00233158
|
||||
[Token(Token = "0x6009C04")]
|
||||
[Address(RVA = "0x2122BA0", Offset = "0x21215A0", VA = "0x182122BA0")]
|
||||
private int[] ExpandKey(byte[] uKey)
|
||||
{
|
||||
int[] array = new int[52];
|
||||
int num = 0;
|
||||
if (uKey.Length < 16)
|
||||
{
|
||||
byte[] array2 = new byte[0];
|
||||
int length = uKey.Length;
|
||||
int num2 = array2.Length;
|
||||
int num3 = 0;
|
||||
num2 -= length;
|
||||
Array.Copy(uKey, num3, array2, num2, length);
|
||||
}
|
||||
int length2 = uKey.Length;
|
||||
num += 2;
|
||||
byte b;
|
||||
byte b2;
|
||||
b += b2;
|
||||
num++;
|
||||
array[0] = (int)b;
|
||||
int length3 = array.Length;
|
||||
uint num4;
|
||||
if (num4 != (uint)6)
|
||||
{
|
||||
int length4 = array.Length;
|
||||
}
|
||||
int length5 = array.Length;
|
||||
int length6 = array.Length;
|
||||
num4 += (uint)1;
|
||||
int num5;
|
||||
array[0] = num5;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009C05 RID: 39941 RVA: 0x00235004 File Offset: 0x00233204
|
||||
[Token(Token = "0x6009C05")]
|
||||
[Address(RVA = "0x2123D50", Offset = "0x2122750", VA = "0x182123D50")]
|
||||
private int MulInv(int x)
|
||||
{
|
||||
int num = IdeaEngine.BASE;
|
||||
uint num2;
|
||||
if (x != (int)num2)
|
||||
{
|
||||
int num3 = x * x;
|
||||
num2 += (uint)num3;
|
||||
if (x == (int)num2)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
int num4 = x * (int)num2;
|
||||
num = x + num4;
|
||||
}
|
||||
num2 -= (uint)num;
|
||||
return IdeaEngine.MASK;
|
||||
}
|
||||
|
||||
// Token: 0x06009C06 RID: 39942 RVA: 0x00235044 File Offset: 0x00233244
|
||||
[Token(Token = "0x6009C06")]
|
||||
[Address(RVA = "0x2122AE0", Offset = "0x21214E0", VA = "0x182122AE0")]
|
||||
private int AddInv(int x)
|
||||
{
|
||||
return IdeaEngine.MASK;
|
||||
}
|
||||
|
||||
// Token: 0x06009C07 RID: 39943 RVA: 0x00235058 File Offset: 0x00233258
|
||||
[Token(Token = "0x6009C07")]
|
||||
[Address(RVA = "0x21235F0", Offset = "0x2121FF0", VA = "0x1821235F0")]
|
||||
private int[] InvertKey(int[] inKey)
|
||||
{
|
||||
int[] array = new int[52];
|
||||
int num = inKey[0];
|
||||
int num2 = this.MulInv(num);
|
||||
int mask = IdeaEngine.MASK;
|
||||
int num3 = inKey[1];
|
||||
int num4 = inKey[1];
|
||||
int num5 = this.MulInv(num4);
|
||||
array[25] = num5;
|
||||
array[25] = num3;
|
||||
array[24] = mask;
|
||||
array[24] = num2;
|
||||
int length = inKey.Length;
|
||||
uint num7;
|
||||
int num6 = inKey[(int)num7];
|
||||
uint num8 = num7 + 1U;
|
||||
uint num10;
|
||||
uint num9 = num10 - 1U;
|
||||
int num11 = inKey[(int)num8];
|
||||
array[0] = num11;
|
||||
num7 += (uint)2;
|
||||
array[0] = num6;
|
||||
int num12 = inKey[(int)num7];
|
||||
int num13 = this.MulInv(num12);
|
||||
num7 += (uint)3;
|
||||
uint num14 = num7 + 1U;
|
||||
int mask2 = IdeaEngine.MASK;
|
||||
uint num15 = num14 + 1U;
|
||||
int num16 = inKey[(int)num14];
|
||||
num15 += (uint)1;
|
||||
int num17 = inKey[(int)num15];
|
||||
int num18;
|
||||
array[0] = num18;
|
||||
array[0] = mask2;
|
||||
array[0] = num16;
|
||||
ulong num19;
|
||||
num19 += (ulong)1L;
|
||||
array[0] = num13;
|
||||
int length2 = inKey.Length;
|
||||
int num20 = inKey[(int)num15];
|
||||
uint num21 = num15 + 1U;
|
||||
int num22 = inKey[(int)num21];
|
||||
int num23 = num16 - 1;
|
||||
array[0] = num22;
|
||||
array[0] = num20;
|
||||
int num24 = inKey[num23];
|
||||
num15 += (uint)4;
|
||||
int mask3 = IdeaEngine.MASK;
|
||||
int num25 = inKey[(int)num15];
|
||||
num16 += -4;
|
||||
int num26;
|
||||
array[0] = num26;
|
||||
array[0] = num25;
|
||||
array[0] = mask3;
|
||||
int num27;
|
||||
array[0] = num27;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009C08 RID: 39944 RVA: 0x0023520C File Offset: 0x0023340C
|
||||
[Token(Token = "0x6009C08")]
|
||||
[Address(RVA = "0x2122EC0", Offset = "0x21218C0", VA = "0x182122EC0")]
|
||||
private int[] GenerateWorkingKey(bool forEncryption, byte[] userKey)
|
||||
{
|
||||
int[] array = this.ExpandKey(userKey);
|
||||
if (!forEncryption)
|
||||
{
|
||||
int[] array2 = this.InvertKey(array);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0400665B RID: 26203
|
||||
[Token(Token = "0x400665B")]
|
||||
private const int BLOCK_SIZE = 8;
|
||||
|
||||
// Token: 0x0400665C RID: 26204
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400665C")]
|
||||
private int[] workingKey;
|
||||
|
||||
// Token: 0x0400665D RID: 26205
|
||||
[Token(Token = "0x400665D")]
|
||||
private static readonly int MASK;
|
||||
|
||||
// Token: 0x0400665E RID: 26206
|
||||
[Token(Token = "0x400665E")]
|
||||
private static readonly int BASE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,235 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016BA RID: 5818
|
||||
[Token(Token = "0x20016BA")]
|
||||
[StructLayout(3)]
|
||||
public class IesEngine
|
||||
{
|
||||
// Token: 0x06009C0A RID: 39946 RVA: 0x00235240 File Offset: 0x00233440
|
||||
[Token(Token = "0x6009C0A")]
|
||||
[Address(RVA = "0x2124FF0", Offset = "0x21239F0", VA = "0x182124FF0")]
|
||||
public IesEngine(IBasicAgreement agree, IDerivationFunction kdf, IMac mac)
|
||||
{
|
||||
this.agree = agree;
|
||||
this.kdf = kdf;
|
||||
this.mac = mac;
|
||||
byte[] array = new byte[0];
|
||||
this.macBuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x06009C0B RID: 39947 RVA: 0x0023527C File Offset: 0x0023347C
|
||||
[Token(Token = "0x6009C0B")]
|
||||
[Address(RVA = "0x2124F50", Offset = "0x2123950", VA = "0x182124F50")]
|
||||
public IesEngine(IBasicAgreement agree, IDerivationFunction kdf, IMac mac, BufferedBlockCipher cipher)
|
||||
{
|
||||
this.agree = agree;
|
||||
this.kdf = kdf;
|
||||
this.mac = mac;
|
||||
byte[] array = new byte[0];
|
||||
this.macBuf = array;
|
||||
this.cipher = 0;
|
||||
}
|
||||
|
||||
// Token: 0x06009C0C RID: 39948 RVA: 0x002352C0 File Offset: 0x002334C0
|
||||
[Token(Token = "0x6009C0C")]
|
||||
[Address(RVA = "0x2124C80", Offset = "0x2123680", VA = "0x182124C80", Slot = "4")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters privParameters, ICipherParameters pubParameters, ICipherParameters iesParameters)
|
||||
{
|
||||
this.forEncryption = forEncryption;
|
||||
this.privParam = privParameters;
|
||||
this.pubParam = pubParameters;
|
||||
this.param = 0;
|
||||
}
|
||||
|
||||
// Token: 0x06009C0D RID: 39949 RVA: 0x002352EC File Offset: 0x002334EC
|
||||
[Token(Token = "0x6009C0D")]
|
||||
[Address(RVA = "0x21241E0", Offset = "0x2122BE0", VA = "0x1821241E0")]
|
||||
private byte[] DecryptBlock(byte[] in_enc, int inOff, int inLen, byte[] z)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009C0D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.IesEngine::DecryptBlock(System.Byte[],System.Int32,System.Int32,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_130:
|
||||
stloc:InvalidCipherTextException(var_34_13A, newobj:InvalidCipherTextException(InvalidCipherTextException::.ctor, ldstr:string("Invalid MAC.")))
|
||||
}
|
||||
|
||||
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: 0x06009C0E RID: 39950 RVA: 0x00235434 File Offset: 0x00233634
|
||||
[Token(Token = "0x6009C0E")]
|
||||
[Address(RVA = "0x21246D0", Offset = "0x21230D0", VA = "0x1821246D0")]
|
||||
private byte[] EncryptBlock(byte[] input, int inOff, int inLen, byte[] z)
|
||||
{
|
||||
int num;
|
||||
int num2;
|
||||
for (;;)
|
||||
{
|
||||
byte[] derivation = this.param.derivation;
|
||||
IesParameters iesParameters = this.param;
|
||||
num = iesParameters.macKeySize;
|
||||
if (this.cipher == (ulong)0L)
|
||||
{
|
||||
goto IL_A2;
|
||||
}
|
||||
if (iesParameters != 0)
|
||||
{
|
||||
num2 = 0;
|
||||
if (iesParameters != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += typeof(IesWithCipherParameters).TypeHandle;
|
||||
KdfParameters kdfParameters;
|
||||
byte[] array = this.GenerateKdfBytes(kdfParameters, num2);
|
||||
string algorithmName = this.cipher.AlgorithmName;
|
||||
int blockSize = this.cipher.GetBlockSize();
|
||||
byte[] array2 = new byte[inLen];
|
||||
BufferedBlockCipher bufferedBlockCipher = this.cipher;
|
||||
BufferedBlockCipher bufferedBlockCipher2 = this.cipher;
|
||||
IMac mac = this.mac;
|
||||
byte[] array3 = new byte[0];
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(array2, num4, array3, num3, inLen);
|
||||
IL_A2:
|
||||
IMac mac2 = this.mac;
|
||||
byte[] array4 = new byte[0];
|
||||
int num5 = 0;
|
||||
if (inLen != 0)
|
||||
{
|
||||
num5++;
|
||||
while (num5 != inLen)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] array5;
|
||||
KeyParameter keyParameter = new KeyParameter(array5, inLen, num);
|
||||
IesParameters iesParameters2 = this.param;
|
||||
IMac mac3 = this.mac;
|
||||
byte[] encoding = iesParameters2.encoding;
|
||||
IMac mac4 = this.mac;
|
||||
IMac mac5 = this.mac;
|
||||
int length = encoding.Length;
|
||||
IMac mac6 = this.mac;
|
||||
return array4;
|
||||
}
|
||||
|
||||
// Token: 0x06009C0F RID: 39951 RVA: 0x00235554 File Offset: 0x00233754
|
||||
[Token(Token = "0x6009C0F")]
|
||||
[Address(RVA = "0x2124B70", Offset = "0x2123570", VA = "0x182124B70")]
|
||||
private byte[] GenerateKdfBytes(KdfParameters kParam, int length)
|
||||
{
|
||||
byte[] array = new byte[length];
|
||||
IDerivationFunction derivationFunction = this.kdf;
|
||||
IDerivationFunction derivationFunction2 = this.kdf;
|
||||
int num = 0;
|
||||
int length2 = array.Length;
|
||||
if (num < derivationFunction)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x06009C10 RID: 39952 RVA: 0x00235598 File Offset: 0x00233798
|
||||
[Token(Token = "0x6009C10")]
|
||||
[Address(RVA = "0x2124D40", Offset = "0x2123740", VA = "0x182124D40", Slot = "5")]
|
||||
public virtual byte[] ProcessBlock(byte[] input, int inOff, int inLen)
|
||||
{
|
||||
int num;
|
||||
byte[] array3;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IBasicAgreement basicAgreement = this.agree;
|
||||
IBasicAgreement basicAgreement2 = this.agree;
|
||||
ICipherParameters cipherParameters = this.pubParam;
|
||||
if (num < basicAgreement)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
IBasicAgreement basicAgreement3 = this.agree;
|
||||
byte[] array2;
|
||||
if (this.forEncryption)
|
||||
{
|
||||
byte[] array = this.EncryptBlock(input, inOff, inLen, array2);
|
||||
}
|
||||
array3 = this.DecryptBlock(input, inOff, inLen, array2);
|
||||
int length = array2.Length;
|
||||
int num2 = 0;
|
||||
Array.Clear(array2, num2, length);
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return array3;
|
||||
}
|
||||
|
||||
// Token: 0x0400665F RID: 26207
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400665F")]
|
||||
private readonly IBasicAgreement agree;
|
||||
|
||||
// Token: 0x04006660 RID: 26208
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006660")]
|
||||
private readonly IDerivationFunction kdf;
|
||||
|
||||
// Token: 0x04006661 RID: 26209
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006661")]
|
||||
private readonly IMac mac;
|
||||
|
||||
// Token: 0x04006662 RID: 26210
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006662")]
|
||||
private readonly BufferedBlockCipher cipher;
|
||||
|
||||
// Token: 0x04006663 RID: 26211
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006663")]
|
||||
private readonly byte[] macBuf;
|
||||
|
||||
// Token: 0x04006664 RID: 26212
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006664")]
|
||||
private bool forEncryption;
|
||||
|
||||
// Token: 0x04006665 RID: 26213
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006665")]
|
||||
private ICipherParameters privParam;
|
||||
|
||||
// Token: 0x04006666 RID: 26214
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006666")]
|
||||
private ICipherParameters pubParam;
|
||||
|
||||
// Token: 0x04006667 RID: 26215
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006667")]
|
||||
private IesParameters param;
|
||||
}
|
||||
}
|
||||
+337
@@ -0,0 +1,337 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines
|
||||
{
|
||||
// Token: 0x020016B8 RID: 5816
|
||||
[Token(Token = "0x20016B8")]
|
||||
[StructLayout(3)]
|
||||
public class IsaacEngine : IStreamCipher
|
||||
{
|
||||
// Token: 0x06009BEF RID: 39919 RVA: 0x0023475C File Offset: 0x0023295C
|
||||
[Token(Token = "0x6009BEF")]
|
||||
[Address(RVA = "0x2125090", Offset = "0x2123A90", VA = "0x182125090", Slot = "9")]
|
||||
public virtual void Init(bool forEncryption, ICipherParameters parameters)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BEF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.IsaacEngine::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_18:
|
||||
stloc:ArgumentException(var_4_2D, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("invalid parameter passed to ISAAC Init - "), ldloc:string(var_3)), ldstr:string("parameters")))
|
||||
}
|
||||
|
||||
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: 0x06009BF0 RID: 39920 RVA: 0x00234798 File Offset: 0x00232998
|
||||
[Token(Token = "0x6009BF0")]
|
||||
[Address(RVA = "0x21253D0", Offset = "0x2123DD0", VA = "0x1821253D0", Slot = "10")]
|
||||
public virtual byte ReturnByte(byte input)
|
||||
{
|
||||
if (this.index == 0)
|
||||
{
|
||||
this.isaac();
|
||||
byte[] array = Pack.UInt32_To_BE(this.results);
|
||||
this.keyStream = array;
|
||||
}
|
||||
byte[] array2 = this.keyStream;
|
||||
int num = this.index + 1;
|
||||
this.index = num;
|
||||
byte b;
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x06009BF1 RID: 39921 RVA: 0x002347E8 File Offset: 0x002329E8
|
||||
[Token(Token = "0x6009BF1")]
|
||||
[Address(RVA = "0x21251E0", Offset = "0x2123BE0", VA = "0x1821251E0", Slot = "11")]
|
||||
public virtual void ProcessBytes(byte[] input, int inOff, int len, byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (06009BF1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines.IsaacEngine::ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_63:
|
||||
stloc:InvalidOperationException(var_7_6A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldloc:string(var_6)))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x170018D1 RID: 6353
|
||||
// (get) Token: 0x06009BF2 RID: 39922 RVA: 0x00234860 File Offset: 0x00232A60
|
||||
[Token(Token = "0x170018D1")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x6009BF2")]
|
||||
[Address(RVA = "0x2125520", Offset = "0x2123F20", VA = "0x182125520", Slot = "12")]
|
||||
get
|
||||
{
|
||||
return "ISAAC";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06009BF3 RID: 39923 RVA: 0x00234874 File Offset: 0x00232A74
|
||||
[Token(Token = "0x6009BF3")]
|
||||
[Address(RVA = "0x21253C0", Offset = "0x2123DC0", VA = "0x1821253C0", Slot = "13")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
byte[] array = this.workingKey;
|
||||
this.setKey(array);
|
||||
}
|
||||
|
||||
// Token: 0x06009BF4 RID: 39924 RVA: 0x00234890 File Offset: 0x00232A90
|
||||
[Token(Token = "0x6009BF4")]
|
||||
[Address(RVA = "0x2125C80", Offset = "0x2124680", VA = "0x182125C80")]
|
||||
private void setKey(byte[] keyBytes)
|
||||
{
|
||||
this.workingKey = keyBytes;
|
||||
if (this.engineState == (ulong)0L)
|
||||
{
|
||||
uint[] array = new uint[IsaacEngine.stateArraySize];
|
||||
this.engineState = array;
|
||||
}
|
||||
if (this.results == (ulong)0L)
|
||||
{
|
||||
uint[] array2 = new uint[IsaacEngine.stateArraySize];
|
||||
this.results = array2;
|
||||
}
|
||||
int num = 0;
|
||||
uint[] array3 = this.results;
|
||||
uint[] array4 = this.engineState;
|
||||
array3[0] = (uint)num;
|
||||
array4[0] = (uint)num;
|
||||
num++;
|
||||
this.b = (uint)num;
|
||||
this.a = (uint)num;
|
||||
this.index = num;
|
||||
byte[] array5 = new byte[keyBytes.Length];
|
||||
int length = keyBytes.Length;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
Array.Copy(keyBytes, num3, array5, num2, length);
|
||||
if (num < array5.Length)
|
||||
{
|
||||
uint[] array6 = this.results;
|
||||
int @int = SerializationHeaderRecord.GetInt32(array5, num);
|
||||
num += 4;
|
||||
array6[0] = (uint)@int;
|
||||
}
|
||||
uint[] array7 = new uint[IsaacEngine.sizeL];
|
||||
num++;
|
||||
array7[0] = (uint)((ulong)2654435769L);
|
||||
this.mix(array7);
|
||||
while (num != array7.Length)
|
||||
{
|
||||
}
|
||||
num -= num;
|
||||
if (num < 1)
|
||||
{
|
||||
uint[] array8 = this.results;
|
||||
}
|
||||
uint[] array9 = this.engineState;
|
||||
num++;
|
||||
this.mix(array7);
|
||||
uint[] array10 = this.engineState;
|
||||
num++;
|
||||
uint num4 = array7[num];
|
||||
array10[0] = num4;
|
||||
num++;
|
||||
this.isaac();
|
||||
this.initialised = true;
|
||||
}
|
||||
|
||||
// Token: 0x06009BF5 RID: 39925 RVA: 0x00234A00 File Offset: 0x00232C00
|
||||
[Token(Token = "0x6009BF5")]
|
||||
[Address(RVA = "0x2125550", Offset = "0x2123F50", VA = "0x182125550")]
|
||||
private void isaac()
|
||||
{
|
||||
uint num = this.c;
|
||||
num += (uint)1;
|
||||
int num2 = 0;
|
||||
this.c = num;
|
||||
uint[] array = this.engineState;
|
||||
uint num3 = array[num2];
|
||||
if (num2 != array.Length && num2 != array.Length && (num2 == array.Length || num2 == 1))
|
||||
{
|
||||
this.a = (uint)num2;
|
||||
}
|
||||
uint num4;
|
||||
this.a = num4;
|
||||
int length = array.Length;
|
||||
uint num5 = array[(int)num3];
|
||||
num5 += num4;
|
||||
array.m_value = num5;
|
||||
uint[] array2 = this.engineState;
|
||||
uint[] array3 = this.results;
|
||||
num3 = num5;
|
||||
uint num6 = array2[(int)num3];
|
||||
num6 += num3;
|
||||
this.b = num6;
|
||||
array3.m_value = num6;
|
||||
num2++;
|
||||
}
|
||||
|
||||
// Token: 0x06009BF6 RID: 39926 RVA: 0x00234AC0 File Offset: 0x00232CC0
|
||||
[Token(Token = "0x6009BF6")]
|
||||
[Address(RVA = "0x2125740", Offset = "0x2124140", VA = "0x182125740")]
|
||||
private void mix(uint[] x)
|
||||
{
|
||||
int length = x.Length;
|
||||
uint num = x[0];
|
||||
x[0] = num;
|
||||
int length2 = x.Length;
|
||||
uint num2 = x[0];
|
||||
uint num3 = x[1];
|
||||
num3 += num2;
|
||||
x[0] = num3;
|
||||
int length3 = x.Length;
|
||||
uint num4 = x[1];
|
||||
x[0] = num4;
|
||||
int length4 = x.Length;
|
||||
uint num5 = x[1];
|
||||
uint num6 = x[1];
|
||||
num6 += num5;
|
||||
x[1] = num6;
|
||||
int length5 = x.Length;
|
||||
uint num7 = x[1];
|
||||
x[1] = num7;
|
||||
int length6 = x.Length;
|
||||
uint num8 = x[1];
|
||||
uint num9 = x[2];
|
||||
num9 += num8;
|
||||
x[1] = num9;
|
||||
int length7 = x.Length;
|
||||
uint num10 = x[2];
|
||||
x[1] = num10;
|
||||
int length8 = x.Length;
|
||||
uint num11 = x[2];
|
||||
uint num12 = x[2];
|
||||
num12 += num11;
|
||||
x[2] = num12;
|
||||
int length9 = x.Length;
|
||||
uint num13 = x[2];
|
||||
x[2] = num13;
|
||||
int length10 = x.Length;
|
||||
uint num14 = x[2];
|
||||
x[2] = num14;
|
||||
int length11 = x.Length;
|
||||
uint num15 = x[3];
|
||||
x[2] = num15;
|
||||
int length12 = x.Length;
|
||||
uint num16 = x[0];
|
||||
num15 += num16;
|
||||
x[0] = num15;
|
||||
int length13 = x.Length;
|
||||
uint num17 = x[3];
|
||||
x[3] = num17;
|
||||
int length14 = x.Length;
|
||||
uint num18 = x[3];
|
||||
x[3] = num18;
|
||||
int length15 = x.Length;
|
||||
uint num19 = x[0];
|
||||
num18 += num19;
|
||||
x[0] = num18;
|
||||
uint num20 = x[0];
|
||||
x[3] = num20;
|
||||
uint num21 = x[0];
|
||||
x[3] = num21;
|
||||
int length16 = x.Length;
|
||||
uint num22 = x[1];
|
||||
num21 += num22;
|
||||
x[1] = num21;
|
||||
int length17 = x.Length;
|
||||
uint num23 = x[0];
|
||||
x[0] = num23;
|
||||
}
|
||||
|
||||
// Token: 0x06009BF7 RID: 39927 RVA: 0x00234D00 File Offset: 0x00232F00
|
||||
[Token(Token = "0x6009BF7")]
|
||||
[Address(RVA = "0x21254A0", Offset = "0x2123EA0", VA = "0x1821254A0")]
|
||||
public IsaacEngine()
|
||||
{
|
||||
byte[] array = new byte[IsaacEngine.stateArraySize];
|
||||
this.keyStream = array;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x04006650 RID: 26192
|
||||
[Token(Token = "0x4006650")]
|
||||
private static readonly int sizeL;
|
||||
|
||||
// Token: 0x04006651 RID: 26193
|
||||
[Token(Token = "0x4006651")]
|
||||
private static readonly int stateArraySize = IsaacEngine.sizeL;
|
||||
|
||||
// Token: 0x04006652 RID: 26194
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006652")]
|
||||
private uint[] engineState;
|
||||
|
||||
// Token: 0x04006653 RID: 26195
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006653")]
|
||||
private uint[] results;
|
||||
|
||||
// Token: 0x04006654 RID: 26196
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006654")]
|
||||
private uint a;
|
||||
|
||||
// Token: 0x04006655 RID: 26197
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x4006655")]
|
||||
private uint b;
|
||||
|
||||
// Token: 0x04006656 RID: 26198
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006656")]
|
||||
private uint c;
|
||||
|
||||
// Token: 0x04006657 RID: 26199
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
||||
[Token(Token = "0x4006657")]
|
||||
private int index;
|
||||
|
||||
// Token: 0x04006658 RID: 26200
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006658")]
|
||||
private byte[] keyStream;
|
||||
|
||||
// Token: 0x04006659 RID: 26201
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006659")]
|
||||
private byte[] workingKey;
|
||||
|
||||
// Token: 0x0400665A RID: 26202
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400665A")]
|
||||
private bool initialised;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user