public static API_CatNet save_Report_To(this API_CatNet catNet, string file) { file.deleteIfExists(); catNet.Engine.Configuration.ReportFile = file; catNet.Engine.Configuration.ReportXslOutputFile = file + ".html"; return(catNet); }
public static API_CatNet analyze(this API_CatNet catNet, string file) { var o2Timer = new O2Timer("Scanned file in :").start(); catNet.Engine.Analyze(file); o2Timer.stop(); catNet.Engine.AnalysisEngine.ResetState(); return(catNet); }
public static ascx_FindingsViewer show(this API_CatNet catNet, Control control, SourceCodeEditor codeEditor = null) { var reportFile = catNet.Engine.Configuration.ReportFile; if (reportFile.valid()) { return(control.add_CatNet_FindingsViewer(reportFile, codeEditor)); } return(null); }
public static API_CatNet_GUI scanAssembly(this API_CatNet_GUI catNetGui, string file) { catNetGui.SolutionLoaded = ""; catNetGui.TriggerOnSelectedEvent = false; var catNet = new API_CatNet().loadRules(); var savedReport = catNet.scan(file).savedReport(); catNetGui.openReport(savedReport); return(catNetGui); }
public static API_CatNet_GUI scanSolution(this API_CatNet_GUI catNetGui, string solutionFile) { catNetGui.TriggerOnSelectedEvent = true; catNetGui.SolutionLoaded = solutionFile; var catNet = new API_CatNet().loadRules(); var assemblies = solutionFile.compileSolution(); var savedReport = catNet.scan(assemblies).savedReport(); catNetGui.openReport(savedReport); return(catNetGui); }
public static API_CatNet_GUI scanCSharpFile(this API_CatNet_GUI catNetGui, string file) { catNetGui.SolutionLoaded = ""; catNetGui.TriggerOnSelectedEvent = false; var catNet = new API_CatNet().loadRules(); var assembly = new CompileEngine().compileSourceFile(file); if (assembly.notNull()) { catNetGui.openReport(catNet.scan(assembly).savedReport()); } else { catNetGui.CodeViewer.open(file); } return(catNetGui); }
public static API_CatNet analyze(this API_CatNet catNet, List <Assembly> assembliesToScan) { var o2Timer = new O2Timer("Scanned assembly in :").start(); try { var analysisEngine = catNet.Engine.AnalysisEngine; analysisEngine.BeginAnalysis(); var cci = "CatNet_1.1/SourceDir/Microsoft.Cci.dll".assembly(); var assemblyNode = cci.type("AssemblyNode"); foreach (var assemblyToScan in assembliesToScan) { var module = assemblyNode.invokeStatic("GetAssembly", assemblyToScan, null, true, true, true); if (module.notNull()) { analysisEngine.invoke("AnalyzeModule", module); } else { "[API_CatNet][analyze] could not get Module for provided assembly: {0}".error(assemblyToScan); } } analysisEngine.FinalizeState(); catNet.Engine.RulesEngine.Process(analysisEngine); analysisEngine.EndAnalysis(); catNet.Engine.SaveReport(); analysisEngine.ResetState(); o2Timer.stop(); } catch (Exception ex) { ex.log("[API_CatNet][analyze] assembly"); } return(catNet); }
public static API_CatNet scan_Assembly(this API_CatNet catNet, Assembly assemblyToScan) { return(catNet.scan(assemblyToScan)); }
public static List <string> rules_Names(this API_CatNet catNet) { return((from rule in catNet.rules() select rule.Info.Name).toList()); }
public static List <Rules.Rule> rules(this API_CatNet catNet) { return(catNet.Engine.RulesEngine.Rules.toList()); }
public static API_CatNet loadRules(this API_CatNet catNet) { catNet.Engine.RulesEngine.LoadDirectory(catNet.Rules_Folder); return(catNet); }
public static API_CatNet scan(this API_CatNet catNet, string file) { return(catNet.analyze(file)); }
public static API_CatNet scan(this API_CatNet catNet, List <Assembly> assembliesToScan) { return(catNet.analyze(assembliesToScan)); }
public static string engineDirectory(this API_CatNet catNet) { return(catNet.Engine.type().Assembly.Location.directoryName()); }
public static string output(this API_CatNet catNet) { return(catNet.EventsLog.OutputLines.str()); }
public static API_CatNet save_GraphML_To(this API_CatNet catNet, string file) { catNet.Engine.Configuration.DataFlowGraphFile = file; return(catNet); }
public static string savedReport(this API_CatNet catNet) { return(catNet.Engine.Configuration.ReportFile); }
public static API_CatNet scan(this API_CatNet catNet, Assembly assemblyToScan) { return(catNet.scan(new List <Assembly>().add(assemblyToScan))); }
public static Rules.Rule rule(this API_CatNet catNet, string ruleName) { return((from rule in catNet.rules() where rule.Info.Name == ruleName select rule).first()); }