private static void GetReport(ConsoleSwitches arguments, ReleaseExtractor extractor, BPRunner bpRunner) { var profile = RuleProfile.LoadFromFile(); var rules = bpRunner.GetRulesFromProfile(profile); var results = bpRunner.RunProfile(profile, extractor.Release); var report = new ExcelOutputGenerator(); report.CreateReport(arguments.ReportFile.FullName, profile, rules, results, extractor.Release); }
private string SaveReport(RuleProfile profile, IEnumerable <IRule> rules, IEnumerable <Result> results, Release release) { var fileName = (!string.IsNullOrWhiteSpace(release.Name) ? release.Name : @"result") + ".xlsx"; //var fileInfo = new FileInfo(fileName); release.GetAnalysisUnits(); ExcelOutputGenerator excelGenerator = new ExcelOutputGenerator(); excelGenerator.CreateReport(Path.GetDirectoryName(_fileName) + @"\" + fileName, profile, rules, results, release); return(fileName); }
public object ExecuteHookingBug(Release release, string fileName) { if (release == null) { return(null); } if (string.IsNullOrWhiteSpace(fileName)) { return(null); } var win32Objects = release.Objects.Where(i => i.ApplicationDefinition != null && i.ApplicationDefinition.ApplicationTypeInfo != null && !string.IsNullOrWhiteSpace(i.ApplicationDefinition.ApplicationTypeInfo.Id) && i.ApplicationDefinition.ApplicationTypeInfo.Id.ToLowerInvariant().StartsWith("win32")).ToList(); var result = new List <dynamic>(); foreach (var obj in win32Objects) { if (!obj.ApplicationDefinition.ApplicationTypeInfo.Parameters.Any(i => i.Parameter == "Path")) { continue; } result.Add(new { ObjectName = obj.Name, ApplicationTypeInfoId = obj.ApplicationDefinition.ApplicationTypeInfo.Id, Path = obj.ApplicationDefinition.ApplicationTypeInfo.Parameters.FirstOrDefault(i => i.Parameter.Equals("Path")).Value }); } var generator = new ExcelOutputGenerator(); if (string.IsNullOrWhiteSpace(fileName)) { return(null); } RunReport(() => { generator.CreateReport(fileName, new[] { new ExcelDataSheet() { SheetName = "HookReport", TableName = "HookReportTable", Data = result } }); return(fileName); }); return(null); }
public object ExecuteNonInvasiveReport(Release release, string fileName) { if (release == null) { return(null); } var appModelerResult = new List <dynamic>(); var stagesResult = new List <dynamic>(); foreach (var obj in release.Objects) { var item = GetNonIvasiveReportItem(obj); if (item != null) { appModelerResult.Add(item); } var stages = GetNonInvasiveReportItemFromStages(obj); if (stages.Any()) { stagesResult.AddRange(stages); } } var generator = new ExcelOutputGenerator(); if (string.IsNullOrWhiteSpace(fileName)) { return(null); } RunReport(() => { generator.CreateReport(fileName, new[] { new ExcelDataSheet() { SheetName = "AppModeler", TableName = "AppModelerTable", Data = appModelerResult }, new ExcelDataSheet() { SheetName = "NavigateStages", TableName = "NavigateStagesTable", Data = stagesResult } }); return(fileName); }); return(null); }
private void GetReportStream(Stream inputFile, MemoryStream outputSream) { var xml = default(string); using (var streamReader = new StreamReader(inputFile)) { xml = streamReader.ReadToEnd(); } var extractor = new ReleaseExtractor(xml); extractor.Load(); var bpRunner = new BPRunner(); var profile = RuleProfile.LoadFromFile(); var rules = new RuleExtractor().GetRulesFromAssembly(typeof(StageHelper).Assembly); var results = bpRunner.RunProfile(profile, extractor.Release); var report = new ExcelOutputGenerator(); report.CreateReport(outputSream, profile, rules, results, extractor.Release); }