def dump_all_files(self): # Record info about all directories include_dirs = 1 # TODO other drives too prog_dirs = [] prog_dirs.append('c:\\') count = 0 for dir in prog_dirs: # Walk program files directories looking for executables for filename in wpc.utils.dirwalk(dir, '*', include_dirs): f = File(filename) #print "[D] Processing %s" % f.get_name() # TODO check file owner, parent paths, etc. Maybe use is_replaceable instead? aces = f.get_dangerous_aces() count = count + 1 for ace in aces: for p in ace.get_perms(): print "%s\t%s\t%s\t%s\t%s" % (f.get_type(), f.get_name(), ace.get_type(), ace.get_principal().get_fq_name(), p)