def test_get_hid(input_data, expected_output): test_fw = Firmware(binary=b'foo') test_fw.set_device_name('test_device') test_fw.set_vendor('foo') test_fw.set_firmware_version('1.0') test_fw.set_part_name(input_data) assert test_fw.get_hid() == expected_output
def _convert_to_firmware(self, entry, analysis_filter=None): firmware = Firmware() firmware.uid = entry['_id'] firmware.size = entry['size'] firmware.set_name(entry['file_name']) firmware.set_device_name(entry['device_name']) firmware.set_device_class(entry['device_class']) firmware.set_release_date(convert_time_to_str(entry['release_date'])) firmware.set_vendor(entry['vendor']) firmware.set_firmware_version(entry['version']) firmware.processed_analysis = self.retrieve_analysis( entry['processed_analysis'], analysis_filter=analysis_filter) firmware.files_included = set(entry['files_included']) firmware.virtual_file_path = entry['virtual_file_path'] firmware.tags = entry['tags'] if 'tags' in entry else dict() firmware.analysis_tags = entry[ 'analysis_tags'] if 'analysis_tags' in entry else dict() try: # for backwards compatibility firmware.set_part_name(entry['device_part']) except KeyError: firmware.set_part_name('complete') if 'comments' in entry: # for backwards compatibility firmware.comments = entry['comments'] return firmware
def test_get_hid(input_data, expected_output): test_fw = Firmware(binary=b'foo') test_fw.device_name = 'test_device' test_fw.vendor = 'foo' test_fw.version = '1.0' test_fw.set_part_name(input_data) assert test_fw.get_hid() == expected_output
def convert_analysis_task_to_fw_obj(analysis_task): fw = Firmware(scheduled_analysis=analysis_task['requested_analysis_systems']) if 'binary' in analysis_task.keys(): fw.set_binary(analysis_task['binary']) fw.file_name = analysis_task['file_name'] else: if 'file_name' in analysis_task.keys(): fw.file_name = analysis_task['file_name'] fw.uid = analysis_task['uid'] fw.set_device_name(analysis_task['device_name']) fw.set_part_name(analysis_task['device_part']) fw.set_firmware_version(analysis_task['version']) fw.set_device_class(analysis_task['device_class']) fw.set_vendor(analysis_task['vendor']) fw.set_release_date(analysis_task['release_date']) for tag in _get_tag_list(analysis_task['tags']): fw.set_tag(tag) return fw
def _convert_to_firmware(self, entry: dict, analysis_filter: List[str] = None) -> Firmware: firmware = Firmware() firmware.uid = entry['_id'] firmware.size = entry['size'] firmware.file_name = entry['file_name'] firmware.device_name = entry['device_name'] firmware.device_class = entry['device_class'] firmware.release_date = convert_time_to_str(entry['release_date']) firmware.vendor = entry['vendor'] firmware.version = entry['version'] firmware.processed_analysis = self.retrieve_analysis(entry['processed_analysis'], analysis_filter=analysis_filter) firmware.files_included = set(entry['files_included']) firmware.virtual_file_path = entry['virtual_file_path'] firmware.tags = entry['tags'] if 'tags' in entry else dict() firmware.analysis_tags = self._collect_analysis_tags_from_children(firmware.uid) try: # for backwards compatibility firmware.set_part_name(entry['device_part']) except KeyError: firmware.set_part_name('complete') if 'comments' in entry: # for backwards compatibility firmware.comments = entry['comments'] return firmware
def convert_analysis_task_to_fw_obj(analysis_task: dict) -> Firmware: ''' Convert an analysis task to a firmware object. :param analysis_task: The analysis task data. :return: A new `Firmware` object based on the analysis task data. ''' fw = Firmware(scheduled_analysis=analysis_task['requested_analysis_systems']) if 'binary' in analysis_task.keys(): fw.set_binary(analysis_task['binary']) fw.file_name = analysis_task['file_name'] else: if 'file_name' in analysis_task.keys(): fw.file_name = analysis_task['file_name'] fw.uid = analysis_task['uid'] fw.set_device_name(analysis_task['device_name']) fw.set_part_name(analysis_task['device_part']) fw.set_firmware_version(analysis_task['version']) fw.set_device_class(analysis_task['device_class']) fw.set_vendor(analysis_task['vendor']) fw.set_release_date(analysis_task['release_date']) for tag in _get_tag_list(analysis_task['tags']): fw.set_tag(tag) return fw
def test_set_part_name(input_data, expected_output): test_object = Firmware() test_object.set_part_name(input_data) assert test_object.part == expected_output