def loadprojects(): result = {} result['meta'] = {} try: projects = {} appfile = UF.get_engagements_data_file() if not appfile is None: for e in sorted(appfile): if not e in projects: projects[e] = [] for app in sorted(appfile[e]['apps']): projects[e].append(app) except Exception as e: result['meta']['status'] = 'fail' result['meta']['reason'] = str(e) traceback.print_exc() else: result['meta']['status'] = 'ok' result['content'] = projects return jsonify(result)
if not os.path.isdir(args.srcdir): print('Source directory: ' + args.srcdir + ' not found') exit(0) if not os.path.isdir(args.tgtdir): print('Target directory: ' + args.tgtdir + ' not found') exit(0) target = args.engagement if target == 'all': etargets = engagements else: etargets = [target] engagementdata = UF.get_engagements_data_file() for e in etargets: esrcpath = os.path.join(args.srcdir, e) if not os.path.isdir(esrcpath): print('Source engagement directory: ' + esrcpath + ' not found') exit(0) # create target directory, if necessary etgtpath = os.path.join(args.tgtdir, e) if not os.path.isdir(etgtpath): os.mkdir(etgtpath) edata = engagementdata[e]
questions = {} if __name__ == '__main__': args = parse() dependencies = {} allengagements = ['E2', 'E4', 'E5', 'E6', 'E7'] if 'all' in args.engagements: engagements = allengagements else: engagements = args.engagements engagementfile = UF.get_engagements_data_file() for engagement in engagements: appdata = engagementfile[engagement]['apps'] for app in sorted(appdata): if 'dependencies' in appdata[app]: for d in appdata[app]['dependencies']: dependencies.setdefault(d, []) dependencies[d].append(app) else: print('Missing dependencies for ' + app) if args.verbose: for d in sorted(dependencies): print('\n' + d)
import chj.util.fileutil as UF def parse(): parser = argparse.ArgumentParser() parser.add_argument('engagement', help='name of engagement (E2, E4, E5, E6, or E7)', choices=['E2', 'E4', 'E5', 'E6', 'E7']) args = parser.parse_args() return args questions = {} if __name__ == '__main__': args = parse() appdata = UF.get_engagements_data_file()[args.engagement]['apps'] maxlen = max([len(app) for app in appdata]) + 2 print('application'.ljust(maxlen) + 'methods'.rjust(10) + 'analysis time (secs)'.rjust(25)) print('-' * (maxlen + 35)) for app in sorted(appdata): print( app.ljust(maxlen) + str(appdata[app]['methods']).rjust(10) + str(appdata[app]['analysistime']).rjust(25)) print('-' * (maxlen + 35))