From ae2baebf6cab370faa0f6bc79216ed2321bdcad1 Mon Sep 17 00:00:00 2001 From: William Ballenthin Date: Mon, 14 Jun 2021 11:02:20 -0600 Subject: [PATCH] import-to-bn: dont import * --- scripts/import-to-bn.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/scripts/import-to-bn.py b/scripts/import-to-bn.py index 0ac2ee69..d51f1c60 100644 --- a/scripts/import-to-bn.py +++ b/scripts/import-to-bn.py @@ -25,8 +25,8 @@ Derived from: https://github.com/fireeye/capa/blob/master/scripts/import-to-ida. import os import json -from binaryninja import * -from binaryninja import PluginCommand +import binaryninja +import binaryninja.interaction def append_func_cmt(bv, va, cmt): @@ -47,31 +47,31 @@ def append_func_cmt(bv, va, cmt): def load_analysis(bv): shortname = os.path.splitext(os.path.basename(bv.file.filename))[0] dirname = os.path.dirname(bv.file.filename) - log_info(f"dirname: {dirname}\nshortname: {shortname}\n") + binaryninja.log_info(f"dirname: {dirname}\nshortname: {shortname}\n") if os.access(os.path.join(dirname, shortname + ".js"), os.R_OK): path = os.path.join(dirname, shortname + ".js") elif os.access(os.path.join(dirname, shortname + ".json"), os.R_OK): path = os.path.join(dirname, shortname + ".json") else: - path = interaction.get_open_filename_input("capa report:", "JSON (*.js *.json);;All Files (*)") + path = binaryninja.interaction.get_open_filename_input("capa report:", "JSON (*.js *.json);;All Files (*)") if not path or not os.access(path, os.R_OK): - log_error("Invalid filename.") + binaryninja.log_error("Invalid filename.") return 0 - log_info("Using capa file %s" % path) + binaryninja.log_info("Using capa file %s" % path) with open(path, "rb") as f: doc = json.loads(f.read().decode("utf-8")) if "meta" not in doc or "rules" not in doc: - log_error("doesn't appear to be a capa report") + binaryninja.log_error("doesn't appear to be a capa report") return -1 a = doc["meta"]["sample"]["md5"].lower() - md5 = Transform["MD5"] - rawhex = Transform["RawHex"] + md5 = binaryninja.Transform["MD5"] + rawhex = binaryninja.Transform["RawHex"] b = rawhex.encode(md5.encode(bv.parent_view.read(bv.parent_view.start, bv.parent_view.end))).decode("utf-8") if not a == b: - log_error("sample mismatch") + binaryninja.log_error("sample mismatch") return -2 rows = [] @@ -97,7 +97,7 @@ def load_analysis(bv): else: cmt = "%s" % (name,) - log_info("0x%x: %s" % (va, cmt)) + binaryninja.log_info("0x%x: %s" % (va, cmt)) try: # message will look something like: # @@ -106,7 +106,7 @@ def load_analysis(bv): except ValueError: continue - log_info("ok") + binaryninja.log_info("ok") -PluginCommand.register("Load capa file", "Loads an analysis file from capa", load_analysis) +binaryninja.PluginCommand.register("Load capa file", "Loads an analysis file from capa", load_analysis)