Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Engines/HC128Engine.cs
T
2026-04-08 23:40:05 +02:00

346 lines
17 KiB
C#

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;
}
}