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)); } } } }
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); }
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); }); }