Manikandan Ramachandran

40 papers Journal 40
YearRankTypeTitle / Venue / Authors
2025 J jnl
Comput. Mater. Continua
Vidivelli Soundararajan, Manikandan Ramachandran, Srivatsan Vinodh Kumar
2024 J jnl
Comput. Mater. Continua
S. Vidivelli, Manikandan Ramachandran, A. Dharunbalaji
2023 J jnl
IEEE Internet Things J.
Syed Thouheed Ahmed, Syed Muzamil Basha, Manikandan Ramachandran, Mahmoud Daneshmand, Amir H. Gandomi
2023 J jnl
Wirel. Pers. Commun.
Chakrapani Kannan, Muniyegowda Kempanna, Mohamed Iqubal Safa, Thiyagarajan Kavitha, Manikandan Ramachandran, Vidhyacharan Bhaskar, Ambeshwar Kumar
2023 J jnl
Data
Venkatagurunatham Naidu Kollu, Vijayaraj Janarthanan, Muthulakshmi Karupusamy, Manikandan Ramachandran
2023 J jnl
IEEE Trans. Ind. Informatics
Jafar Ahmad Abed Alzubi, Omar A. Alzubi, Ashish Singh, Manikandan Ramachandran
2023 J jnl
IEEE Trans. Engineering Management
Manikandan Ramachandran, Rizwan Patan, Ambeshwar Kumar, Soheil Hosseini, Amir H. Gandomi
2023 J jnl
J. Signal Process. Syst.
S. Ramesh, S. Nirmalraj, S. Murugan, Manikandan Ramachandran, Fadi Al-Turjman
2022 J jnl
Comput. Biol. Medicine
Ramesh Sekaran, Ashok Kumar Munnangi, Manikandan Ramachandran, Amir H. Gandomi
2022 J jnl
J. Intell. Fuzzy Syst.
Arunprasath Raveendran, Jafar Ahmad Abed Alzubi, Ramesh Sekaran, Manikandan Ramachandran
2022 J jnl
Expert Syst. J. Knowl. Eng.
Malavika Saminathan, Manikandan Ramachandran, Ambeshwar Kumar, Rajkumar Kulandaivel, Ashish Khanna, Prakashkumar Singh
2022 J jnl
Int. J. Intell. Syst.
Ramesh Sekaran, Ashok Kumar Munnangi, Sivaram Rajeyyagari, Manikandan Ramachandran, Fadi M. Al-Turjman
2022 J jnl
Multim. Tools Appl.
Malathy Jawahar, Prassanna Jayachandran, Vinayakumar Ravi, L. Jani Anbarasi, S. Graceline Jasmine, Manikandan Ramachandran, Ramesh Sekaran, Suthendran Kannan
2022 J jnl
Expert Syst. J. Knowl. Eng.
Rathnamma V. Mydukuri, Suresh Kallam, Rizwan Patan, Fadi Al-Turjman, Manikandan Ramachandran
2022 J jnl
IEEE Trans. Big Data
Sethuraman Jayaraman, Manikandan Ramachandran, Rizwan Patan, Mahmoud Daneshmand, Amir H. Gandomi
2022 J jnl
J. Oper. Res. Soc.
Rizwan Patan, Suresh Kallam, Amir H. Gandomi, Thomas Hanne, Manikandan Ramachandran
2022 J jnl
Wirel. Pers. Commun.
Robbi Rahim, Manikandan Ramachandran, Prassanna Jayachandran, Hariharan Kalyanaraman, Vidhyacharan Bhaskar, Ambeshwar Kumar
2022 J jnl
Appl. Soft Comput.
Chandrasekar Thaventhiran, Sekar Kidambi Raju, Manikandan Ramachandran, Rizwan Patan, Amir H. Gandomi
2022 J jnl
Wirel. Pers. Commun.
Amutha Balakrishnan, Kadiyala Ramana, Karthick Nanmaran, Manikandan Ramachandran, Vidhyacharan Bhaskar, Suresh Kallam
2022 J jnl
Int. J. E Health Medical Commun.
Malathy Jawahar, L. Jani Anbarasi, Prassanna Jayachandran, Manikandan Ramachandran, Fadi M. Al-Turjman
2021 J jnl
Comput. Networks
Ramesh Sekaran, Surya Narayana Goddumarri, Suresh Kallam, Manikandan Ramachandran, Rizwan Patan, Deepak Gupta
2021 J jnl
Int. J. Mach. Learn. Cybern.
Rajkumar Kulandaivel, Manikandan Ramachandran, Fadi M. Al-Turjman, Rizwan Patan
2021 J jnl
Mob. Networks Appl.
M. Vasim Babu, Jafar Ahmad Abed Alzubi, Ramesh Sekaran, Rizwan Patan, Manikandan Ramachandran, Deepak Gupta
2021 J jnl
Wirel. Pers. Commun.
Subhashini Peneti, Sunil Kumar Malchi, Suresh Kallam, Rizwan Patan, Vidhyacharan Bhaskar, Manikandan Ramachandran
2021 J jnl
IET Commun.
Chakrapani Kannan, Dakshinamoorthy Muralidharan, Manikandan Ramachandran, Rizwan Patan, Hariharan Kalyanaraman, Ambeshwar Kumar
2021 J jnl
Microprocess. Microsystems
T. Prem Jacob, Albert Pravin, Manikandan Ramachandran, Fadi M. Al-Turjman
2021 J jnl
IEEE Trans. Engineering Management
Raghunathan Krishankumar, Kattur Soundarapandian Ravichandran, Amir H. Gandomi, Manikandan Ramachandran, Rizwan Patan, Madda Rajasekhara Babu
2021 J jnl
IEEE Access
Geeitha Senthilkumar, Jothilakshmi Ramakrishnan, Jaroslav Frnda, Manikandan Ramachandran, Deepak Gupta, Prayag Tiwari, Mohammad Shorfuzzaman, Mazin Abed Mohammed
2021 J jnl
Expert Syst. Appl.
Parameshwaran Ramalingam, Gopalakrishnan Lakshminarayanan, Manikandan Ramachandran, Rizwan Patan
2021 J jnl
Neural Comput. Appl.
Revathi Jothiramalingam, Anitha Jude, Rizwan Patan, Manikandan Ramachandran, Jude Hemanth Duraisamy, Amir H. Gandomi
2021 J jnl
Sustain. Comput. Informatics Syst.
Ramesh Sekaran, Manikandan Ramachandran, Rizwan Patan, Fadi M. Al-Turjman
2020 J jnl
Soft Comput.
Raghunathan Krishankumar, Premaladha Jayaraman, K. S. Ravichandran, K. R. Sekar, Manikandan Ramachandran, X. Z. Gao
2020 J jnl
Neural Comput. Appl.
Omar A. Alzubi, Jafar Ahmad Abed Alzubi, Mohammed Alweshah, Issa Qiqieh, Sara Al-Shami, Manikandan Ramachandran
2020 J jnl
Expert Syst. Appl.
Manikandan Ramachandran, Rizwan Patan, Amir H. Gandomi, Perumal Sivanesan, Hariharan Kalyanaraman
2020 J jnl
IEEE Access
Ramesh Sekaran, Rizwan Patan, Arunprasath Raveendran, Fadi Al-Turjman, Manikandan Ramachandran, Leonardo Mostarda
2019 J jnl
Appl. Soft Comput.
Ambeshwar Kumar, Manikandan Ramachandran, Amir H. Gandomi, Rizwan Patan, Szymon Lukasik, Kattur Soundarapandian Ravichandran
2019 J jnl
Expert Syst. Appl.
Gopi Kasinathan, Selvakumar Jayakumar, Amir H. Gandomi, Manikandan Ramachandran, Simon James Fong, Rizwan Patan
2019 J jnl
Appl. Soft Comput.
Jafar Ahmad Abed Alzubi, Balasubramaniyan Bharathikannan, Sudeep Tanwar, Manikandan Ramachandran, Ashish Khanna, Chandrasekar Thaventhiran
2019 J jnl
Clust. Comput.
Rajasekhar Reddy Manyam, K. S. Ravichandran, Balasubramaniam Venkatraman, K. R. Sekar, Manikandan Ramachandran
2019 J jnl
IEEE Access
Rajkumar Kulandaivel, Monica Balasubramaniam, Fadi Al-Turjman, Leonardo Mostarda, Manikandan Ramachandran, Rizwan Patan
redb/extractors/pe_extractors/pe_imports.py
← Index redb/extractors/pe_extractors/pe_imports.py python
import inspect
from typing import Any, List, Tuple
from datetime import datetime, timezone

from redb.extractors.enum import Tag
from redb.extractors.pe_extractor import PEExtractor
from redb.models.dataclasses import PEImport


class PEImportExtractor(PEExtractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        pe=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            elastic_index,
            known_benign,
            known_malicious,
            pe,
        )
        self.elastic_index = self.index_prefix + "-pe_imports"
        self.log.debug(inspect.currentframe().f_code.co_name)

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

    def _extract_imports(self):
        self.log.debug(inspect.currentframe().f_code.co_name)

        imports_symbols = []
        imports_lib = []
        imports_total = 0
        # pe_import = None
        try:
            directory_entry_import = getattr(self.pe, "DIRECTORY_ENTRY_IMPORT", [])
            imports_total = len(directory_entry_import)
            for entry in directory_entry_import:
                symbols = []
                tmp_import = {}
                libname = entry.dll.decode() if entry.dll else ""
                imports_lib.append(libname)
                # replace . with _ to avoid issues with elastic
                # entryname = entryname.replace(".", "_")
                for symbol in entry.imports:
                    if symbol.name:
                        symbols.append(symbol.name.decode())
                # imports_symbols[entryname] = symbols
                tmp_import[libname] = symbols
                imports_symbols.append(tmp_import)
            return PEImport(
                pe_imports_total=imports_total,
                pe_import_libraryName=imports_lib if imports_lib else None,
                pe_import_functions=imports_symbols if imports_symbols else None,
            )
        except Exception as e:
            self.log.error(f"Extract imports error {self.hash.sha256} Exception: {e}")
        return pe_import

    def extract(self):
        try:
            self.log.debug(inspect.currentframe().f_code.co_name)
            return self._extract_imports()
        except Exception as e:
            self.log.error(f"Extract imports error {self.hash.sha256} Exception: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.extract()
        elif exporter_type == "ClickHouseExporter":
            imports = self.extract()
            if (
                imports is None
                or imports.pe_imports_total == 0
                or (
                    imports.pe_import_libraryName is None
                    and imports.pe_import_functions is None
                )
            ):
                return None

            # Flatten the data - one row per function import
            data = []
            current_time = datetime.now(timezone.utc)

            for lib_funcs in imports.pe_import_functions:
                for lib, funcs in lib_funcs.items():
                    for func in funcs:
                        data.append(
                            [
                                self.sha256,  # sha256
                                self.md5,  # md5
                                self.sha1,  # sha1
                                lib,  # library_name
                                func,  # function_name
                                current_time,  # analysis_date
                            ]
                        )

            column_names = [
                "sha256",
                "md5",
                "sha1",
                "library_name",
                "function_name",
                "analysis_date",
            ]

            column_type_names = [
                "FixedString(64)",
                "FixedString(32)",
                "FixedString(40)",
                "LowCardinality(Nullable(String))",
                "LowCardinality(Nullable(String))",
                "DateTime64(3, 'UTC')",
            ]

            if not data:
                return None

            return (data, column_names, column_type_names)

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