public ForensicResult DoForensicByPackage(ForensicRulePackage pack, string PcPath, bool isFromPC) { Init(); if (lastPcPath != PcPath) { lastPcPath = PcPath; PCRootFiles.Clear(); RootPathFileNames.Clear(); } var res = new List <ForensicResultItem>(); var forensic = new PackageForensic() { IsPC = isFromPC, PCPath = PcPath, RulePackage = pack, }; forensic.DoWork(); res.Add(forensic.Result); return(new ForensicResult() { Items = res, }.LoadTableColumnDesc()); }
static public void SavePackage(ForensicRulePackage package, bool fromOrgText = true) { var fs = File.Open(package.PackageFilePath, FileMode.Create); if (!fromOrgText) { JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings(); jsonSerializerSettings.TypeNameHandling = TypeNameHandling.Auto; jsonSerializerSettings.Formatting = Formatting.Indented; package.OrgText = JsonConvert.SerializeObject(package, jsonSerializerSettings); } string source = package.OrgText; byte[] data = System.Text.Encoding.Default.GetBytes(source); fs.Write(data, 0, data.Length); fs.Flush(); fs.Close(); }