Caglar Demir

59 papers A* 3A 2B 6C 3Journal 28Unranked 15
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Louis Mozart Kamdem Teyou, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2025 conf
ISWC (1)
Adel Memariani, Michael Röder, Arnab Sharma, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2025 B conf
K-CAP
Louis Mozart Kamdem Teyou, Luke Friedrichs, N'Dah Jean Kouagou, Caglar Demir, Yasir Mahmood, Stefan Heindorf, Axel-Cyrille Ngonga Ngomo
2025 J jnl
CoRR
Louis Mozart Kamdem Teyou, Luke Friedrichs, N'Dah Jean Kouagou, Caglar Demir, Yasir Mahmood, Stefan Heindorf, Axel-Cyrille Ngonga Ngomo
2025 J jnl
CoRR
Alkid Baci, Luke Friedrichs, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2025 J jnl
J. Mach. Learn. Res.
Caglar Demir, Alkid Baci, N'Dah Jean Kouagou, Leonie Nora Sieger, Stefan Heindorf, Simon Bin, Lukas Blübaum, Alexander Bigerl, Axel-Cyrille Ngonga Ngomo
2025 J jnl
CoRR
Caglar Demir, Alkid Baci, N'Dah Jean Kouagou, Leonie Nora Sieger, Stefan Heindorf, Simon Bin, Lukas Blübaum, Alexander Bigerl, Axel-Cyrille Ngonga Ngomo
2025 B conf
K-CAP
Rupesh Sapkota, Caglar Demir, Arnab Sharma, Axel-Cyrille Ngonga Ngomo
2025 J jnl
CoRR
Rupesh Sapkota, Caglar Demir, Arnab Sharma, Axel-Cyrille Ngonga Ngomo
2025 conf
ESWC (1)
Sourabh Kapoor, Arnab Sharma, Michael Röder, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2025 conf
ECML/PKDD (3)
Caglar Demir, Moshood Yekini, Michael Röder, Yasir Mahmood, Axel-Cyrille Ngonga Ngomo
2024 J jnl
CoRR
Caglar Demir, Arnab Sharma, Axel-Cyrille Ngonga Ngomo
2024 J jnl
CoRR
Louis Mozart Kamdem Teyou, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2024 A conf
ECAI
Louis Mozart Kamdem Teyou, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2024 J jnl
CoRR
Louis Mozart Kamdem, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2024 A conf
CIKM
Louis Mozart Kamdem Teyou, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2024 conf
ECML/PKDD (6)
Nikolaos Karalis, Alexander Bigerl, Caglar Demir, Liss Heidrich, Axel-Cyrille Ngonga Ngomo
2024 J jnl
CoRR
Caglar Demir, N'Dah Jean Kouagou, Arnab Sharma, Axel-Cyrille Ngonga Ngomo
2024 conf
FUZZ
Daniel F. Leite, Arnab Sharma, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2024 J jnl
CoRR
Sourabh Kapoor, Arnab Sharma, Michael Röder, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2024 A* conf
IJCAI
N'Dah Jean Kouagou, Stefan Heindorf, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2024 conf
FUZZ
Arnab Sharma, Daniel F. Leite, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2024 conf
WWW (Companion Volume)
N'Dah Jean Kouagou, Caglar Demir, Hamada M. Zahera, Adrian Wilke, Stefan Heindorf, Jiayi Li, Axel-Cyrille Ngonga Ngomo
2023 ch.
Compendium of Neurosymbolic Artificial Intelligence
Axel-Cyrille Ngonga Ngomo, Caglar Demir, N'Dah Jean Kouagou, Stefan Heindorf, Nikolaos Karalis, Alexander Bigerl
2023 conf
ECML/PKDD (3)
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2023 conf
COPA
Julian Lienen, Caglar Demir, Eyke Hüllermeier
2023 B conf
IDA
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2023 J jnl
CoRR
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2023
Caglar Demir
2023 J jnl
CoRR
Caglar Demir, Michel Wiebesiek, Renzhong Lu, Axel-Cyrille Ngonga Ngomo, Stefan Heindorf
2023 conf
ECML/PKDD (3)
Caglar Demir, Michel Wiebesiek, Renzhong Lu, Axel-Cyrille Ngonga Ngomo, Stefan Heindorf
2023 conf
ECML/PKDD (4)
N'Dah Jean Kouagou, Stefan Heindorf, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2023 B conf
ESWC
N'Dah Jean Kouagou, Stefan Heindorf, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2023 C conf
NeSy
N'Dah Jean Kouagou, Stefan Heindorf, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2023 A* conf
IJCAI
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2023 J jnl
CoRR
N'Dah Jean Kouagou, Caglar Demir, Hamada M. Zahera, Adrian Wilke, Stefan Heindorf, Jiayi Li, Axel-Cyrille Ngonga Ngomo
2022 J jnl
CoRR
Julian Lienen, Caglar Demir, Eyke Hüllermeier
2022 A* conf
WWW
Stefan Heindorf, Lukas Blübaum, Nick Düsterhus, Till Werner, Varun Nandkumar Golani, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2022 J jnl
CoRR
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2022 J jnl
Softw. Impacts
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2022 conf
HT
Caglar Demir, Julian Lienen, Axel-Cyrille Ngonga Ngomo
2022 J jnl
CoRR
Caglar Demir, Julian Lienen, Axel-Cyrille Ngonga Ngomo
2022 B conf
ESWC
N'Dah Jean Kouagou, Stefan Heindorf, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2022 conf
ISWC (Posters/Demos/Industry)
Caglar Demir, Anna Himmelhuber, Yushan Liu, Alexander Bigerl, Diego Moussallem, Axel-Cyrille Ngonga Ngomo
2021 conf
ICSC
Caglar Demir, Diego Moussallem, Axel-Cyrille Ngonga Ngomo
2021 J jnl
CoRR
Caglar Demir, Diego Moussallem, Axel-Cyrille Ngonga Ngomo
2021 B conf
ESWC
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2021 C conf
ACML
Caglar Demir, Diego Moussallem, Stefan Heindorf, Axel-Cyrille Ngonga Ngomo
2021 J jnl
CoRR
Caglar Demir, Diego Moussallem, Stefan Heindorf, Axel-Cyrille Ngonga Ngomo
2021 J jnl
CoRR
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2021 J jnl
CoRR
Stefan Heindorf, Lukas Blübaum, Nick Düsterhus, Till Werner, Varun Nandkumar Golani, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2021 C conf
ICMLA
Arnab Sharma, Caglar Demir, Axel-Cyrille Ngonga Ngomo, Heike Wehrheim
2021 J jnl
CoRR
Arnab Sharma, Caglar Demir, Axel-Cyrille Ngonga Ngomo, Heike Wehrheim
2021 J jnl
CoRR
N'Dah Jean Kouagou, Stefan Heindorf, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2021 J jnl
CoRR
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2021 J jnl
CoRR
N'Dah Jean Kouagou, Stefan Heindorf, Caglar Demir, Axel-Cyrille Ngonga Ngomo
2020 J jnl
CoRR
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2020 J jnl
CoRR
Caglar Demir, Axel-Cyrille Ngonga Ngomo
2019 conf
JIST
Caglar Demir, Axel-Cyrille Ngonga Ngomo
redb/extractors/apk_extractor.py
← Index redb/extractors/apk_extractor.py python
import logging
import zipfile
from abc import ABCMeta, abstractmethod

from redb.extractors.extractor import Extractor

logger = logging.getLogger(__name__)


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

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        known_benign=False,
        known_malicious=False,
        apk=None,
    ):
        # Read binary data before calling super().__init__ so that the
        # binary property override is available during hash computation.
        with open(filepath, "rb") as f:
            self._binary_data = f.read()

        self.apk = apk if apk else self._generate_apk_object(filepath)

        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            known_benign=known_benign,
            known_malicious=known_malicious,
        )

    @property
    def binary(self):
        """Override to use already-read binary data."""
        return self._binary_data

    def _generate_apk_object(self, filepath):
        """Parse APK using androguard."""
        apk = None
        try:
            # Suppress verbose androguard loguru DEBUG/INFO output
            from loguru import logger as loguru_logger
            loguru_logger.disable("androguard")
            from androguard.core.apk import APK
            apk = APK(filepath)
            if not apk.is_valid_APK():
                logger.warning(
                    f"APK validation warning for {filepath}"
                )
                # Still return the object — partial parsing may still work
        except Exception as e:
            logger.error(
                f"Format error parsing APK {filepath}: {e}"
            )
        return apk

    def _is_valid_apk(self):
        """Check if the APK object was parsed successfully."""
        return self.apk is not None

    def _get_zip_file(self):
        """Get a zipfile.ZipFile handle for direct archive inspection."""
        try:
            return zipfile.ZipFile(self.filepath, 'r')
        except (zipfile.BadZipFile, Exception) as e:
            self.log.error(f"Failed to open APK as ZIP: {e}")
            return None

    def _list_files(self):
        """List all files in the APK archive."""
        if not self._is_valid_apk():
            return []
        try:
            return self.apk.get_files()
        except Exception as e:
            self.log.error(f"Error listing APK files: {e}")
            return []