m
This commit is contained in:
+557
@@ -0,0 +1,557 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
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: 0x02001DC2 RID: 7618
|
||||
[Token(Token = "0x2001DC2")]
|
||||
public class Dstu7564Digest : IDigest, IMemoable
|
||||
{
|
||||
// Token: 0x0600BDF5 RID: 48629 RVA: 0x002A6CF4 File Offset: 0x002A4EF4
|
||||
[Token(Token = "0x600BDF5")]
|
||||
[Address(RVA = "0x259FA80", Offset = "0x259EA80", VA = "0x18259FA80")]
|
||||
public Dstu7564Digest(Dstu7564Digest digest)
|
||||
{
|
||||
this.CopyIn(digest);
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF6 RID: 48630 RVA: 0x002A6D10 File Offset: 0x002A4F10
|
||||
[Token(Token = "0x600BDF6")]
|
||||
[Address(RVA = "0x259DFD0", Offset = "0x259CFD0", VA = "0x18259DFD0")]
|
||||
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: 0x0600BDF7 RID: 48631 RVA: 0x002A6E40 File Offset: 0x002A5040
|
||||
[Token(Token = "0x600BDF7")]
|
||||
[Address(RVA = "0x259FAB0", Offset = "0x259EAB0", VA = "0x18259FAB0")]
|
||||
public Dstu7564Digest(int hashSizeBits)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BDF7)
|
||||
|
||||
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: 0x17001DA7 RID: 7591
|
||||
// (get) Token: 0x0600BDF8 RID: 48632 RVA: 0x002A6F00 File Offset: 0x002A5100
|
||||
[Token(Token = "0x17001DA7")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600BDF8")]
|
||||
[Address(RVA = "0x259FC00", Offset = "0x259EC00", VA = "0x18259FC00", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return "DSTU7564";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BDF9 RID: 48633 RVA: 0x002A6F14 File Offset: 0x002A5114
|
||||
[Token(Token = "0x600BDF9")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "14")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
return this.hashSize;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDFA RID: 48634 RVA: 0x002A6F28 File Offset: 0x002A5128
|
||||
[Token(Token = "0x600BDFA")]
|
||||
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0", Slot = "15")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
return this.blockSize;
|
||||
}
|
||||
|
||||
// Token: 0x0600BDFB RID: 48635 RVA: 0x002A6F3C File Offset: 0x002A513C
|
||||
[Token(Token = "0x600BDFB")]
|
||||
[Address(RVA = "0x259F8F0", Offset = "0x259E8F0", VA = "0x18259F8F0", 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: 0x0600BDFC RID: 48636 RVA: 0x002A6F88 File Offset: 0x002A5188
|
||||
[Token(Token = "0x600BDFC")]
|
||||
[Address(RVA = "0x259DEB0", Offset = "0x259CEB0", VA = "0x18259DEB0", 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: 0x0600BDFD RID: 48637 RVA: 0x002A6FDC File Offset: 0x002A51DC
|
||||
[Token(Token = "0x600BDFD")]
|
||||
[Address(RVA = "0x259E160", Offset = "0x259D160", VA = "0x18259E160", 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: 0x0600BDFE RID: 48638 RVA: 0x002A7178 File Offset: 0x002A5378
|
||||
[Token(Token = "0x600BDFE")]
|
||||
[Address(RVA = "0x259EA00", Offset = "0x259DA00", VA = "0x18259EA00", 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: 0x0600BDFF RID: 48639 RVA: 0x002A71D0 File Offset: 0x002A53D0
|
||||
[Token(Token = "0x600BDFF")]
|
||||
[Address(RVA = "0x259E6E0", Offset = "0x259D6E0", VA = "0x18259E6E0", 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: 0x0600BE00 RID: 48640 RVA: 0x002A72AC File Offset: 0x002A54AC
|
||||
[Token(Token = "0x600BE00")]
|
||||
[Address(RVA = "0x259E630", Offset = "0x259D630", VA = "0x18259E630")]
|
||||
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: 0x0600BE01 RID: 48641 RVA: 0x002A72F8 File Offset: 0x002A54F8
|
||||
[Token(Token = "0x600BE01")]
|
||||
[Address(RVA = "0x259E920", Offset = "0x259D920", VA = "0x18259E920")]
|
||||
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: 0x0600BE02 RID: 48642 RVA: 0x002A7344 File Offset: 0x002A5544
|
||||
[Token(Token = "0x600BE02")]
|
||||
[Address(RVA = "0x259E420", Offset = "0x259D420", VA = "0x18259E420")]
|
||||
private static ulong MixColumn(ulong c)
|
||||
{
|
||||
return c;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE03 RID: 48643 RVA: 0x002A7354 File Offset: 0x002A5554
|
||||
[Token(Token = "0x600BE03")]
|
||||
[Address(RVA = "0x259E560", Offset = "0x259D560", VA = "0x18259E560")]
|
||||
private void MixColumns(ulong[] s)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.S3 > num)
|
||||
{
|
||||
ulong num2 = Dstu7564Digest.MixColumn(s[num]);
|
||||
num++;
|
||||
s[0] = num2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600BE04 RID: 48644 RVA: 0x002A738C File Offset: 0x002A558C
|
||||
[Token(Token = "0x600BE04")]
|
||||
[Address(RVA = "0x259EB00", Offset = "0x259DB00", VA = "0x18259EB00")]
|
||||
private static ulong Rotate(int n, ulong x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600BE05 RID: 48645 RVA: 0x002A739C File Offset: 0x002A559C
|
||||
[Token(Token = "0x600BE05")]
|
||||
[Address(RVA = "0x259EB20", Offset = "0x259DB20", VA = "0x18259EB20")]
|
||||
private void ShiftRows(ulong[] s)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE05)
|
||||
|
||||
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: 0x0600BE06 RID: 48646 RVA: 0x002A74F4 File Offset: 0x002A56F4
|
||||
[Token(Token = "0x600BE06")]
|
||||
[Address(RVA = "0x259F5F0", Offset = "0x259E5F0", VA = "0x18259F5F0")]
|
||||
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: 0x0600BE07 RID: 48647 RVA: 0x002A7550 File Offset: 0x002A5750
|
||||
[Token(Token = "0x600BE07")]
|
||||
[Address(RVA = "0x259E100", Offset = "0x259D100", VA = "0x18259E100", Slot = "21")]
|
||||
public virtual IMemoable Copy()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600BE07)
|
||||
|
||||
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: 0x0600BE08 RID: 48648 RVA: 0x002A7564 File Offset: 0x002A5764
|
||||
[Token(Token = "0x600BE08")]
|
||||
[Address(RVA = "0x259EA60", Offset = "0x259DA60", VA = "0x18259EA60", Slot = "22")]
|
||||
public virtual void Reset(IMemoable other)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (other == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600BE09 RID: 48649 RVA: 0x002A757C File Offset: 0x002A577C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600BE09")]
|
||||
[Address(RVA = "0x259F970", Offset = "0x259E970", VA = "0x18259F970")]
|
||||
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: 0x04007819 RID: 30745
|
||||
[Token(Token = "0x4007819")]
|
||||
private const int NB_512 = 8;
|
||||
|
||||
// Token: 0x0400781A RID: 30746
|
||||
[Token(Token = "0x400781A")]
|
||||
private const int NB_1024 = 16;
|
||||
|
||||
// Token: 0x0400781B RID: 30747
|
||||
[Token(Token = "0x400781B")]
|
||||
private const int NR_512 = 10;
|
||||
|
||||
// Token: 0x0400781C RID: 30748
|
||||
[Token(Token = "0x400781C")]
|
||||
private const int NR_1024 = 14;
|
||||
|
||||
// Token: 0x0400781D RID: 30749
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400781D")]
|
||||
private int hashSize;
|
||||
|
||||
// Token: 0x0400781E RID: 30750
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x400781E")]
|
||||
private int blockSize;
|
||||
|
||||
// Token: 0x0400781F RID: 30751
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400781F")]
|
||||
private int columns;
|
||||
|
||||
// Token: 0x04007820 RID: 30752
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4007820")]
|
||||
private int rounds;
|
||||
|
||||
// Token: 0x04007821 RID: 30753
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007821")]
|
||||
private ulong[] state;
|
||||
|
||||
// Token: 0x04007822 RID: 30754
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007822")]
|
||||
private ulong[] tempState1;
|
||||
|
||||
// Token: 0x04007823 RID: 30755
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007823")]
|
||||
private ulong[] tempState2;
|
||||
|
||||
// Token: 0x04007824 RID: 30756
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007824")]
|
||||
private ulong inputBlocks;
|
||||
|
||||
// Token: 0x04007825 RID: 30757
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007825")]
|
||||
private int bufOff;
|
||||
|
||||
// Token: 0x04007826 RID: 30758
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007826")]
|
||||
private byte[] buf;
|
||||
|
||||
// Token: 0x04007827 RID: 30759
|
||||
[Token(Token = "0x4007827")]
|
||||
private static readonly byte[] S0;
|
||||
|
||||
// Token: 0x04007828 RID: 30760
|
||||
[Token(Token = "0x4007828")]
|
||||
private static readonly byte[] S1;
|
||||
|
||||
// Token: 0x04007829 RID: 30761
|
||||
[Token(Token = "0x4007829")]
|
||||
private static readonly byte[] S2;
|
||||
|
||||
// Token: 0x0400782A RID: 30762
|
||||
[Token(Token = "0x400782A")]
|
||||
private static readonly byte[] S3;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user