internal static DigitalSignature smethod_0(BinaryReader A_0, byte[] A_1) { bool flag; int num = 8; DigitalSignature signature = new DigitalSignature(DigitalSignatureType.CryptoApi); try { int num2 = A_0.ReadInt32(); int num3 = A_0.ReadInt32(); smethod_1(A_0); uint num4 = A_0.ReadUInt32(); uint num5 = A_0.ReadUInt32(); long fileTime = num4; fileTime = fileTime << 0x20; fileTime |= num5; signature.method_0(DateTime.FromFileTimeUtc(fileTime)); A_0.ReadInt32(); int count = A_0.ReadInt32(); int num8 = A_0.ReadInt32(); A_0.ReadInt32(); int num9 = A_0.ReadInt32(); int num10 = A_0.ReadInt32(); A_0.ReadInt32(); Class1029.smethod_5(A_0, (num2 + 1) * 2); Class1029.smethod_5(A_0, (num3 + 1) * 2); byte[] array = A_0.ReadBytes(count); byte[] rawData = A_0.ReadBytes(num8); A_0.ReadBytes(num9); A_0.ReadBytes(num10); if (num8 == 0) { throw new InvalidOperationException(BookmarkStart.b("稭堯圱䘳匵ᠷ匹伻ḽ⸿ⵁ摃╅ⵇ㡉㡋❍㙏㭑㝓㝕ⱗ㽙籛㭝ൟaţɥ౧ཀྵ乭ᙯᵱٳ噵婹ꪉヒﲑ鍊낝", num)); } X509Certificate2 certificate = new X509Certificate2(rawData); signature.method_3(certificate); RSAParameters parameters = ((RSACryptoServiceProvider)certificate.PublicKey.Key).ExportParameters(false); Array.Reverse(array); byte[] buffer3 = Class1078.smethod_0(array); Rsa rsa = new Rsa(parameters.Modulus, parameters.Exponent); byte[] sourceArray = Class1078.smethod_1(Class1078.smethod_2(rsa, buffer3), rsa.Modulus.method_0() >> 3); byte[] destinationArray = new byte[0x10]; Array.Copy(sourceArray, sourceArray.Length - 0x10, destinationArray, 0, 0x10); MD5 md = new MD5(); md.Update(A_1, A_1.Length); md.Update(BitConverter.GetBytes(num5), 4); md.Update(BitConverter.GetBytes(num4), 4); md.FinalUpdate(); flag = Class85.smethod_1(destinationArray, md.Digest); } catch (Exception) { flag = false; } signature.method_2(flag); return(signature); }
private bool method_2() { byte[] buffer = this.method_12().method_9(); int num = this.method_12().method_4(); byte[] buffer2 = smethod_0(this.method_4(buffer, this.method_12().method_11(), byte_2), num, 0); byte[] buffer3 = this.class803_0.method_0(this.method_4(buffer, this.method_12().method_10(), byte_1)); return(Class85.smethod_1(buffer2, buffer3)); }
private void method_4(BinaryReader A_0) { int num = 0; if (base.method_1() != 0) { A_0.ReadBytes(0x10); if (A_0.ReadInt32() == 2) { EsUriFlags flags = (EsUriFlags)A_0.ReadInt32(); if ((flags & EsUriFlags.HasDisplayName) != 0) { Class1029.smethod_7(A_0); } if ((flags & EsUriFlags.HasFrameName) != 0) { this.string_2 = Class1029.smethod_7(A_0); } if ((flags & EsUriFlags.HasMoniker) != 0) { if ((flags & EsUriFlags.MonikerSavedAsStr) == 0) { byte[] buffer = A_0.ReadBytes(0x10); if (!Class85.smethod_1(buffer, byte_1)) { if (!Class85.smethod_1(buffer, byte_2)) { Guid guid = new Guid(buffer); throw new InvalidOperationException(string.Format(BookmarkStart.b("猥䘧䄩䈫䄭䜯就ᐳ帵䄷䨹夻䰽ⰿ⭁⩃ⵅ桇ⱉ⍋㱍㵏㍑⁓硕硗㍛そय़ॡţᑥ䡧㥫❭㑯剱ᵳյ塷Ź䱻ͽ깿", num), guid.ToString())); } this.string_0 = smethod_1(A_0); } else { this.string_0 = smethod_0(A_0); } } else { this.string_0 = Class1029.smethod_7(A_0); } } if ((flags & EsUriFlags.HasLocationStr) != 0) { this.string_1 = Class1029.smethod_7(A_0); } if ((flags & EsUriFlags.HasGUID) != 0) { A_0.ReadBytes(0x10); } if ((flags & EsUriFlags.HasCreationTime) != 0) { A_0.ReadBytes(8); } } } }
private void method_4(BinaryReader A_0) { int num = 14; if (base.method_1() != 0) { A_0.ReadBytes(0x10); if (A_0.ReadInt32() == 2) { EscherUriFlags flags = (EscherUriFlags)A_0.ReadInt32(); if ((flags & EscherUriFlags.HasDisplayName) != 0) { Class813.smethod_7(A_0); } if ((flags & EscherUriFlags.HasFrameName) != 0) { this.string_2 = Class813.smethod_7(A_0); } if ((flags & EscherUriFlags.HasMoniker) != 0) { if ((flags & EscherUriFlags.MonikerSavedAsStr) == 0) { byte[] buffer = A_0.ReadBytes(0x10); if (!Class85.smethod_1(buffer, byte_1)) { if (!Class85.smethod_1(buffer, byte_2)) { Guid guid = new Guid(buffer); throw new InvalidOperationException(string.Format(BookmarkStart.b("愳堵匷吹医䤽⸿扁ⱃ㽅㡇⽉㹋≍㥏㱑㽓癕㹗㕙⹛㍝şᙡ䩣䙥╧թɫݭ᭯ٳ噵㽷⽹㕻㩽ꁿꚅ몉ꂍ", num), guid.ToString())); } this.string_0 = smethod_1(A_0); } else { this.string_0 = smethod_0(A_0); } } else { this.string_0 = Class813.smethod_7(A_0); } } if ((flags & EscherUriFlags.HasLocationStr) != 0) { this.string_1 = Class813.smethod_7(A_0); } if ((flags & EscherUriFlags.HasGUID) != 0) { A_0.ReadBytes(0x10); } if ((flags & EscherUriFlags.HasCreationTime) != 0) { A_0.ReadBytes(8); } } } }
private bool method_3(Stream A_0) { byte[] buffer = this.method_12().method_9(); byte[] buffer2 = this.method_11().method_9(); int num = this.method_11().method_4(); int num2 = this.method_11().method_2(); byte[] buffer3 = this.method_4(buffer, this.method_12().method_12(), byte_3); byte[] buffer4 = this.method_9(buffer2, byte_4, num2, 0); KeyedHashAlgorithm algorithm = KeyedHashAlgorithm.Create(BookmarkStart.b("挪怬渮爰", 5) + this.method_11().method_8()); algorithm.Key = this.method_5(buffer3, buffer4, this.method_11().method_12(), num, 0); byte[] buffer5 = algorithm.ComputeHash(A_0); byte[] buffer6 = this.method_9(buffer2, byte_5, num2, 0); byte[] buffer7 = this.method_5(buffer3, buffer6, this.method_11().method_13(), num, 0); return(Class85.smethod_1(buffer5, buffer7)); }
internal bool method_1(Class428 A_0) { return(Class85.smethod_1(this.byte_0, A_0.byte_0)); }