Vassilia Karathanassi

40 papers B 1C 7Journal 22Unranked 10
YearRankTypeTitle / Venue / Authors
2025 B conf
KES
Nicola Nicastro, Nicolò Taggio, Giulio Ceriola, Maria Kremezi, Vassilia Karathanassi, Antonello Aiello
2025 J jnl
IEEE Access
Viktoria Kristollari, Vassilia Karathanassi
2024 C conf
IGARSS
Chrysovalanta Alexopoulou, Vassilia Karathanassi, Maria Kremezi
2024 C conf
IGARSS
Kleanthis Karamvasis, Jorge Jorge Ruiz, Juha Lemmetyinen, Vassilia Karathanassi, Konstantinos Karantzalos
2024 C conf
IGARSS
Panagiotis Michalis, Claudio Mazzoli, Vassilia Karathanassi, Deniz Ikiz Kaya, Flávio Martins, Michele Cocco, Anaïs Guy, Angelos Amditis
2023 J jnl
Comput. Geosci.
Kleanthis Karamvasis, Vassilia Karathanassi
2022 J jnl
Remote. Sens.
Nicolò Taggio, Antonello Aiello, Giulio Ceriola, Maria Kremezi, Viktoria Kristollari, Polichronis Kolokoussis, Vassilia Karathanassi, Enrico Barbone
2022 conf
IVMSP
Thanassis Drivas, Vasileios Sitokonstantinou, Iason Tsardanidis, Alkiviadis Koukos, Charalampos Kontoes, Vassilia Karathanassi
2022 J jnl
CoRR
Thanassis Drivas, Vasileios Sitokonstantinou, Iason Tsardanidis, Alkiviadis Koukos, Charalampos Kontoes, Vassilia Karathanassi
2022 J jnl
Remote. Sens.
Milto Miltiadou, Vassilia Karathanassi, Athos Agapiou, Christos Theocharidis, Polychronis Kolokousis, Chris Danezis
2022 J jnl
IEEE Access
Viktoria Kristollari, Vassilia Karathanassi
2022 conf
MMM (2)
Vasileios Sitokonstantinou, Alkiviadis Koukos, Thanassis Drivas, Charalampos Kontoes, Vassilia Karathanassi
2022 J jnl
CoRR
Vasileios Sitokonstantinou, Alkiviadis Koukos, Ilias Tsoumas, Nikolaos S. Bartsotas, Charalampos Kontoes, Vassilia Karathanassi
2022 J jnl
CoRR
Kleanthis Karamvasis, Vassilia Karathanassi
2022 J jnl
Remote. Sens.
Vassilis Andronis, Vassilia Karathanassi, Victoria Tsalapati, Polichronis Kolokoussis, Milto Miltiadou, Chris Danezis
2021 J jnl
Remote. Sens.
Vasileios Sitokonstantinou, Alkiviadis Koukos, Thanassis Drivas, Charalampos Kontoes, Ioannis Papoutsis, Vassilia Karathanassi
2021 J jnl
IEEE Access
Maria Kremezi, Viktoria Kristollari, Vassilia Karathanassi, Konstantinos N. Topouzelis, Polichronis Kolokoussis, Nicolò Taggio, Antonello Aiello, Giulio Ceriola, Enrico Barbone, Paolo Corradi
2021 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Maria Rousi, Vasileios Sitokonstantinou, Georgios Meditskos, Ioannis Papoutsis, Ilias Gialampoukidis, Alkiviadis Koukos, Vassilia Karathanassi, Thanassis Drivas, Stefanos Vrochidis, Charalampos Kontoes, Ioannis Kompatsiaris
2021 C conf
IGARSS
Vasileios Sitokonstantinou, Alkiviadis Koukos, Charalampos Kontoes, Nikolaos S. Bartsotas, Vassilia Karathanassi
2020 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Maria Kremezi, Vassilia Karathanassi
2020 J jnl
Remote. Sens.
Viktoria Kristollari, Vassilia Karathanassi
2020 J jnl
Remote. Sens.
Kleanthis Karamvasis, Vassilia Karathanassi
2019 C conf
IGARSS
Maria Kremezi, Vassilia Karathanassi
2016 conf
WHISPERS
Athina Psalta, Vassilia Karathanassi, Polichronis Kolokoussis
2015 conf
SAR
Arlinda Saqellari-Likoka, Vassilia Karathanassi
2015 J jnl
Earth Sci. Informatics
Konstantinos G. Nikolakopoulos, Christos Choussiafis, Vassilia Karathanassi
2014 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Charoula Andreou, Vassilia Karathanassi
2013 J jnl
IEEE Trans. Geosci. Remote. Sens.
Mohammed Dabboor, Michael J. Collins, Vassilia Karathanassi, Alexander Braun
2012 C conf
IGARSS
Charoula Andreou, Vassilia Karathanassi
2012 J jnl
IEEE Trans. Geosci. Remote. Sens.
Vassilia Karathanassi, Dimitris Sykas, Konstantinos N. Topouzelis
2012 C conf
IGARSS
Dimitris Sykas, Vassilia Karathanassi
2012 conf
WHISPERS
Charoula Andreou, Vassilia Karathanassi
2011 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Mohammed Dabboor, Vassilia Karathanassi, Alexander Braun
2011 conf
WHISPERS
Dimitris Sykas, Vassilia Karathanassi, Charoula Andreou, Polichronis Kolokoussis
2011 conf
WHISPERS
Charoula Andreou, Vassilia Karathanassi
2010 conf
WHISPERS
Dimitris Sykas, Vassilia Karathanassi
2009 conf
WHISPERS
Vassilia Karathanassi, Polichronis Kolokoussis, Ioannidou Styliani
2008 J jnl
IEEE Trans. Geosci. Remote. Sens.
Arlinda Saqellari-Likoka, Vassilia Karathanassi
2008 conf
IGARSS (4)
Mohammed Dabboor, Vassilia Karathanassi, Alexander Braun
2007 J jnl
IEEE Geosci. Remote. Sens. Lett.
Ioannidou Styliani, Vassilia Karathanassi
redb/extractors/pe_extractors/pe_overlay.py
← Index redb/extractors/pe_extractors/pe_overlay.py python
from hashlib import md5, sha1, sha256
import inspect
from datetime import datetime, timezone
from typing import Any

import magic
from magika import Magika

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


class PEOverlayExtractor(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_overlay"
        self.log.debug(inspect.currentframe().f_code.co_name)

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

    def _extract_pe_overlay(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        overlay = self.pe.get_overlay()
        if overlay:
            return PEOverlay(
                _id=sha256(overlay).hexdigest(),
                overlay_size=len(overlay),
                overlay_entropy=self.calculate_entropy(overlay),
                overlay_offset=self.pe.get_overlay_data_start_offset(),
                overlay_mimetype=magic.from_buffer(overlay, mime=True),
                overlay_type=magic.from_buffer(overlay),
                overlay_magika=Magika().identify_bytes(overlay).output.ct_label,
                overlay_sha256=sha256(overlay).hexdigest(),
                overlay_sha1=sha1(overlay).hexdigest(),
                overlay_md5=md5(overlay).hexdigest(),
            )
        return None

    def extract(self):
        try:
            self.log.debug(inspect.currentframe().f_code.co_name)
            overlay = self._extract_pe_overlay()
            # self.export_to_elastic([overlay])  # Let the exporters handle this
            return overlay
        except Exception as e:
            self.log.error(f"Error extracting PE overlay: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.extract()
        elif exporter_type == "ClickHouseExporter":
            overlay = self.extract()
            if overlay is None:
                return None
            
            data = []
            current_time = datetime.now(timezone.utc)
            
            data.append([
                self.sha256,              # sha256
                self.md5,                 # md5
                self.sha1,                # sha1
                overlay.overlay_size,     # overlay_size
                overlay.overlay_entropy,  # overlay_entropy
                overlay.overlay_offset,   # overlay_offset
                overlay.overlay_mimetype, # overlay_mimetype
                overlay.overlay_type,     # overlay_type
                overlay.overlay_magika,   # overlay_magika
                overlay.overlay_sha256,   # overlay_sha256
                overlay.overlay_sha1,     # overlay_sha1
                overlay.overlay_md5,      # overlay_md5
                current_time             # analysis_date
            ])
            
            column_names = [
                'sha256', 'md5', 'sha1', 'overlay_size', 'overlay_entropy',
                'overlay_offset', 'overlay_mimetype', 'overlay_type', 'overlay_magika',
                'overlay_sha256', 'overlay_sha1', 'overlay_md5',
                'analysis_date'
            ]
            
            if not data:
                return None

            column_type_names = [
                'FixedString(64)', 'FixedString(32)', 'FixedString(40)',
                'UInt64', 'Float64', 'UInt64',
                'LowCardinality(String)', 'LowCardinality(String)', 'LowCardinality(String)',
                'FixedString(64)', 'FixedString(40)', 'FixedString(32)',
                'DateTime64(3, \'UTC\')'
            ]

            return (data, column_names, column_type_names)

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