mirror of
https://github.com/mandiant/capa.git
synced 2025-12-28 21:53:29 -08:00
Merge branch 'simplify-metadata-rendering' into output-feature-count
This commit is contained in:
@@ -17,13 +17,11 @@ def width(s, character_count):
|
||||
|
||||
|
||||
def render_meta(doc, ostream):
|
||||
rows = [(rutils.bold("Capa Report for"), rutils.bold(doc["meta"]["sample"]["md5"]),)]
|
||||
|
||||
for k in ("timestamp", "version"):
|
||||
rows.append((width(k, 22), width(doc["meta"][k], 60)))
|
||||
|
||||
for k in ("path", "md5"):
|
||||
rows.append((k, doc["meta"]["sample"][k]))
|
||||
rows = []
|
||||
rows.append((width("md5", 22), width(doc["meta"]["sample"]["md5"], 82)))
|
||||
rows.append(("path", doc["meta"]["sample"]["path"]))
|
||||
rows.append(("timestamp", doc["meta"]["timestamp"]))
|
||||
rows.append(("capa version", doc["meta"]["version"]))
|
||||
|
||||
ostream.write(tabulate.tabulate(rows, tablefmt="psql"))
|
||||
ostream.write("\n")
|
||||
@@ -99,7 +97,7 @@ def render_attack(doc, ostream):
|
||||
raise RuntimeError("unexpected ATT&CK spec format")
|
||||
rows.append((rutils.bold(tactic.upper()), "\n".join(inner_rows),))
|
||||
ostream.write(
|
||||
tabulate.tabulate(rows, headers=[width("ATT&CK Tactic", 20), width("ATT&CK Technique", 60)], tablefmt="psql")
|
||||
tabulate.tabulate(rows, headers=[width("ATT&CK Tactic", 20), width("ATT&CK Technique", 80)], tablefmt="psql")
|
||||
)
|
||||
ostream.write("\n")
|
||||
|
||||
|
||||
@@ -23,18 +23,16 @@ import capa.render.utils as rutils
|
||||
def render_verbose(doc):
|
||||
ostream = rutils.StringIO()
|
||||
|
||||
rows = [(rutils.bold("Capa Report for"), rutils.bold(doc["meta"]["sample"]["md5"]),)]
|
||||
for k in ("timestamp", "version"):
|
||||
rows.append((k, doc["meta"][k]))
|
||||
|
||||
for k in ("path", "md5", "sha1", "sha256"):
|
||||
rows.append((k, doc["meta"]["sample"][k]))
|
||||
|
||||
for k in ("format", "extractor"):
|
||||
rows.append((k.replace("_", " "), doc["meta"]["analysis"][k]))
|
||||
|
||||
rows.append(("base address", rutils.hex(doc["meta"]["analysis"]["base_address"])))
|
||||
|
||||
rows = []
|
||||
rows.append(("md5", doc["meta"]["sample"]["md5"]))
|
||||
rows.append(("sha1", doc["meta"]["sample"]["sha1"]))
|
||||
rows.append(("sha256", doc["meta"]["sample"]["sha256"]))
|
||||
rows.append(("path", doc["meta"]["sample"]["path"]))
|
||||
rows.append(("timestamp", doc["meta"]["timestamp"]))
|
||||
rows.append(("capa version", doc["meta"]["version"]))
|
||||
rows.append(("format", doc["meta"]["analysis"]["format"]))
|
||||
rows.append(("extractor", doc["meta"]["analysis"]["extractor"]))
|
||||
rows.append(("base address", hex(doc["meta"]["analysis"]["base_address"])))
|
||||
ostream.writeln(tabulate.tabulate(rows, tablefmt="plain"))
|
||||
ostream.write("\n")
|
||||
|
||||
|
||||
@@ -141,19 +141,16 @@ def render_match(ostream, match, indent=0, mode=MODE_SUCCESS):
|
||||
def render_vverbose(doc):
|
||||
ostream = rutils.StringIO()
|
||||
|
||||
rows = [(rutils.bold("Capa Report for"), rutils.bold(doc["meta"]["sample"]["md5"]),)]
|
||||
for k in ("timestamp", "version"):
|
||||
rows.append((k, doc["meta"][k]))
|
||||
|
||||
for k in ("path", "md5", "sha1", "sha256"):
|
||||
rows.append((k, doc["meta"]["sample"][k]))
|
||||
|
||||
for k in ("format", "extractor"):
|
||||
rows.append((k.replace("_", " "), doc["meta"]["analysis"][k]))
|
||||
|
||||
rows.append(("base address", rutils.hex(doc["meta"]["analysis"]["base_address"])))
|
||||
|
||||
ostream.writeln(rutils.bold("Capa Report for " + doc["meta"]["sample"]["md5"]))
|
||||
rows = []
|
||||
rows.append(("md5", doc["meta"]["sample"]["md5"]))
|
||||
rows.append(("sha1", doc["meta"]["sample"]["sha1"]))
|
||||
rows.append(("sha256", doc["meta"]["sample"]["sha256"]))
|
||||
rows.append(("path", doc["meta"]["sample"]["path"]))
|
||||
rows.append(("timestamp", doc["meta"]["timestamp"]))
|
||||
rows.append(("capa version", doc["meta"]["version"]))
|
||||
rows.append(("format", doc["meta"]["analysis"]["format"]))
|
||||
rows.append(("extractor", doc["meta"]["analysis"]["extractor"]))
|
||||
rows.append(("base address", hex(doc["meta"]["analysis"]["base_address"])))
|
||||
ostream.writeln(tabulate.tabulate(rows, tablefmt="plain"))
|
||||
ostream.write("\n")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user