Esempio n. 1
0
def main():
    if len(sys.argv) != 2:
        print('Usage: {} <file>'.format(sys.argv[0]))
        return -1

    target = sys.argv[1]

    bv = BinaryView.open(target)
    view_type = next(bvt for bvt in bv.available_view_types if bvt.name != 'Raw') 
    if not view_type:
        print('Error: Unable to get any other view type besides Raw')
        return -1

    bv = bv.file.get_view_of_type(view_type.name)
    bv.update_analysis_and_wait()

    print_syscalls(bv)
def main():
    if len(sys.argv) != 2:
        print('Usage: {} <file>'.format(sys.argv[0]))
        return -1

    target = sys.argv[1]

    bv = BinaryView.open(target)
    view_type = next(bvt for bvt in bv.available_view_types
                     if bvt.name != 'Raw')
    if not view_type:
        print('Error: Unable to get any other view type besides Raw')
        return -1

    bv = bv.file.get_view_of_type(view_type.name)
    bv.update_analysis_and_wait()

    print_syscalls(bv)
Esempio n. 3
0
 def initialize_disassembler(self, program_path):
     import binaryninja as bn
     from binaryninja import BinaryView as bview
     from .disasm import BinjaILDisasm
     # see if we have cached the db
     db_name = "." + os.path.basename(program_path) + ".bnfm"
     dbpath = os.path.join(os.path.dirname(program_path), db_name)
     if not os.path.isfile(dbpath):
         bv = bn.binaryview.BinaryViewType.get_view_of_file(program_path)
         bv.update_analysis_and_wait()
         # cache for later
         bv.create_database(dbpath)
     else:
         fm = bn.FileMetadata()
         db = fm.open_existing_database(dbpath)
         vtypes = filter(lambda x: x.name != "Raw",
                         bview.open(program_path).available_view_types)
         bv = db.get_view_of_type(vtypes[0].name)
         bv.update_analysis_and_wait()
     self.program_path = program_path
     self.view = bv
     self.disasm = BinjaILDisasm(bv)