Пример #1
0
func RegisterDefaultAnalyzers(ws *W.Workspace) error {
	function_analyzers, e := getFunctionAnalyzers(ws)
	check(e)
	for name, a := range function_analyzers {
		logrus.Infof("registering: %s", name)
		_, e := ws.RegisterFunctionAnalysis(a)
		check(e)
		// we're leaking these guys...
		// defer ws.UnregisterFunctionAnalysis(hA)
	}

	file_analyzers, e := getFileAnalyzers(ws)
	check(e)
	for name, a := range file_analyzers {
		found := false
		// blacklist
		// TODO: make this configurable
		for _, n := range []string{} { //"analysis.file.entry_point", "analysis.file.prologue"} {
			if name == n {
				found = true
				break
			}
		}
		if !found {
			logrus.Infof("registering: %s", name)
			_, e := ws.RegisterFileAnalysis(a)
			check(e)
			// we're leaking these guys...
			// defer ws.UnregisterFileAnalysis(hA)
		}
	}
	return nil
}