Manoj Kumar Singh

69 papers C 3Journal 43Unranked 21
YearRankTypeTitle / Venue / Authors
2025 J jnl
Circuits Syst. Signal Process.
Ravi Pratap Singh, Manoj Kumar Singh
2025 J jnl
Evol. Syst.
Manoj Kumar Singh, Satish Chand, Devender Kumar
2025 J jnl
Comput. Electr. Eng.
Mona Singh, Manoj Kumar Singh
2025 J jnl
SN Comput. Sci.
Mona Singh, Manoj Kumar Singh
2025 J jnl
Pattern Anal. Appl.
Suneel Kumar, Ruchilekha, Manoj Kumar Singh, Manoj Kumar Mishra
2025 J jnl
Int. J. Imaging Syst. Technol.
Manoj Kumar Singh, Satish Chand, Devender Kumar
2025 J jnl
Trans. Emerg. Telecommun. Technol.
Kalicharan Sahu, Manoj Kumar Singh, Maheshwari Niranjan, Pratibha Joshi
2025 J jnl
Signal Process.
Ravi Pratap Singh, Manoj Kumar Singh
2025 J jnl
Int. J. Syst. Assur. Eng. Manag.
Sangeeta Pant, Manoj Kumar Singh, Anuj Kumar, Shshank Chaube, Mangey Ram
2025 J jnl
Neurocomputing
Manoj Kumar Singh, Prakrut Moon
2024 J jnl
SN Comput. Sci.
Manoj Kumar Singh, Sanoj Kumar, Deepika Saini
2024 conf
INDOCRYPT (2)
Ekta Bindal, Abhay Kumar Singh, Manoj Kumar Singh
2024 J jnl
Adv. Math. Commun.
Hai Quang Dinh, Atul Gaur, Pratyush Kumar, Manoj Kumar Singh, Abhay Kumar Singh
2024 conf
IHCI (2)
Shaurya Prakash, Manoj Kumar Singh, Uma Shanker Tiwary, Mona Srivastava
2024 J jnl
IEEE Access
Sourabh Paul, Ravi Tiwari, Amit Kumar Rahul, Manoj Kumar Singh, Pratham Gupta
2024 J jnl
Symmetry
Manoj Kumar Singh, Arushi Sharma, Luis Manuel Sánchez Ruiz
2024 J jnl
SN Comput. Sci.
Dharm Raj Singh, Manoj Kumar Singh, Sachchida Nand Chaurasia, Anshul Verma
2024 J jnl
SN Comput. Sci.
Dharm Raj Singh, Manoj Kumar Singh, Sachchida Nand Chaurasia, Pradeepika Verma
2024 J jnl
Multim. Tools Appl.
Manoj Kumar Singh, Satish Chand
2024 J jnl
EURASIP J. Wirel. Commun. Netw.
Ravi Tiwari, Sourabh Paul, Manoj Kumar Singh, Amit Kumar Rahul, K. Akilan
2023 J jnl
Biomed. Signal Process. Control.
Ruchilekha, Manoj Kumar Singh, Mona Singh
2023 J jnl
Neural Process. Lett.
Suneel Kumar, Manoj Kumar Singh, Manoj Mishra
2023 conf
IHCI (1)
Ruchilekha, Varad Srivastava, Manoj Kumar Singh
2023 conf
IVSP
Ruchilekha, Manoj Kumar Singh
2023 conf
IHCI (1)
Varad Srivastava, Ruchilekha, Manoj Kumar Singh
2023 conf
IHCI (1)
Shaurya Prakash, Manoj Kumar Singh, Uma Shanker Tiwary, Mona Srivastava
2023 J jnl
IEEE Access
Sakshi Indolia, Swati Nigam, Rajiv Singh, Vivek Kumar Singh, Manoj Kumar Singh
2023 J jnl
Axioms
Anuj Kumar, Sangeeta Pant, Manoj Kumar Singh, Shshank Chaube, Mangey Ram, Akshay Kumar
2023 J jnl
J. Ambient Intell. Humaniz. Comput.
Swati Nigam, Rajiv Singh, Manoj Kumar Singh, Vivek Kumar Singh
2023 J jnl
Appl. Algebra Eng. Commun. Comput.
Hai Q. Dinh, Narendra Kumar, Abhay Kumar Singh, Manoj Kumar Singh, Indivar Gupta, Paravee Maneejuk
2023 conf
IHCI (2)
Suneel Kumar, Mona Singh, Ruchilekha, Manoj Kumar Singh
2022 conf
ICCCS
Manoj Kumar Singh, Brajesh Kumar
2022 conf
ICACIS
Manoj Kumar Singh
2022 J jnl
Intell. Autom. Soft Comput.
N. Ashwini, V. Nagaveni, Manoj Kumar Singh
2022 J jnl
Evol. Intell.
S. B. Vinay Kumar, P. V. Rao, Manoj Kumar Singh
2021 J jnl
Comput. Biol. Medicine
Manoj Kumar Singh, Ahmed Mobeen, Amit Chandra, Sweta Joshi, Srinivasan Ramachandran
2020 J jnl
Evol. Intell.
Manoj Kumar Singh
2020 J jnl
Appl. Algebra Eng. Commun. Comput.
Hai Q. Dinh, Atul Gaur, Indivar Gupta, Abhay Kumar Singh, Manoj Kumar Singh, Roengchai Tansuchat
2020 ch.
Integrating Research and Practice in Software Engineering
Manoj Kumar Singh, Kuldeep Kumar
2020 J jnl
IEEE Access
Hai Q. Dinh, Atul Gaur, Abhay Kumar Singh, Manoj Kumar Singh, Woraphon Yamaka
2018 J jnl
Computación y Sistemas
Dharm Raj Singh, Manoj Kumar Singh, Tarkeshwar Singh, Rajkishore Prasad
2018 J jnl
Multiagent Grid Syst.
S. B. Vinay Kumar, P. V. Rao, Manoj Kumar Singh
2018 conf
ICEGOV
Harish Kumar, Manoj Kumar Singh, Manmohan Prasad Gupta
2017 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Manoj Kumar Singh, Ritesh Gautam, P. Venkatachalam
2017 J jnl
Comput. Geosci.
Manoj Kumar Singh, Ritesh Gautam, Charles K. Gatebe, Rajesh Poudyal
2017 conf
I3E
Harish Kumar, Manoj Kumar Singh, Manmohan Prasad Gupta, Jitender Madaan
2017 J jnl
Int. J. Inf. Technol. Manag.
Harish Kumar, Manoj Kumar Singh, Manmohan Prasad Gupta
2017 J jnl
Multim. Tools Appl.
Siddharth Singh, Vivek Singh Rathore, Rajiv Singh, Manoj Kumar Singh
2017 ch.
Encyclopedia of GIS
Parvatham Venkatachalam, Manoj Kumar Singh
2016 J jnl
J. Sci. Res.
Pranav Waila, Vivek Kumar Singh, Manoj Kumar Singh
2016 J jnl
Int. J. Intell. Eng. Informatics
S. Prakasha, G. T. Raju, Manoj Kumar Singh
2016 J jnl
Comput. Geosci.
Manoj Kumar Singh, Ritesh Gautam, Charles K. Gatebe, Rajesh Poudyal
2016 conf
FICTA (2)
G. Parimala Gandhi, Nagaraj Ramrao, Manoj Kumar Singh
2016 conf
I3E
Harish Kumar, Manoj Kumar Singh, Manmohan Prasad Gupta
2016 conf
I3E
Manoj Kumar Singh, Harish Kumar, Manmohan Prasad Gupta, Jitender Madaan
2014 C conf
IGARSS
Manoj Kumar Singh, Parvatham Venkatachalam
2014 conf
ICCSA (Workshops/Short Papers/Posters)
Dileep Kumar G, C. V. Guru Rao, Manoj Kumar Singh, Farid Ahmad
2013 conf
ICACCI
Pranav Waila, Vivek Kumar Singh, Manoj Kumar Singh
2013 conf
ICCSA (4)
Manoj Kumar Singh, Parvatham Venkatachalam
2012 conf
IC3
Sujata Negi Thakur, Manoj Kumar Singh, Anurag Barthwal
2011 conf
IHCI
Vivek Kumar Singh, Tanveer J. Siddiqui, Manoj Kumar Singh
2010 conf
T4E
Prashant More, Ankit Dangi, Manoj Kumar Singh, Akshay Kumar, M. Sasikumar
2010 J jnl
CoRR
Manoj Kumar Singh
2009 conf
IHCI
Manoj Kumar Singh, Yong-Hoon Kim, Uma Shanker Tiwary, Rajkishore Prasad, Tanveer Siddique
2009 J jnl
CoRR
Manoj Kumar Singh
2008 J jnl
EURASIP J. Adv. Signal Process.
Manoj Kumar Singh, Uma Shanker Tiwary, Young-Hoon Kim
2008 J jnl
EURASIP J. Adv. Signal Process.
Manoj Kumar Singh, Uma Shanker Tiwary, Young-Hoon Kim
2005 C conf
IGARSS
Hyuk Park, Manoj Kumar Singh, Sung-Hyun Kim, Ho-jin Lee, Yong-Hoon Kim
2005 C conf
IGARSS
Manoj Kumar Singh, Hyuk Park, Sung-Hyun Kim, Uma Shanker Tiwary, Yong-Hoon Kim
redb/extractors/basicproperties.py
← Index redb/extractors/basicproperties.py python
from dataclasses import asdict
import inspect
import os
import magic
from magika import Magika
from datetime import datetime, timezone
from typing import Any, List, Tuple

from redb.extractors.enum import Tag
from redb.models.dataclasses import BasicProperties
from redb.extractors.extractor import Extractor


class BasicPropertiesExtractor(Extractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        parent_sha256=None,
        precomputed_hashes=None,
        is_fat=None,
        child_sha256=None,
        child_architecture=None,
        child_filetype=None,
        first_seen=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters=exporters,
            index_prefix=index_prefix,
            elastic_index=elastic_index,
            known_benign=known_benign,
            known_malicious=known_malicious,
            precomputed_hashes=precomputed_hashes,
        )
        self.basic_properties = None
        self.elastic_index = self.index_prefix + "-basic_properties"
        self.is_packed = None
        self.parent_sha256 = parent_sha256  # For FAT Mach-O slices, points to container hash
        self.is_fat = is_fat  # True for FAT Mach-O containers, None otherwise
        self.child_sha256 = child_sha256  # SHA256 hashes of children (FAT slices, zip contents)
        self.child_architecture = child_architecture  # Architecture names for FAT Mach-O slices
        self.child_filetype = child_filetype  # Magika filetypes for children (useful for zip archives)
        self.first_seen = first_seen  # From catalog_samples, None for local files

    def tag(self):
        return Tag.BASIC_PROPERTIES.value

    def _extract_basic_properties(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        filename = None  # Reserved for future use
        sample_name = os.path.basename(self.filepath)
        file_entropy = round(self.calculate_entropy(self.binary), 3)
        type_ = magic.from_buffer(self.binary)
        type_mime = magic.from_buffer(self.binary, mime=True)
        type_magika = Magika().identify_bytes(self.binary).output.label
        size = len(self.binary)
        self.basic_properties = BasicProperties(
            filename, sample_name, size, type_, type_mime, type_magika,
            file_entropy, self.is_packed, self.is_fat, self.child_sha256,
            self.child_architecture, self.child_filetype,
            first_seen=str(self.first_seen) if self.first_seen else None,
        )
        self.log.debug(f"Basic Properties dump: {asdict(self.basic_properties)}")

    def extract(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        try:
            self._extract_basic_properties()
            # self.export_to_elastic([self.basic_properties])
            return self.basic_properties
        except Exception as e:
            self.log.error(f"Extract basic properties error {self.hash.sha256} Exception: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.basic_properties
        elif exporter_type == "ClickHouseExporter":
            data = [[
                self.sha256,
                self.md5,
                self.sha1,
                self.parent_sha256,  # NULL for standalone/FAT, fat_hash for slices
                self.basic_properties.child_sha256 or [],  # SHA256 hashes of children
                self.basic_properties.child_architecture or [],  # Architecture names for FAT slices
                self.basic_properties.child_filetype or [],  # Magika filetypes for children
                self.basic_properties.is_fat,  # True for FAT Mach-O containers, NULL otherwise
                self.basic_properties.filename,
                self.basic_properties.sample_name,
                self.basic_properties.filesize,
                self.basic_properties.file_entropy,
                self.basic_properties.filetype,
                self.basic_properties.filetype_mime,
                self.basic_properties.filetype_magika,
                self.first_seen or datetime(1970, 1, 1, tzinfo=timezone.utc),  # From catalog_samples, epoch zero for local files (uses original datetime, not string)
                datetime.now(timezone.utc)
            ]]

            column_names = [
                'sha256', 'md5', 'sha1', 'parent_sha256', 'child_sha256', 'child_architecture', 'child_filetype',
                'is_fat', 'filename', 'sample_name',
                'filesize', 'file_entropy', 'filetype', 'filetype_mime',
                'filetype_magika', 'first_seen', 'analysis_date'
            ]

            column_type_names = [
                'String', 'String', 'String', 'Nullable(String)',
                'Array(FixedString(64))', 'Array(LowCardinality(String))', 'Array(LowCardinality(String))',
                'Nullable(UInt8)', 'Nullable(String)', 'String',
                'UInt64', 'Float64', 'LowCardinality(String)',
                'LowCardinality(String)', 'LowCardinality(String)',
                'DateTime64(3, \'UTC\')',
                'DateTime64(3, \'UTC\')'
            ]

            return data, column_names, column_type_names

    def get_clickhouse_table(self) -> str:
        return "redb_basic_properties"