From 4e447a41b2286f876f25ff5fe2772f201f5b01b3 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 18 Apr 2022 14:22:22 -0300 Subject: [PATCH] Add Copam detector (no information) --- biostools/__main__.py | 1 + biostools/analyzers.py | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/biostools/__main__.py b/biostools/__main__.py index 6747a91..1b1dcea 100644 --- a/biostools/__main__.py +++ b/biostools/__main__.py @@ -502,6 +502,7 @@ def analyze_process(queue, formatter, scan_base, debug): analyzers.ChipsAnalyzer(), analyzers.CommodoreAnalyzer(), analyzers.CompaqAnalyzer(), + analyzers.CopamAnalyzer(), analyzers.CorebootAnalyzer(), analyzers.DTKGoldStarAnalyzer(), analyzers.GeneralSoftwareAnalyzer(), diff --git a/biostools/analyzers.py b/biostools/analyzers.py index 67df63d..163f4d1 100644 --- a/biostools/analyzers.py +++ b/biostools/analyzers.py @@ -1323,6 +1323,16 @@ class CompaqAnalyzer(NoInfoAnalyzer): return b'Copyright COMPAQ Computer Corporation' in file_data and (b'Insert DIAGNOSTIC diskette in Drive ' in file_data or b'Insert COMPAQ DOS diskette' in file_data or b'You must load COMPAQ BASIC' in file_data) +class CopamAnalyzer(NoInfoAnalyzer): + def __init__(self, *args, **kwargs): + super().__init__('Copam', *args, **kwargs) + + self._pattern = re.compile(b'''THIS IS NOT IBM BIOS COPAM\\(C\\) [0-9]{4}''') + + def has_strings(self, file_data): + return self._pattern.search(file_data) + + class CorebootAnalyzer(Analyzer): def __init__(self, *args, **kwargs): super().__init__('coreboot', *args, **kwargs)