Exemplo n.º 1
0
        // Token: 0x0600045B RID: 1115 RVA: 0x0001037C File Offset: 0x0000E57C
        private static void InitializeDelegates(DirectoryInfo firefoxProfilePath, DirectoryInfo firefoxPath)
        {
            if (new Version(FileVersionInfo.GetVersionInfo(firefoxPath.FullName + "\\firefox.exe").FileVersion).Major < new Version("35.0.0").Major)
            {
                return;
            }
            GClass26.LoadLibrary(firefoxPath.FullName + "\\msvcr100.dll");
            GClass26.LoadLibrary(firefoxPath.FullName + "\\msvcp100.dll");
            GClass26.LoadLibrary(firefoxPath.FullName + "\\msvcr120.dll");
            GClass26.LoadLibrary(firefoxPath.FullName + "\\msvcp120.dll");
            GClass26.LoadLibrary(firefoxPath.FullName + "\\mozglue.dll");
            Firefox.nssModule = GClass26.LoadLibrary(firefoxPath.FullName + "\\nss3.dll");
            IntPtr procAddress = GClass26.GetProcAddress(Firefox.nssModule, "NSS_Init");

            Firefox.NSS_InitPtr nss_InitPtr = (Firefox.NSS_InitPtr)Marshal.GetDelegateForFunctionPointer(procAddress, typeof(Firefox.NSS_InitPtr));
            nss_InitPtr(firefoxProfilePath.FullName);
            long slot = Firefox.PK11_GetInternalKeySlot();

            Firefox.PK11_Authenticate(slot, true, 0L);
        }