Caterina Mainero

14 papers Journal 10Unranked 4
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Enamundram Naga Karthik, Sandrine Bédard, Jan Valosek, Christoph S. Aigner, Elise Bannier, Josef Bednarík, Virginie Callot, Anna J. E. Combes, Armin Curt, Gergely Dávid, Falk Eippert, Lynn Farner, Michael G. Fehlings, Patrick Freund, Tobias Granberg, Cristina Granziera, RHSCIR Network Imaging Group, Ulrike Horn, Tomás Horák, Suzanne Humphreys, Markus Hupp, Anne Kerbrat, Nawal Kinany, Shannon H. Kolind, Petr Kudlicka, Anna Lebret, Lisa Eunyoung Lee, Caterina Mainero, Allan R. Martin, Megan McGrath, Govind Nair, Kristin P. O'Grady, Jiwon Oh, Russell Ouellette, Nikolai Pfender, Dario Pfyffer, Pierre-François Pradat, Alexandre Prat, Emanuele Pravatà, Daniel S. Reich, Ilaria Ricchi, Naama Rotem-Kohavi, Simon Schading-Sassenhausen, Maryam Seif, Andrew C. Smith, Seth A. Smith, Grace Sweeney, Roger C. Tam, Anthony Traboulsee, Constantina Andrada Treaba, Charidimos Tsagkas, Zachary Vavasour, Dimitri Van De Ville, Kenneth Arnold Weber II, Sarath Chandar, Julien Cohen-Adad
2021 conf
EMBC
Allegra Conti, Constantina A. Treaba, Ambica Mehndiratta, Valeria Barletta, Caterina Mainero, Nicola Toschi
2019 conf
EMBC
Silvia De Santis, Elena Herranz, Constantina A. Treaba, Valeria Barletta, Ambica Mehndiratta, Caterina Mainero, Nicola Toschi
2018 J jnl
CoRR
Charley Gros, Benjamin De Leener, Atef Badji, Josefina Maranzano, Dominique Eden, Sara M. Dupont, Jason Talbott, Ren Zhuoquiong, Yaou Liu, Tobias Granberg, Russell Ouellette, Yasuhiko Tachibana, Masaaki Hori, Kouhei Kamiya, Lydia Chougar, Leszek Stawiarz, Jan Hillert, Elise Bannier, Anne Kerbrat, Gilles Edan, Pierre Labauge, Virginie Callot, Jean Pelletier, Bertrand Audoin, Henitsoa Rasoanandrianina, Jean-Christophe Brisset, Paola Valsasina, Maria Assunta Rocca, Massimo Filippi, Rohit Bakshi, Shahamat Tauhid, Ferran Prados, Marios C. Yiannakas, Hugh Kearney, Olga Ciccarelli, Seth A. Smith, Constantina Andrada Treaba, Caterina Mainero, Jennifer Lefeuvre, Daniel S. Reich, Govind Nair, Vincent Auclair, Donald G. McLaren, Allan R. Martin, Michael G. Fehlings, Shahabeddin Vahdat, Ali Khatibi, Julien Doyon, Timothy M. Shepherd, Erik Charlson, Sridar Narayanan, Julien Cohen-Adad
2017 conf
EMBC
Silvia De Santis, Tobias Granberg, Russell Ouellette, Constantina A. Treaba, Qiuyun Fan, Elena Herranz, Caterina Mainero, Nicola Toschi
2016 conf
BrainLes@MICCAI
Subhranil Koley, Chandan Chakraborty, Caterina Mainero, Bruce Fischl, Iman Aganj
2015 J jnl
NeuroImage
Christian Langkammer, Kristian Bredies, Benedikt A. Poser, Markus Barth, Gernot Reishofer, Audrey Peiwen Fan, Berkin Bilgic, Franz Fazekas, Caterina Mainero, Stefan Ropele
2015 J jnl
NeuroImage
G. Mangeat, Sindhuja Tirumalai Govindarajan, Caterina Mainero, Julien Cohen-Adad
2012 J jnl
NeuroImage
Julien Cohen-Adad, Jonathan R. Polimeni, Karl G. Helmer, Thomas Benner, Jennifer A. McNab, Lawrence L. Wald, Bruce R. Rosen, Caterina Mainero
2011 J jnl
NeuroImage
Julien Cohen-Adad, Thomas Benner, Douglas N. Greve, R. P. Kinkel, A. Radding, Bruce Fischl, Bruce R. Rosen, Caterina Mainero
2007 J jnl
NeuroImage
Caterina Mainero, Wei-Ting Zhang, Ashok Kumar, Bruce R. Rosen, A. Gregory Sorensen
2006 J jnl
NeuroImage
Wei-Ting Zhang, Caterina Mainero, Ashok Kumar, Christopher J. Wiggins, Thomas Benner, Patrick L. Purdon, Divya S. Bolar, Kenneth K. Kwong, A. Gregory Sorensen
2004 J jnl
NeuroImage
Caterina Mainero, Francesca Caramia, Carlo Pozzilli, Angela Pisani, Isabella Pestalozza, Giovanna Borriello, Luigi Bozzao, Patrizia Pantano
2002 J jnl
NeuroImage
Patrizia Pantano, Caterina Mainero, Gian Domenico Iannetti, Francesca Caramia, Silvia Di Legge, Maria Cristina Piattella, Carlo Pozzilli, Luigi Bozzao, Gian Luigi Lenzi
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())