Ouns Bouachir

55 papers B 8C 3Journal 32Unranked 11
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Faisal Zaman, Ouns Bouachir, Moayad Aloqaily, Ismaeel Al Ridhawi
2026 J jnl
CoRR
Zhenhong Zhou, Yuanhe Zhang, Hongwei Cai, Moayad Aloqaily, Ouns Bouachir, Linsey Pang, Prakhar Mehrotra, Kun Wang, Qingsong Wen
2026 J jnl
Eng. Appl. Artif. Intell.
Amir Anees, Ouns Bouachir, Safa Otoum
2025 conf
ICC
Abdulrezzak Zekiye, Ouns Bouachir, Öznur Özkasap, Moayad Aloqaily
2025 J jnl
CoRR
Abdulrezzak Zekiye, Ouns Bouachir, Öznur Özkasap, Moayad Aloqaily
2025 conf
BCCA
Venkatraman Balasubramanian, Ouns Bouachir, Safa Otoum
2025 J jnl
Veh. Commun.
Sawsan Abdul Rahman, Safa Otoum, Ouns Bouachir
2025 conf
FLLM
Faisal Zaman, Ouns Bouachir, Moayad Aloqaily, Ismaeel Al Ridhawi
2025 J jnl
Veh. Commun.
Moayad Aloqaily, Ouns Bouachir, Ismaeel Al Ridhawi
2024 conf
BCCA
Abdulrezzak Zekiye, Ozan Sina Bankaoglu, Ouns Bouachir, Öznur Özkasap, Moayad Aloqaily
2024 J jnl
CoRR
Abdulrezzak Zekiye, Ozan Sina Bankaoglu, Ouns Bouachir, Öznur Özkasap, Moayad Aloqaily
2024 conf
ICC
Abdulrezzak Zekiye, Ouns Bouachir, Öznur Özkasap, Moayad Aloqaily
2024 J jnl
CoRR
Abdulrezzak Zekiye, Ouns Bouachir, Öznur Özkasap, Moayad Aloqaily
2024 J jnl
Veh. Commun.
Sawsan AbdulRahman, Ouns Bouachir, Safa Otoum, Azzam Mourad
2024 conf
iMETA
Asma Alshamsi, Amal Adel, Mezoun Al Ghfeli, Ouns Bouachir
2024 conf
GLOBECOM (Workshops)
Amir Anees, Ouns Bouachir, Safa Otoum
2023 J jnl
Inf. Process. Manag.
Nadia Charef, Adel Ben Mnaouer, Moayad Aloqaily, Ouns Bouachir, Mohsen Guizani
2023 conf
iMETA
Venkatraman Balasubramanian, Ouns Bouachir, Ala'a Al-Habashna
2023 ed.
BCCA
Moayad Aloqaily, Safa Otoum, Ouns Bouachir, Yaser Jararweh, Ismaeel Al Ridhawi, Khalid Al-Begain, Mohammad A. Alsmirat
2023 J jnl
IEEE Commun. Stand. Mag.
Himanshi Babbar, Shalli Rani, Ouns Bouachir, Moayad Aloqaily
2023 J jnl
IEEE Consumer Electron. Mag.
Moayad Aloqaily, Ouns Bouachir, Fakhri Karray, Ismaeel Al Ridhawi, Abdulmotaleb El Saddik
2023 J jnl
IEEE J. Sel. Areas Commun.
Sawsan AbdulRahman, Safa Otoum, Ouns Bouachir, Azzam Mourad
2023 J jnl
J. Netw. Syst. Manag.
Zakaria Alomari, Mohamed Faten Zhani, Moayad Aloqaily, Ouns Bouachir
2023 J jnl
Int. J. Netw. Manag.
Haythem Yahyaoui, Mohamed Faten Zhani, Ouns Bouachir, Moayad Aloqaily
2023 B conf
GLOBECOM
Sawsan AbdulRahman, Ouns Bouachir, Safa Otoum, Azzam Mourad
2023 J jnl
IEEE Netw.
Moayad Aloqaily, Ouns Bouachir, Ismaeel Al Ridhawi, Mohsen Guizani
2023 conf
ICC
Sawsan Abdul Rahman, Ouns Bouachir, Safa Otoum, Azzam Mourad
2023 J jnl
Int. J. Netw. Manag.
Zakaria Alomari, Mohamed Faten Zhani, Moayad Aloqaily, Ouns Bouachir
2022 conf
BCCA
Ouns Bouachir, Moayad Aloqaily, Fakhri Karray, Abdulmotaleb El Saddik
2022 J jnl
J. Netw. Syst. Manag.
Tarik Moufakir, Mohamed Faten Zhani, Abdelouahed Gherbi, Ouns Bouachir
2022 J jnl
ACM Comput. Surv.
Ismaeel Al Ridhawi, Ouns Bouachir, Moayad Aloqaily, Azzedine Boukerche
2022 B conf
NOMS
Himanshi Babbar, Ouns Bouachir, Shalli Rani, Moayad Aloqaily
2022 J jnl
IEEE Trans. Green Commun. Netw.
Ouns Bouachir, Moayad Aloqaily, Öznur Özkasap, Faizan Safdar Ali
2022 J jnl
CoRR
Moayad Aloqaily, Ouns Bouachir, Fakhri Karray, Ismaeel Al Ridhawi, Abdulmotaleb El Saddik
2022 J jnl
Peer-to-Peer Netw. Appl.
Moayad Aloqaily, Ouns Bouachir, Öznur Özkasap, Faizan Safdar Ali
2021 C conf
ISNCC
Nadia Charef, Adel Ben Mnaouer, Ouns Bouachir
2021 B conf
GLOBECOM
Moayad Aloqaily, Ouns Bouachir, Ismaeel Al Ridhawi
2021 J jnl
IEEE Netw.
Moayad Aloqaily, Ouns Bouachir, Azzedine Boukerche, Ismaeel Al Ridhawi
2021 B conf
GLOBECOM
Hasan Ali Khattak, Farkhanda Zafar Raja, Moayad Aloqaily, Ouns Bouachir
2021 J jnl
IEEE Netw.
Zinelaabidine Nadir, Tarik Taleb, Hannu Flinck, Ouns Bouachir, Miloud Bagaa
2021 B conf
IM
Omar Bouhamed, Ouns Bouachir, Moayad Aloqaily, Ismaeel Al Ridhawi
2021 J jnl
IEEE Trans. Ind. Informatics
Faizan Safdar Ali, Ouns Bouachir, Öznur Özkasap, Moayad Aloqaily
2021 J jnl
IEEE Commun. Stand. Mag.
Moayad Aloqaily, Yaser Jararweh, Ouns Bouachir
2020 J jnl
IEEE Netw.
Moayad Aloqaily, Azzedine Boukerche, Ouns Bouachir, Fariea Khalid, Sobia Jangsher
2020 J jnl
CoRR
Ouns Bouachir, Moayad Aloqaily, Lewis Tseng, Azzedine Boukerche
2020 J jnl
Computer
Ouns Bouachir, Moayad Aloqaily, Lewis Tseng, Azzedine Boukerche
2020 C conf
WoWMoM
Faizan Safdar Ali, Moayad Aloqaily, Öznur Özkasap, Ouns Bouachir
2020 J jnl
CoRR
Moayad Aloqaily, Ouns Bouachir, Azzedine Boukerche, Ismaeel Al Ridhawi
2020 C conf
ISCC
Beakal Gizachew Assefa, Öznur Özkasap, Ipek Kizil, Moayad Aloqaily, Ouns Bouachir
2020 B conf
CNSM
Zakaria Alomari, Mohamed Faten Zhani, Moayad Aloqaily, Ouns Bouachir
2020 J jnl
IEEE Access
Fehda Malik, Hasan Ali Khattak, Ahmad Almogren, Ouns Bouachir, Ikram Ud Din, Ayman Altameem
2020 B conf
NOMS
Ouns Bouachir, Moayad Aloqaily, Ismaeel Al Ridhawi, Omar Alfandi, Haythem Bany Salameh
2019 J jnl
Comput. Commun.
Saniya Zafar, Sobia Jangsher, Ouns Bouachir, Moayad Aloqaily, Jalel Ben-Othman
2019 B conf
PIMRC
Saniya Zafar, Sobia Jangsher, Moayad Aloqaily, Ouns Bouachir, Jalel Ben-Othman
2019 conf
MobiWac
Ouns Bouachir, Moayad Aloqaily, Fabien Garcia, Nicolas Larrieu, Thierry Gayraud
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())