Neha Yadav

30 papers Journal 19Unranked 11
YearRankTypeTitle / Venue / Authors
2026 J jnl
SN Comput. Sci.
Rakesh Kumar Saini, Hemraj Saini, Neha Yadav
2025 conf
ICACDS
Abha Kiran Rajpoot, Gaurav Agrawal, Diksha Dani, Jagendra Singh, Neha Yadav
2025 conf
ICACDS
Neha Yadav, Mayank Singh, Chanchal Ahlawat, Gaurav Dhuriya, Aradhna Saini
2025 J jnl
SN Comput. Sci.
Neha Yadav, Dhanalekshmi Gopinathan
2025 conf
SIPAIM
Neha Yadav, Xiaomeng Lei, Dighvijay Giri, Steven Y. Cen, Joshua Levy, Kristin Jensen, David J. Goodenough, Bino A. Varghese
2025 J jnl
SN Comput. Sci.
Neha Yadav, Dhanalekshmi Gopinathan
2024 J jnl
SN Comput. Sci.
Bhupendra Kumar, Neha Yadav, Sunil
2024 J jnl
EAI Endorsed Trans. Pervasive Health Technol.
Neha Yadav, Ranjith Kumar A, Sagar Dhanraj Pande
2024 conf
SIPAIM
Neha Yadav, Andrew Turangan, Huawei Han, Xiaomeng Lei, Darryl H. Hwang, Steven Y. Cen, Joshua Levy, Kristin Jensen, David J. Goodenough, Bino A. Varghese
2023 J jnl
Intell. Autom. Soft Comput.
Abdulaziz Attaallah, Khalil al-Sulbi, Areej Alasiry, Mehrez Marzougui, Neha Yadav, Syed Anas Ansar, Pawan Kumar Chaurasia, Alka Agrawal
2023 J jnl
Appl. Soft Comput.
Bhupendra Kumar, Sunil, Neha Yadav
2022 J jnl
Expert Syst. J. Knowl. Eng.
Neha Yadav, Sk Md Alfayeed, Aditya Khamparia, Babita Pandey, Dang N. H. Thanh, Sagar Pande
2022 J jnl
Eng. Appl. Artif. Intell.
Harender Kumar, Neha Yadav, Atulya K. Nagar
2020 J jnl
Int. J. Knowl. Based Organ.
Sakshi Gupta, Neha Yadav, Loveleen Gaba
2020 J jnl
Neural Comput. Appl.
Anupam Yadav, Ali Sadollah, Neha Yadav, Joong-Hoon Kim
2019 J jnl
J. Exp. Theor. Artif. Intell.
Anupam Yadav, Neha Yadav, Joong Hoon Kim
2019 J jnl
J. Exp. Theor. Artif. Intell.
Hassan Sayyaadi, Ali Sadollah, Anupam Yadav, Neha Yadav
2018 J jnl
Neural Comput. Appl.
Neha Yadav, Kevin Stanley McFall, Manoj Kumar, Joong Hoon Kim
2017 conf
ICHSA
Anupam Yadav, Neha Yadav, Joong Hoon Kim
2017 J jnl
Neural Comput. Appl.
Neha Yadav, Anupam Yadav, Manoj Kumar, Joong Hoon Kim
2017 J jnl
J. Exp. Theor. Artif. Intell.
Ali Sadollah, Neha Yadav, Kaizhou Gao, Rong Su
2017 conf
ICHSA
Neha Yadav, Thi Thuy Ngo, Anupam Yadav, Joong Hoon Kim
2016 conf
ICON
Neha Yadav, C. Ravindranath Chowdary
2016 J jnl
Comput. Math. Appl.
Neha Yadav, Anupam Yadav, Joong Hoon Kim
2015 conf
ICHSA
Anupam Yadav, Neha Yadav, Joong Hoon Kim
2015 conf
SocProS (2)
Neha Yadav, Joong Hoon Kim, Anupam Yadav
2014 conf
SocProS (1)
Neha Yadav, Anupam Yadav, Kusum Deep
2013 J jnl
J. Frankl. Inst.
Manoj Kumar, Neha Yadav
2013 conf
SocProS (2)
Kamal Kant Sharma, Mukul Aggarwal, Neha Yadav
2011 J jnl
Comput. Math. Appl.
Manoj Kumar, Neha Yadav
redb/extractors/pe_extractor.py
← Index redb/extractors/pe_extractor.py python
import logging
from abc import ABCMeta, abstractmethod
import inspect

import magic
import pefile
from dotnetfile import DotNetPE

from redb.extractors.extractor import Extractor

logger = logging.getLogger(__name__)


@abstractmethod
class PEExtractor(Extractor, metaclass=ABCMeta):

    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
        )
        self.pe = pe if pe else self._generate_pefile_object()
        self.dotnet = None

    def _generate_pefile_object(self):
        pe = None
        try:
            pe = pefile.PE(self.filepath)
            if not pe:
                raise pefile.PEFormatError("Empty file?")
        except pefile.PEFormatError as e:
            self.log.error(f"Format error {self.hash.sha256} Full error : {e}")
        return pe

    def _generate_dotnetfile_object(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        dotnet = None
        error = None
        try:
            dotnet = DotNetPE(self.filepath)
            if not dotnet:
                raise Exception("Empty file?")
        except Exception as e:
            self.log.error(
                f"Format error dotnet file {self.hash.sha256} Full error : {e}"
            )
            error = e
        return dotnet, error

    def _check_dotnet(self):
        try:
            file_type = magic.from_buffer(self.binary)
            if ".Net" in file_type:
                return True
            for entry in self.pe.OPTIONAL_HEADER.DATA_DIRECTORY:
                # IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR is typically 14
                if (
                    entry.name == "IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR"
                    and entry.Size > 0
                ):
                    return True
            return False
        except AttributeError as e:
            self.log.error(
                f"AttributeError error dotnet file {self.hash.sha256} Full error : {e}"
            )
            return False

    def _is_signed(self):
        address = self.pe.OPTIONAL_HEADER.DATA_DIRECTORY[
            pefile.DIRECTORY_ENTRY["IMAGE_DIRECTORY_ENTRY_SECURITY"]
        ].VirtualAddress
        if address == 0:
            return False
        return True

    def _has_overlay(self):
        return bool(self.pe.get_overlay())