예제 #1
0
        /// <summary>
        /// 安卓UC浏览器数据解析
        /// </summary>
        public AndroidUCBrowseDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{E0D8A355-C796-4584-8681-A719115F9655}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_UCBrowse);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_WebMark);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "11.2.0.880";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 3;
            pluginInfo.OrderIndex   = 1;

            pluginInfo.AppName     = "com.UCMobile";
            pluginInfo.Icon        = "\\icons\\Uc_icon.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidUCBrowse);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.UCMobile/UCMobile/userdata/account/#F");
            pluginInfo.SourcePath.AddItem("/data/data/com.UCMobile/databases/#F");
            pluginInfo.SourcePath.AddItem("/data/data/com.UCMobile/user/history/input_history.ucmd");
            pluginInfo.SourcePath.AddItem("/data/data/com.UCMobile/UCMobile/app_external/novel_search");
            pluginInfo.SourcePath.AddItem("SDCard:/UCDownloads/#F");

            PluginInfo = pluginInfo;
        }
예제 #2
0
        public AndroidDevicePropertyDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{BE64DDEE-6CB6-41E9-99DC-614AD88978D5}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_DeviceProperty);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 0;

            pluginInfo.AppName     = "com.app.android";
            pluginInfo.Icon        = "\\icons\\device.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidDeviceProperty);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.oppo.safe/shared_prefs/TMSProperties.xml");
            pluginInfo.SourcePath.AddItem("/data/misc/bluetoothd/#F");
            pluginInfo.SourcePath.AddItem("/data/misc/bluedroid/bt_config.xml");
            pluginInfo.SourcePath.AddItem("/data/misc/dhcp/dhcpcd-wlan0.lease");
            pluginInfo.SourcePath.AddItem("/data/misc/dhcp/dhcpcd-wlan0.lease_0");
            pluginInfo.SourcePath.AddItem("/data/data/com.android.providers.telephony/databases/telephony.db");
            pluginInfo.SourcePath.AddItem("/data/data/com.samsung.simcardmanagement/databases/simcardmanagement.db");
            pluginInfo.SourcePath.AddItem("/data/system/users/0/settings_global.xml");

            PluginInfo = pluginInfo;
        }
예제 #3
0
        /// <summary>
        /// 执行插件
        /// </summary>
        /// <param name="plugin">要执行的插件</param>
        /// <param name="asyn">异步通知</param>
        /// <param name="callback">插件执行完回调</param>
        public void ExecutePlugin(DataParsePluginInfo plugin, IAsyncTaskProgress asyn, Action <IDataSource> callback)
        {
            var pl = Plugins[plugin] as AbstractDataParsePlugin;

            if (null != pl)
            {
                pl.StartTime = DateTime.Now;
                IDataSource ds = null;

                try
                {
                    ds = pl.Execute(null, asyn) as IDataSource;
                }
                finally
                {
                    ds?.BuildParent();
                }

                if (ds != null)
                {
                    ds.PluginInfo = plugin;
                }
                pl.EndTime = DateTime.Now;
                callback?.Invoke(ds);
            }
        }
예제 #4
0
        /// <summary>
        /// 读取节点基本配置
        /// </summary>
        private void ReadPluginConfig(DataParsePluginInfo plugin, XmlNode node)
        {
            var n  = node.GetSafeAttributeValue("name").Replace(",", ",");
            var g  = node.GetSafeAttributeValue("group").Replace(",", ",");
            var ns = n.Split(',');
            var gs = g.Split(',');

            if (ns.Length >= 2)
            {
                plugin.OrderIndex = int.Parse(ns[1]);
            }
            if (gs.Length >= 2)
            {
                plugin.GroupIndex = int.Parse(gs[1]);
            }

            plugin.Name         = ns[0];
            plugin.Group        = gs[0];
            plugin.DeviceOSType = this.ReadEnum(node, "devicetype", plugin.DeviceOSType);
            plugin.Pump         = this.ReadEnum(node, "pump", plugin.Pump);
            plugin.AppName      = node.GetSafeAttributeValue("app");
            plugin.VersionStr   = node.GetSafeAttributeValue("version").ToSafeString();
            plugin.Description  = node.GetSafeAttributeValue("description");
            plugin.Icon         = node.GetSafeAttributeValue("icon").Replace('/', '\\');
            plugin.Manufacture  = node.GetSafeAttributeValue("manufacture");
        }
예제 #5
0
        /// <summary>
        /// 解析脚本插件
        /// </summary>
        private DataJSScriptPlugin TryParseScritpPlugin(string content)
        {
            if (String.IsNullOrEmpty(content))
            {
                throw new Exception("Plugin content is empty");
            }
            var plug = new DataJSScriptPlugin();
            var reg  = new Regex(@"(?<=\[config\]).*(?=\[config\])",
                                 RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.ExplicitCapture);
            var config = reg.Match(content).Value;
            var js     = content;
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo()
            {
                ScriptObject = js,
                PluginType   = PluginType.SpfDataParse
            };
            //解析xml配置,装配
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(config);
            var root = doc.DocumentElement;

            if (root == null || root.Name != "plugin")
            {
                throw new Exception("No Plugin Config");
            }
            this.ReadPluginConfig(pluginInfo, root);
            this.ReadSourceNode(pluginInfo, root);
            this.ReadIncludeFile(pluginInfo, root);
            this.ReadDataNode(pluginInfo, root);
            plug.PluginInfo = pluginInfo;
            return(plug);
        }
예제 #6
0
        /// <summary>
        /// 读取引用的外部文件,该文件路径为相对于exe程序的相对路径
        /// </summary>
        private void ReadIncludeFile(DataParsePluginInfo plugin, XmlNode node)
        {
            var source = node.SelectSingleNode("include");

            if (source == null || !source.HasChildNodes)
            {
                return;
            }
            var values = source.SelectNodes("script");

            if (values == null || values.Count <= 0)
            {
                return;
            }
            foreach (XmlNode v in values)//通过相对路径得到绝对路径
            {
                System.Uri baseUri = new Uri(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "main.exe"));
                Uri        addr    = new Uri(baseUri, v.InnerText);
                if (System.IO.File.Exists(addr.LocalPath))
                {
                    string content = System.IO.File.ReadAllText(addr.LocalPath, Encoding.UTF8);
                    //content = LanguageHelper.SetScriptFileLanguage(content);        //修改脚本中的语言,比如改为英文
                    plugin.ScriptObject += Environment.NewLine + Environment.NewLine + content;      //将引用的文件加到末尾
                }
            }
        }
예제 #7
0
        public AndroidMirrorDevicePropertyDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{7509F7A6-ABFD-4B1D-BAE9-D35EC70DB8B3}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_DeviceProperty);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.Mirror;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 0;

            pluginInfo.AppName     = "com.app.android";
            pluginInfo.Icon        = "\\icons\\device.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidMirrorDeviceProperty);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/build.prop");
            pluginInfo.SourcePath.AddItem("/data/data/com.oppo.safe/shared_prefs/TMSProperties.xml");
            pluginInfo.SourcePath.AddItem("/data/misc/bluetoothd/#F");
            pluginInfo.SourcePath.AddItem("/data/misc/bluedroid/bt_config.xml");
            pluginInfo.SourcePath.AddItem("/data/misc/dhcp/dhcpcd-wlan0.lease");
            pluginInfo.SourcePath.AddItem("/data/misc/dhcp/dhcpcd-wlan0.lease_0");
            pluginInfo.SourcePath.AddItem("/data/data/com.android.providers.telephony/databases/telephony.db");
            pluginInfo.SourcePath.AddItem("/data/data/com.samsung.simcardmanagement/databases/simcardmanagement.db");
            pluginInfo.SourcePath.AddItem("/system/build.prop");
            pluginInfo.SourcePath.AddItem("/data/misc/wifi/p2p_supplicant.conf");
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.mm/MicroMsg/CompatibleInfo.cfg");
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.mobileqq/shared_prefs/DENGTA_META.xml");
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.mobileqq/shared_prefs/MSF.C.Util.xml");
            pluginInfo.SourcePath.AddItem("/data/system/users/0/settings_global.xml");
            pluginInfo.SourcePath.AddItem("/etc/config/model-config.xml");

            PluginInfo = pluginInfo;
        }
예제 #8
0
        public IOSWechatDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{488C0354-2C93-4FF7-A197-8C29ECA3F3D4}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Wechat);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_SocialChat);
            pluginInfo.DeviceOSType = EnumOSType.IOS;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 1;
            pluginInfo.OrderIndex   = 0;

            pluginInfo.AppName     = "com.tencent.xin";
            pluginInfo.Icon        = "\\icons\\weixin.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_IosWechat);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/com.tencent.xin/Documents/");
            pluginInfo.SourcePath.AddItem("/im.pre.inhouse.app1/Documents/");
            pluginInfo.SourcePath.AddItem("/com.tencent.xin.dailybuild/Documents/");
            pluginInfo.SourcePath.AddItem("/cn.bigxue.ge.123.14/Documents/");
            pluginInfo.SourcePath.AddItem("/cn.bigxue.ge.123.15/Documents/");
            pluginInfo.SourcePath.AddItem("/com.sunlink.juzi1/Documents/");
            pluginInfo.SourcePath.AddItem("/com.sunlink.juzi2/Documents/");
            pluginInfo.SourcePath.AddItem("/com.hotpot.hijun1/Documents/");
            pluginInfo.SourcePath.AddItem("/com.HangzhouDingdangTechnology.jiangGanCity1/Documents/");
            pluginInfo.SourcePath.AddItem("/com.HangzhouDingdangTechnology.jiangGanCity2/Documents/");
            pluginInfo.SourcePath.AddItem("/com.HangzhouDingdangTechnology.jiangGanCity3/Documents/");
            pluginInfo.SourcePath.AddItem("/com.HangzhouDingdangTechnology.jiangGanCity4/Documents/");

            PluginInfo = pluginInfo;
        }
        public AndroidCalendarDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{38921FD4-77CD-42C3-859E-E4EFD1672680}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Calendar);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 9;

            pluginInfo.AppName     = "com.android.providers.calendar";
            pluginInfo.Icon        = "\\icons\\Calendar.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidCalendar);
            pluginInfo.SourcePath  = new SourceFileItems();
            //安卓内置
            pluginInfo.SourcePath.AddItem("/data/data/com.android.providers.calendar/databases/#F");
            //酷派
            pluginInfo.SourcePath.AddItem("/data/data/com.yulong.android.calendar/databases/#F");
            //VIVO
            pluginInfo.SourcePath.AddItem("/data/data/calendar/calendar.json");

            PluginInfo = pluginInfo;
        }
        public AndroidSwitchTimeDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{E16A6BC3-AB35-4053-AC68-3A879E9CAE93}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_SwitchTime);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 8;

            pluginInfo.AppName     = "com.android.switchtime";
            pluginInfo.Icon        = "\\icons\\switchtime.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidSwitchTime);
            pluginInfo.SourcePath  = new SourceFileItems();
            //HUAWEI
            pluginInfo.SourcePath.AddItem("/data/system/users/0.xml");
            pluginInfo.SourcePath.AddItem("/data/log/mmi/#F");
            //samsung
            pluginInfo.SourcePath.AddItem("/data/system/SimCard.dat");
            pluginInfo.SourcePath.AddItem("/data/log/poweroff_info.txt");
            //OPPO
            pluginInfo.SourcePath.AddItem("/data/data/com.oppo.market/shared_prefs/com.oppo.market_preferences.xml");

            PluginInfo = pluginInfo;
        }
예제 #11
0
        /// <summary>
        /// 读取节点的自定义数据格式
        /// </summary>
        private void ReadDataNode(DataParsePluginInfo plugin, XmlNode node)
        {
            var datas = node.SelectNodes("data");

            if (datas == null || datas.Count <= 0)
            {
                return;
            }
        }
        private void BuildData(SimpleDataSource dataSource, DataParsePluginInfo info)
        {
            string serialnumber = string.Empty;
            string name         = string.Empty;
            string manufacture  = string.Empty;
            string model        = string.Empty;
            string OSType       = string.Empty;
            string OSVersion    = string.Empty;
            string root         = string.Empty;
            string IMEI         = string.Empty;
            string IMSI         = string.Empty;
            string WiFiAddress  = string.Empty;
            string BMac         = string.Empty;
            string TMac         = string.Empty;

            //从设备获取相关信息
            var device = info.Phone;

            if (null != device)
            {
                device.Properties = device.GetProperties();

                serialnumber = device.SerialNumber;
                name         = device.Name;
                manufacture  = device.Manufacture;
                model        = device.Model;
                OSType       = device.OSType.GetDescription();
                OSVersion    = device.OSVersion;
                root         = device.IsRootDesc;
                IMEI         = device.IMEI;
                IMSI         = device.IMSI;
                BMac         = device.BMac;
                TMac         = device.TMac;

                if (device.Properties.IsValid() && device.Properties.Keys.Contains("WiFiAddress"))
                {
                    WiFiAddress = device.Properties["WiFiAddress"];
                }
            }

            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_Serialnumber), serialnumber));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_DeviceName), name));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_Manufacture), manufacture));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_Model), model));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_OSType), OSType));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_OSVersion), OSVersion));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_IsJailbreak), root));
            dataSource.Items.Add(new KeyValueItem("IMEI", IMEI));
            dataSource.Items.Add(new KeyValueItem("IMSI", IMSI));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_WiFiAddress), WiFiAddress));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_BMac), BMac));
            dataSource.Items.Add(new KeyValueItem(LanguageHelper.GetString(Languagekeys.PluginDeviceProperty_TMac), TMac));
        }
예제 #13
0
        /// <summary>
        /// 执行插件
        /// </summary>
        /// <param name="plugin">要执行的插件</param>
        /// <param name="asyn">异步通知</param>
        /// <param name="callback">插件执行完回调</param>
        public void ExecutePlugin(DataParsePluginInfo plugin, IAsyncProgress asyn, Action <IDataSource> callback)
        {
            var pl = Plugins[plugin] as AbstractDataParsePlugin;

            if (null != pl)
            {
                pl.StartTime = DateTime.Now;
                var ds = pl.Execute(null, asyn) as IDataSource;
                pl.EndTime = DateTime.Now;
                callback?.Invoke(ds);
            }
        }
예제 #14
0
        public AndroidCallDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Name         = "通话记录";
            pluginInfo.Group        = "基本信息";
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror;

            pluginInfo.AppName     = "com.android.providers.contacts";
            pluginInfo.Icon        = "\\icons\\call.png";
            pluginInfo.Description = "提取安卓设备通话记录信息";
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.android.providers.contacts/databases/#F");
            pluginInfo.SourcePath.AddItem("/data/data/com.motorola.blur.providers.contacts/databases/#F");
            this.PluginInfo = pluginInfo;
        }
예제 #15
0
        public IOSInstalledAppDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{995B18D3-0B6B-4592-B9FE-F02F1C388BAB}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_InstalledApp);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.IOS;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 1;

            pluginInfo.AppName     = "com.app";
            pluginInfo.Icon        = "\\icons\\app.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_IosInstalledApp);
            pluginInfo.SourcePath  = new SourceFileItems();

            PluginInfo = pluginInfo;
        }
        public IOSDevicePropertyDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{3FFB8BFE-1B67-43A1-8177-DC9C7711F19B}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_DeviceProperty);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.IOS;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 0;

            pluginInfo.AppName     = "com.app.ios";
            pluginInfo.Icon        = "\\icons\\device.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_IosDeviceProperty);
            pluginInfo.SourcePath  = new SourceFileItems();

            PluginInfo = pluginInfo;
        }
예제 #17
0
        public AndroidInstalledAppDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{D9C21B1D-945F-4BB9-B580-7E8599347AC2}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_InstalledApp);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 1;

            pluginInfo.AppName     = "com.app";
            pluginInfo.Icon        = "\\icons\\app.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidInstalledApp);
            pluginInfo.SourcePath  = new SourceFileItems();

            PluginInfo = pluginInfo;
        }
예제 #18
0
        public IOSContactsDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{FA1728E7-48EF-40DE-836A-8FB235656D91}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Contacts);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.IOS;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 2;

            pluginInfo.AppName     = "HomeDomain";
            pluginInfo.Icon        = "\\icons\\contact.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_IosContact);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/HomeDomain/Library/AddressBook");

            PluginInfo = pluginInfo;
        }
예제 #19
0
        public AndroidBluetoothDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{7AE1B4F1-C3DE-4942-982F-DD80FC5BCA23}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Bluetooth);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 6;

            pluginInfo.AppName     = "com.android.bluetooth";
            pluginInfo.Icon        = "\\icons\\bluetooth.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidBluetooth);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/misc/bluetoothd/#F");

            PluginInfo = pluginInfo;
        }
예제 #20
0
        public AndroidCallDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{EE9D9548-1206-45EA-B2D3-98B1CCF055A2}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Call);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 3;

            pluginInfo.AppName     = "com.android.providers.contacts";
            pluginInfo.Icon        = "\\icons\\call.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidCall);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.android.providers.contacts/databases/#F");

            PluginInfo = pluginInfo;
        }
예제 #21
0
        public AndroidTwitterDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{8C058225-6D5D-4327-A1A5-612E81BDF934}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Twitter);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_SocialChat);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "1.0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 1;
            pluginInfo.OrderIndex   = 4;

            pluginInfo.AppName     = "com.twitter.android";
            pluginInfo.Icon        = "\\icons\\twitter.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidTwitter);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.twitter.android/databases/#F");

            PluginInfo = pluginInfo;
        }
예제 #22
0
        /// <summary>
        /// 安卓163邮箱数据解析
        /// </summary>
        public Android163EmailDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{0D70BCDB-9388-4A4C-A8D0-AFF1E90408A9}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Email163);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_WebMail);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "3.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 4;
            pluginInfo.OrderIndex   = 1;

            pluginInfo.AppName     = "com.netease.mobimail";
            pluginInfo.Icon        = "\\icons\\Mail163.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidEmail163);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.netease.mobimail/mmail");

            PluginInfo = pluginInfo;
        }
예제 #23
0
        public IOSEntQQDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{0BE1A2C5-1E41-47C7-8363-1AB37D8AA919}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_EntQQ);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_SocialChat);
            pluginInfo.DeviceOSType = EnumOSType.IOS;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 1;
            pluginInfo.OrderIndex   = 2;

            pluginInfo.AppName     = "com.tencent.mQQi";
            pluginInfo.Icon        = "\\icons\\Icon-qq.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_IosEntQQ);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/com.tencent.mQQi/Documents/");

            PluginInfo = pluginInfo;
        }
예제 #24
0
        public IOSEimDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{DBBCC68C-A813-4C2D-93F4-EA37ECB5B72D}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_EimQQ);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_SocialChat);
            pluginInfo.DeviceOSType = EnumOSType.IOS;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 1;
            pluginInfo.OrderIndex   = 3;

            pluginInfo.AppName     = "com.tencent.eim";
            pluginInfo.Icon        = "\\icons\\Icon-qq.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_IosEimQQ);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/com.tencent.eim/Documents/");

            PluginInfo = pluginInfo;
        }
예제 #25
0
        public IOSQQDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{618EED69-55ED-45EA-B87A-CF09A6180B46}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_QQ);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_SocialChat);
            pluginInfo.DeviceOSType = EnumOSType.IOS;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 1;
            pluginInfo.OrderIndex   = 1;

            pluginInfo.AppName     = "com.tencent.mqq";
            pluginInfo.Icon        = "\\icons\\Icon-qq.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_IosQQ);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/com.tencent.mqq/Documents/");

            PluginInfo = pluginInfo;
        }
        public AndroidContactsDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{8DB88FCD-F725-4F9D-864F-78E13EF6BCE1}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Contacts);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 2;

            pluginInfo.AppName     = "com.android.providers.contacts";
            pluginInfo.Icon        = "\\icons\\contact.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidContact);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.android.providers.contacts/databases/#F");

            PluginInfo = pluginInfo;
        }
예제 #27
0
        public AndroidMirrorInstalledAppDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{2F8C34F8-54C8-461E-A308-DC001DF4678E}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_InstalledApp);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_BasicInfo);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.Mirror;
            pluginInfo.GroupIndex   = 0;
            pluginInfo.OrderIndex   = 1;

            pluginInfo.AppName     = "com.app";
            pluginInfo.Icon        = "\\icons\\app.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidMirrorInstalledApp);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/system/packages.xml");
            //pluginInfo.SourcePath.AddItem("$Apk,apk");

            PluginInfo = pluginInfo;
        }
예제 #28
0
        public AndroidQQLiteDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{D20DF00D-8E5E-432E-9F1A-563CD0C2EDCE}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_QQLite);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_SocialChat);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 1;
            pluginInfo.OrderIndex   = 2;

            pluginInfo.AppName     = "com.tencent.qqlite";
            pluginInfo.Icon        = "\\icons\\Icon-qq.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidQQLite);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.qqlite/databases/#F");
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.qqlite/shared_prefs/#F");

            PluginInfo = pluginInfo;
        }
예제 #29
0
        public AndroidQQDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{7BFC4BE3-EBAC-41C3-8D0D-2C7AD659C9AB}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_QQ);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_SocialChat);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 1;
            pluginInfo.OrderIndex   = 1;

            pluginInfo.AppName     = "com.tencent.mobileqq";
            pluginInfo.Icon        = "\\icons\\Icon-qq.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidQQ);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.mobileqq/databases/#F");
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.mobileqq/shared_prefs/#F");

            PluginInfo = pluginInfo;
        }
예제 #30
0
        public AndroidWeChatDataParser()
        {
            DataParsePluginInfo pluginInfo = new DataParsePluginInfo();

            pluginInfo.Guid         = "{986488FD-952F-49AC-A5F6-CEA9528709F3}";
            pluginInfo.Name         = LanguageHelper.GetString(Languagekeys.PluginName_Wechat);
            pluginInfo.Group        = LanguageHelper.GetString(Languagekeys.PluginGroupName_SocialChat);
            pluginInfo.DeviceOSType = EnumOSType.Android;
            pluginInfo.VersionStr   = "0.0";
            pluginInfo.Pump         = EnumPump.USB | EnumPump.Mirror | EnumPump.LocalData;
            pluginInfo.GroupIndex   = 1;
            pluginInfo.OrderIndex   = 0;

            pluginInfo.AppName     = "com.tencent.mm";
            pluginInfo.Icon        = "\\icons\\weixin.png";
            pluginInfo.Description = LanguageHelper.GetString(Languagekeys.PluginDescription_AndroidWechat);
            pluginInfo.SourcePath  = new SourceFileItems();
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.mm/MicroMsg/#F");
            pluginInfo.SourcePath.AddItem("/data/data/com.tencent.mm/shared_prefs/#F");//注意,C#插件本身不会使用该文件夹内的数据,但是底层数据库解密需要,所以不能删除!

            PluginInfo = pluginInfo;
        }