#!/usr/bin/env python """Find files starting with null bytes""" from __future__ import division, print_function import argparse import os parser = argparse.ArgumentParser( description='Find files starting with null bytes') parser.add_argument( 'directories', metavar='dir', default=['.'], nargs='*', type=str, help='directory to be searched') parser.add_argument( '-n', dest='nullbytes', default=16, type=int, help='number of null bytes') args = parser.parse_args() for directory in args.directories: for dirpath, _, filenames in os.walk(directory): for filename in filenames: filename = os.path.join(dirpath, filename) if not os.path.isfile(filename): continue with open(filename, 'rb') as f: firstbytes = f.read(args.nullbytes) if firstbytes == b'\0'*args.nullbytes: print(filename)