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()))
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()))