Exemplo n.º 1
0
        public void InitExecution(DataPumpControllableExecutionContext context)
        {
            String destPath   = context.GetContextData <String>("destPath");
            String sourcePath = context.GetContextData <String>("sourcePath");

            string target = Path.Combine(destPath, "data");
            var    res    = IOSDeviceCoreDll.AnalyzeItunesBackupDATAPWD(sourcePath, target, (f, t, a) =>
            {
                //asyn.Advance(0, string.Format(LanguageHelper.Get("LANGKEY_HuiFuWenJian_01478"), f));
                return(0);
            }, (b) =>
            {
                var password = context.GetContextData <String>("password") ?? String.Empty;
                var pS       = Marshal.StringToHGlobalAnsi(password);
                Marshal.WriteIntPtr(b, pS);
                return(0);
            });

            if (0 == res)
            {
                string[] files = Directory.GetDirectories(target);
                foreach (string file in files)
                {
                    var fileName = Path.GetFileName(file);
                    //第三方应用
                    if (!fileName.Contains("com.apple.") && fileName.Contains("AppDomain-"))
                    {
                        var newFileName = fileName.Replace("AppDomain-", "");
                        Directory.Move(Path.Combine(target, fileName), Path.Combine(target, newFileName));
                    }
                }
            }
        }
Exemplo n.º 2
0
        protected override FileBrowingNode DoGetRootNode()
        {
            var di = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory).Root.Name;

            string target = Path.Combine(di, "temp", Guid.NewGuid().ToString("N"), "ItunsBackup");

            FileHelper.CreateDirectorySafe(target);

            var result = IOSDeviceCoreDll.AnalyzeItunesBackupDATAPWD(SourceRootPath, target, BackupAnalysizeCallbackDelegate, (b) =>
            {
                var password = "";

                var pS = Marshal.StringToHGlobalAnsi(password);

                Marshal.WriteIntPtr(b, pS);

                return(0);
            });

            ItunesBackupFileBrowingNode node = new ItunesBackupFileBrowingNode();

            node.NodeType   = FileBrowingNodeType.Directory;
            node.Name       = "ItunsBackup";
            node.SourcePath = target.TrimStart("\\");

            DataSourcePath = target.TrimStart("\\");

            return(node);
        }
Exemplo n.º 3
0
        public void AnalyzeItunesBackupDATATest()
        {
            var rr1 = IOSDeviceCoreDll.AnalyzeItunesBackupDATA(@"H:\IOS加密备份\029fa1285bb67570265fc68f148d90084b81b48a", @"D:\111", (fn, no, all) =>
            {
                Console.WriteLine("{0} {1} {2}", fn, no, all);
                return(0);
            });

            var rr2 = IOSDeviceCoreDll.AnalyzeItunesBackupDATAPWD(@"H:\IOS加密备份\029fa1285bb67570265fc68f148d90084b81b48a", @"D:\111", (fn, no, all) =>
            {
                Console.WriteLine("{0} {1} {2}", fn, no, all);
                return(0);
            }, (b) =>
            {
                var password = "******";

                var pS = Marshal.StringToHGlobalAnsi(password);

                Marshal.WriteIntPtr(b, pS);

                return(0);
            });
        }