def create_graph(filename, result_extract, verbose, path_write_png='/tmp/analysis_result.png', dangerous_score=5):
#create DOT
dot_content = 'digraph Analysis {\nratio=auto;\nnodesep="2.5 equally";\nranksep="2.5 equally";\n'
color="green"
if result_extract[u'GlobalRiskScore'] >= dangerous_score:
color="red"
dot_content += 'R_0 [shape=record, label="{{' + os.path.basename(filename) + '|' + str(result_extract[u'GlobalRiskScore']) + '|' + 'Coef:' + str(result_extract[u'GlobalRiskScoreCoef']) + '}|' + result_extract[u'RootFileType'].encode('utf8') + '}", color=' + color + '];\n'
if result_extract[u'Yara']:
dot_content += 'R_0_info [label="' + str(result_extract[u'Yara']).replace('}, {', '},\n{').replace('"', '').replace("'", '').encode('utf8') + '", color=blue];\n'
dot_content += 'R_0 -- R_0_info [style=dotted];\n'
dot_content += json2dot(result_extract, dangerous_score, 'R_0', 'R_0')
dot_content += '}'
if verbose:
print dot_content
#convert dot to png
(graph,) = pydot.graph_from_dot_data(dot_content)
graph.write_png(path_write_png)
评论列表
文章目录