Victor Verdugo

59 papers A* 9A 2B 7C 1Misc 1Journal 36Unranked 2
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Eugenio Cruz-Ossa, Sebastian Perez-Salazar, Victor Verdugo
2026 A* conf
SODA
Javier Cembrano, José Correa, Svenja M. Griesbach, Victor Verdugo
2026 J jnl
Math. Oper. Res.
Johannes Brustle, José Correa, Paul Dütting, Tomer Ezra, Michal Feldman, Victor Verdugo
2025 J jnl
CoRR
Waldo Gálvez, Mayank Goswami, Arturo Merino, Gibeom Park, Meng-Tsung Tsai, Victor Verdugo
2025 J jnl
CoRR
Kristóf Bérczi, Vasilis Livanos, José A. Soto, Victor Verdugo
2025 A conf
APPROX/RANDOM
Waldo Gálvez, Roberto Oliva, Victor Verdugo
2025 B conf
IPCO
Kristóf Bérczi, Vasilis Livanos, José A. Soto, Victor Verdugo
2025 A* conf
EC
Javier Cembrano, Andrés Moraga, Victor Verdugo
2025 J jnl
CoRR
Javier Cembrano, Andrés Moraga, Victor Verdugo
2025 A* conf
SODA
Javier Cembrano, José Correa, Ulrike Schmidt-Kraepelin, Alexandros Tsigonias-Dimitriadis, Victor Verdugo
2025 J jnl
CoRR
Javier Cembrano, José Correa, Svenja M. Griesbach, Victor Verdugo
2025 J jnl
CoRR
José Correa, Vasilis Livanos, Dana Pizarro, Victor Verdugo
2025 J jnl
Oper. Res. Lett.
José A. Soto, Victor Verdugo
2024 J jnl
Math. Program.
Vincent Cohen-Addad, Tobias Mömke, Victor Verdugo
2024 J jnl
Math. Program.
Claire Mathieu, Victor Verdugo
2024 J jnl
CoRR
Kristóf Bérczi, Vasilis Livanos, José A. Soto, Victor Verdugo
2024 A* conf
EC
José Correa, Paul Gölz, Ulrike Schmidt-Kraepelin, Jamie Tucker-Foltz, Victor Verdugo
2024 J jnl
CoRR
José Correa, Paul Gölz, Ulrike Schmidt-Kraepelin, Jamie Tucker-Foltz, Victor Verdugo
2024 J jnl
CoRR
Javier Cembrano, José Correa, Ulrike Schmidt-Kraepelin, Alexandros Tsigonias-Dimitriadis, Victor Verdugo
2024 B conf
IPCO
Javier Marinkovic, José A. Soto, Victor Verdugo
2024 J jnl
CoRR
Sebastian Perez-Salazar, Victor Verdugo
2024 J jnl
CoRR
José A. Soto, Victor Verdugo
2024 J jnl
CoRR
Javier Cembrano, José Correa, Gonzalo Díaz, Victor Verdugo
2024 J jnl
CoRR
Johannes Brustle, Sebastian Perez-Salazar, Victor Verdugo
2024 J jnl
Math. Oper. Res.
Johannes Brustle, José Correa, Paul Duetting, Victor Verdugo
2024 A* conf
EC
Johannes Brustle, José Correa, Paul Dütting, Tomer Ezra, Michal Feldman, Victor Verdugo
2024 J jnl
CoRR
Johannes Brustle, José Correa, Paul Dütting, Tomer Ezra, Michal Feldman, Victor Verdugo
2023 J jnl
CoRR
Javier Marinkovic, José A. Soto, Victor Verdugo
2022 B conf
IPCO
Vincent Cohen-Addad, Tobias Mömke, Victor Verdugo
2022 A* conf
EC
Johannes Brustle, José Correa, Paul Dütting, Victor Verdugo
2021 J jnl
CoRR
Vincent Cohen-Addad, Tobias Mömke, Victor Verdugo
2021 J jnl
CoRR
Claire Mathieu, Victor Verdugo
2021 A* conf
EC
Javier Cembrano, José Correa, Victor Verdugo
2021 B conf
SAGT
José Correa, Dana Pizarro, Victor Verdugo
2021 conf
EAAMO
Sebastian Perez-Salazar, Alfredo Torrico, Victor Verdugo
2021 J jnl
CoRR
Sebastian Perez-Salazar, Alfredo Torrico, Victor Verdugo
2021 conf
EAAMO
Javier Cembrano, José Correa, Gonzalo Díaz, Victor Verdugo
2021 J jnl
Math. Oper. Res.
José A. Soto, Abner Turkieltaub, Victor Verdugo
2021 J jnl
CoRR
Alejandro Jofré, Angel Pardo, David Salas, Victor Verdugo, José Verschae
2020 J jnl
Math. Program.
Victor Verdugo, José Verschae, Andreas Wiese
2020 J jnl
Oper. Res. Lett.
Hans Raj Tiwary, Victor Verdugo, Andreas Wiese
2020 C conf
IWOCA
Benoît Groz, Frederik Mallmann-Trenn, Claire Mathieu, Victor Verdugo
2019 B conf
IPCO
Victor Verdugo, José Verschae
2019 J jnl
Oper. Res. Lett.
José Correa, Patricio Foncea, Dana Pizarro, Victor Verdugo
2019 J jnl
CoRR
Hans Raj Tiwary, Victor Verdugo, Andreas Wiese
2018 J jnl
CoRR
Victor Verdugo, José Verschae
2018
Victor Verdugo
2018 J jnl
Math. Program.
Adam Kurpisz, Monaldo Mastrolilli, Claire Mathieu, Tobias Mömke, Victor Verdugo, Andreas Wiese
2018 A* conf
SODA
José A. Soto, Abner Turkieltaub, Victor Verdugo
2018 J jnl
CoRR
José A. Soto, Abner Turkieltaub, Victor Verdugo
2017 Misc conf
RTNS
Sanjoy K. Baruah, Vincenzo Bonifaci, Alberto Marchetti-Spaccamela, Victor Verdugo
2017 A* conf
PODC
Varun Kanade, Frederik Mallmann-Trenn, Victor Verdugo
2017 A conf
DISC
Varun Kanade, Frederik Mallmann-Trenn, Victor Verdugo
2017 J jnl
CoRR
Varun Kanade, Frederik Mallmann-Trenn, Victor Verdugo
2017 J jnl
CoRR
Frederik Mallmann-Trenn, Claire Mathieu, Victor Verdugo
2016 B conf
IPCO
Adam Kurpisz, Monaldo Mastrolilli, Claire Mathieu, Tobias Mömke, Victor Verdugo, Andreas Wiese
2016 J jnl
Oper. Res. Lett.
José Correa, Victor Verdugo, José Verschae
2014 B conf
IPCO
José R. Correa, Alberto Marchetti-Spaccamela, Jannik Matuschke, Leen Stougie, Ola Svensson, Victor Verdugo, José Verschae
2012 J jnl
CoRR
Frans Schalekamp, René Sitters, Suzanne van der Ster, Leen Stougie, Victor Verdugo, Anke van Zuylen
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())