示例#1
0
        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());
        }
示例#2
0
        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();
        }