internal static void smethod_3(List <string> plugInFiles) { foreach (string str in plugInFiles) { try { smethod_6(PlugIn.smethod_0(str)); } catch (Exception exception) { ilog_0.ErrorFormat("加载插件{0}异常:{1}", str, exception); MessageManager.ShowMsgBox("FRM-000001", new string[] { str, exception.ToString() }); } } foreach (PlugIn in2 in list_0) { string str2; if (in2.Properties.TryGetValue("depend", out str2)) { foreach (string str3 in str2.Split(new char[] { ',' })) { bool flag = false; using (List <PlugIn> .Enumerator enumerator3 = list_0.GetEnumerator()) { while (enumerator3.MoveNext()) { string str4; PlugIn current = enumerator3.Current; if (current.Properties.TryGetValue("id", out str4) && str4.Equals(str3)) { goto Label_0112; } } goto Label_0125; Label_0112: flag = true; } Label_0125: if (!flag) { MessageManager.ShowMsgBox("FRM-000011", new string[] { in2.Properties["id"], str3 }); } } } } }
private static void smethod_6(PlugIn plugIn_0) { if (plugIn_0.method_5()) { foreach (Class135 class2 in plugIn_0.method_4().Values) { Class120 class3 = smethod_7(class120_0, class2.Name); foreach (Function function in class2.method_0()) { bool flag = false; using (List <Function> .Enumerator enumerator3 = class3.method_1().GetEnumerator()) { while (enumerator3.MoveNext()) { Function current = enumerator3.Current; if (current.Id.Equals(function.Id)) { goto Label_0092; } } goto Label_00A5; Label_0092: flag = true; } Label_00A5: if (!flag) { string str; bool flag2 = true; if (function.Properties.TryGetValue("class", out str)) { flag2 = ((Interface2)plugIn_0.method_9(str)).imethod_3(); } if (flag2) { class3.method_1().Add(function); } } } } } list_0.Add(plugIn_0); }
internal static PlugIn smethod_0(string string_1) { PlugIn in2; try { if (dictionary_0 == null) { dictionary_0 = new Dictionary <string, string>(); dictionary_0.Add("Auto", "/Aisino/Auto"); dictionary_0.Add("Toolbar", "/Aisino/Toolbar"); dictionary_0.Add("Menu", "/Aisino/Menu"); dictionary_0.Add("Tree", "/Aisino/Tree"); } FormSplashHelper.MsgWait("正在加载插件:" + string_1); byte[] sourceArray = Convert.FromBase64String("7Na8rAMiwkrjjdD3ovBEp1+7a77N+o8nsrh3X6B/K99RYmTt2+X7j7sk0z2WhONH"); byte[] destinationArray = new byte[0x20]; Array.Copy(sourceArray, 0, destinationArray, 0, 0x20); byte[] buffer3 = new byte[0x10]; Array.Copy(sourceArray, 0x20, buffer3, 0, 0x10); byte[] buffer4 = AES_Crypt.Decrypt(Convert.FromBase64String("eqxLBR2DaUHwhQe5q4IYbBEPnlYiMBApixEZLPuKEP5GBTIJsWDHiTZLIa1KTjxql1eMbyDXPUn4BhJVyaLdfA=="), destinationArray, buffer3, null); byte[] buffer5 = new byte[0x20]; Array.Copy(buffer4, 0, buffer5, 0, 0x20); byte[] buffer6 = new byte[0x10]; Array.Copy(buffer4, 0x20, buffer6, 0, 0x10); FileStream stream = new FileStream(string_1, FileMode.Open); byte[] buffer = new byte[stream.Length]; stream.Read(buffer, 0, buffer.Length); stream.Close(); XmlTextReader reader = new XmlTextReader(new MemoryStream(AES_Crypt.Decrypt(buffer, buffer5, buffer6, null))); PlugIn @in = smethod_1(reader, Path.GetDirectoryName(string_1)); @in.method_1(string_1); @in.method_6(true); reader.Close(); in2 = @in; } catch (Exception exception) { throw exception; } return(in2); }
private static PlugIn smethod_1(XmlReader xmlReader_0, string string_1) { PlugIn @in = new PlugIn(); while (xmlReader_0.Read()) { if (xmlReader_0.IsStartElement()) { string str; if (((str = xmlReader_0.LocalName) == null) || !(str == "PlugIn")) { xmlReader_0.Close(); throw new Exception2("不支持的插件描述文件"); } smethod_2(xmlReader_0, @in, string_1); xmlReader_0.Close(); } } return(@in); }
internal Class135(string string_1, Aisino.Framework.Plugin.Core.Plugin.PlugIn plugIn_1) { this.list_0 = new List <Function>(); this.plugIn_0 = plugIn_1; this.string_0 = string_1; }