Example #1
0
def analyze_taint_propagation(appname, origin):
    try:
        UF.check_analyzer()
        (path, jars) = UF.get_engagement_app_jars(appname)
        UF.check_analysisdir(path)
    except UF.CHJError as e:
        print(str(e.wrap()))
        return

    pkg_excludes = UF.get_engagement_app_excludes(appname)
    dependencies = UF.get_engagement_app_dependencies(appname)

    am = AM.AnalysisManager(path,
                            jars,
                            dependencies=dependencies,
                            excludes=pkg_excludes)

    try:
        am.create_taint_trail(origin, silent=True)
        app = reload_engagement_app(appname)
        return app
    except UF.CHJError as e:
        print(str(e.wrap()))
Example #2
0
def parse():
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument('appname', help='name of engagement application')
    args = parser.parse_args()
    return args


if __name__ == '__main__':

    args = parse()
    try:
        UF.check_gui()
        (path, jars) = UF.get_engagement_app_jars(args.appname)
        UF.check_analysisdir(path)
    except UF.CHJError as e:
        print(str(e.wrap()))
        exit(1)

    dependencies = UF.get_engagement_app_dependencies(args.appname)
    pkg_excludes = UF.get_engagement_app_excludes(args.appname)

    am = AM.AnalysisManager(path,
                            jars,
                            dependencies=dependencies,
                            excludes=pkg_excludes)
    try:
        am.rungui()
    except UF.CHJError as e:
        print(str(e.wrap()))