示例#1
0
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)
示例#2
0
    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))