コード例 #1
0
    def __init__(self):

        self.debug = False
        self.root_dir = os.path.dirname(os.path.abspath(__file__))
        self.mutations_dir = os.path.join(self.root_dir, 'mutations')
        self.hangs_dir = os.path.join(self.root_dir, 'hangs')
        self.cfg = self._initialize_config()
        self.ml = self._initialize_logging()
        self.mo = None

        # Shared memory
        self.shm = None
        self.shm_size = 0
        self.bitmap_size = 65536
        self.fd = 0
        # PIN command line
        self.cmd_l = []

        # Setup helpers
        self.ae = Aesthetics(self)
        self.utils = Utils(self)
        self.fileops = FileOperations(self)
        self.crash_analysis = CrashAnalysis(self)
        self.rpc_client = BrundleFuzzRpcClient(self)

        self._initialize_shared_memory()
        self._initialize_pin_cmd()
コード例 #2
0
    def __init__(self):
        super(BrundleFuzzServer, self).__init__()

        self.debug = False
        self.name = 'server'
        self.root_dir = os.path.dirname(os.path.abspath(__file__))
        self.ae = Aesthetics(self)
        self.cfg = self._initialize_config()
        self.ml = self._initialize_logging()

        self.banner()

        # Fuzzing related
        self.victim_filename = self.cfg.get('target_info', 'filename')
        self.bitmap_size = 65536
        self.history_bitmap = BitmapObject(self)

        crashd = os.path.join(self.root_dir, 'crashes')
        if not os.path.isdir(crashd):
            os.mkdir(crashd)
        self.crashes_dir = crashd

        backupd = os.path.join(self.root_dir, 'backup')
        if not os.path.isdir(backupd):
            os.mkdir(backupd)
        self.backup_dir = backupd

        # TODO(carlos): maybe better design to move this
        # into Cthulhu a level higher?
        self.plugins = Plugins(self)
        self.g_id = 0

        # Setup helpers
        self.utils = Utils(self)
        self.fileops = FileOperations(self)
        self.crash_db = CrashDataBase(self)
        self.fuzzing_queues = FuzzingQueues(self)

        # Instantiate Cthulhu
        mutation_mode = self.cfg.get('mutations', 'mode')
        self.cthulhu = Cthulhu(self, mode = mutation_mode)

        self.rpc_server = BrundleFuzzRpcServer(self)
コード例 #3
0
 def compare(self):
     params = {}
     params["username"] = self.username
     params["beatmap_id"] = self.api_response["beatmap"]["beatmap_id"]
     params["combo"] = self.api_response['max_combo']
     params["misses"] = self.api_response['count_miss']
     params["m"] = self.api_response['mods']
     params["ranking"] = self.api_response['ranking']
     params["accuracy"] = self.api_response["accuracy"]
     params["count50"] = self.api_response["count_50"]
     params["count100"] = self.api_response["count_100"]
     params["count300"] = self.api_response["count_300"]
     beatmap = Utils().get_cached_beatmap(params["beatmap_id"])
     params["max_combo"] = beatmap["max_combo"]
     params["title"] = f"{beatmap['artist']} - {beatmap['title']} [{beatmap['version']}]"
     # Calculate pp
     calculator = ppCalculator.PpCalculator(**params)
     calculator.parse_map()
     params["real_pp"] = calculator.get_real_pp()
     params["pp_if_fc"] = calculator.get_if_fc_pp()
     score_message = scoreFormatter.Formatter(**params)
     score_background = beatmap["background_url"]
     return score_message, score_background
コード例 #4
0
 def setup_method(self, method):
     self.utils = Utils()
     self.header = self.utils.format_header("TOKEN-XXXXXX1")