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()
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)
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
def setup_method(self, method): self.utils = Utils() self.header = self.utils.format_header("TOKEN-XXXXXX1")