Manuel Au-Yong-Oliveira

59 papers Journal 17Unranked 42
YearRankTypeTitle / Venue / Authors
2025 J jnl
Inf.
Nuno Calheiros-Lobo, Manuel Au-Yong-Oliveira, José Vasconcelos Ferreira
2025 J jnl
Inf.
José Magano, Manuel Au-Yong-Oliveira, Antonio Sánchez-Bayón
2025 J jnl
Expert Syst. J. Knowl. Eng.
Alexânder Araújo Reis, Rafael Angelo Santos Leite, Cicero Eduardo Walter, Igor Bezerra Reis, Ramiro Gonçalves, José Martins, Frederico Branco, Manuel Au-Yong-Oliveira
2025 J jnl
Expert Syst. J. Knowl. Eng.
Fábio Caiado, Joana Fonseca, Joana Silva, Soraia Neves, Ana Moreira, Ramiro Gonçalves, José Martins, Frederico Branco, Manuel Au-Yong-Oliveira
2024 conf
WorldCIST (3)
Alexander Griesbeck, Jasmin Zrenner, Ana Moreira, Manuel Au-Yong-Oliveira
2024 conf
ARTIIS (3)
Jorge Ribeiro, Leonardo Gaibor, Madalena Torrinha, Rafael Grilo, Manuel Au-Yong-Oliveira
2024 conf
WorldCIST (3)
André Filipe Silva, Daniela Durães, Inês Azevedo, João Aparício, Manuel Au-Yong-Oliveira
2023 J jnl
Expert Syst. J. Knowl. Eng.
Maria José Sousa, George Leal Jamil, Cicero Eduardo Walter, Manuel Au-Yong-Oliveira, Fernando Moreira
2023 J jnl
Expert Syst. J. Knowl. Eng.
Rafael Angelo Santos Leite, Cicero Eduardo Walter, Igor Bezerra Reis, Pedro Elias Figueredo de Sousa, Iracema Machado de Aragão, Manuel Au-Yong-Oliveira
2022 conf
WorldCIST (2)
Giacomo Errighi, Luís Dinis, Luís Almeida, Pedro Dias, Cicero Eduardo Walter, Manuel Au-Yong-Oliveira
2022 conf
WorldCIST (2)
Greta Björklund, Magdalena Bohlin, Edvard Olander, Josef Jansson, Cicero Eduardo Walter, Manuel Au-Yong-Oliveira
2022 J jnl
Inf.
José Magano, Manuel Au-Yong-Oliveira, Cicero Eduardo Walter, Ângela Leite
2022 J jnl
Inf.
Diana Moreira-Santos, Manuel Au-Yong-Oliveira, Ana Palma-Moreira
2022 conf
WorldCIST (2)
Manuel Au-Yong-Oliveira, Cicero Eduardo Walter
2022 conf
WorldCIST (2)
Daniel Soares, Hugo Freitas, Joana Oliveira, Luís Vieira, Manuel Au-Yong-Oliveira
2022 conf
WorldCIST (3)
Klaus Kühnel, Manuel Au-Yong-Oliveira
2022 conf
WorldCIST (3)
Beatriz Pinheiro, Carmen Moutela, Juliana Silva, Maria Leonor Ferreira, Manuel Au-Yong-Oliveira
2022 conf
WorldCIST (2)
Jéssica Meneses, Leandro Souto, Simão Sil, Tatiana Silva, Manuel Au-Yong-Oliveira
2022 J jnl
Informatics
Klaus Kühnel, Manuel Au-Yong-Oliveira
2021 J jnl
Univers. Access Inf. Soc.
Stephane Madeira, Frederico Branco, Ramiro Gonçalves, Manuel Au-Yong-Oliveira, Fernando Moreira, José Martins
2021 J jnl
Expert Syst. J. Knowl. Eng.
Frederico Branco, Ramiro Gonçalves, Fernando Moreira, Manuel Au-Yong-Oliveira, José Martins
2021 conf
WorldCIST (2)
Alberto Rendo, Manuel Au-Yong-Oliveira, Ana Dias
2021 conf
WorldCIST (4)
José Martins, Fernando Moreira, Manuel Au-Yong-Oliveira, Ramiro Gonçalves, Frederico Branco
2021 conf
WorldCIST (4)
Bruna Plácido, Sofia Proença, Diogo Moreira, Lorena Boução, Frederico Branco, Manuel Au-Yong-Oliveira
2021 conf
WorldCIST (2)
Inês Gomes, Inês Pereira, Inês Soares, Mariana Antunes, Manuel Au-Yong-Oliveira
2021 J jnl
J. Medical Syst.
Manuel Au-Yong-Oliveira, António Miguel Pesqueira, Maria José Sousa, Francesca Dal Mas, Mohammad Soliman
2021 conf
ARTIIS
Mónica Vieira, Tomás Malaquias, Valeriya Ketsmur, Viktoriya Ketsmur, Manuel Au-Yong-Oliveira
2020 conf
WorldCIST (3)
Luís Fonseca, João Paulo Barroso Rego, Miguel Araújo, Rui Frazão, Manuel Au-Yong-Oliveira
2020 J jnl
Expert Syst. J. Knowl. Eng.
Duarte Magalhães, José Martins, Frederico Branco, Manuel Au-Yong-Oliveira, Ramiro Gonçalves, Fernando Moreira
2020 conf
WorldCIST (1)
João Lajoso, André Sousa, João Albuquerque, Ricardo Mineiro, Manuel Au-Yong-Oliveira
2020 J jnl
Inf.
Beatriz Monteiro, Vasco Santos, Isabel Reis, Marta Correia Sampaio, Bruno Sousa, Filipa Martinho, Maria José Sousa, Manuel Au-Yong-Oliveira
2020 conf
WorldCIST (2)
Manuel Au-Yong-Oliveira, Jacinta Garcia, Cristina Correia
2020 J jnl
IET Softw.
José Martins, Ramiro Gonçalves, Manuel Au-Yong-Oliveira, Fernando Moreira, Frederico Branco
2020 conf
WorldCIST (2)
Yúmina Zêdo, João Costa, Viviana Andrade, Manuel Au-Yong-Oliveira
2020 conf
WorldCIST (3)
Manuel Au-Yong-Oliveira, Miguel Marinheiro, João A. Costa Tavares
2020 conf
WorldCIST (1)
Viktoriya Sharaburyak, Gonçalo Moreira, Mafalda Reis, Pedro Silva, Manuel Au-Yong-Oliveira
2020 conf
WorldCIST (2)
Pedro Pinto, Romeu Lages, Manuel Au-Yong-Oliveira
2020 conf
WorldCIST (2)
André Caravela Machado, Márcia Martins, Bárbara Cordeiro, Manuel Au-Yong-Oliveira
2020 conf
WorldCIST (2)
Renato Sousa Pinto, Manuel Au-Yong-Oliveira, Rui Ferreira, Osvaldo Rocha Pacheco, Rui Miranda Rocha
2019 conf
HCI (26)
Marcos Carneiro, Frederico Branco, Ramiro Gonçalves, Manuel Au-Yong-Oliveira, Fernando Moreira, José Martins
2019 J jnl
Univers. Access Inf. Soc.
João de Sousa e Silva, Ramiro Gonçalves, Frederico Branco, António Pereira, Manuel Au-Yong-Oliveira, José Martins
2019 J jnl
Telematics Informatics
José Martins, Frederico Branco, Ramiro Gonçalves, Manuel Au-Yong-Oliveira, Tiago Oliveira, Mijail Naranjo-Zolotov, Frederico Cruz-Jesus
2019 conf
WorldCIST (1)
Frederico Branco, Fernando Moreira, José Martins, Manuel Au-Yong-Oliveira, Ramiro Gonçalves
2019 conf
WorldCIST (3)
Catarina Martins de Lemos, Cláudia Maria Pereira Oliveira, Sofia Andrade Correia Neves, Vanda Maria Mendes Moreira Teixeira, Frederico Branco, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (3)
Beatriz Ribeiro, Cristiana Gonçalves, Francisco Pereira, Gonçalo Pereira, Joana Santos, Ramiro Gonçalves, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (1)
Manuel Au-Yong-Oliveira, Carlota P. A. Carlos, Hugo Pintor, João Caires, Julia Zanoni
2019 conf
WorldCIST (2)
Ema Fonseca, Inês Oliveira, Joana Lobo, Tânia Mota, José Martins, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (3)
Pedro Gusmão, Tiago Melo Almeida, Francisco Lopes, Yuriy Muryn, José Martins, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (3)
Cátia Silva, David Melo, Filipe Barros, Joana Conceição, Ramiro Gonçalves, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (3)
Eliseu Silva, Manuel Au-Yong-Oliveira, Pedro Fonseca, Rui Garganta, Christopher Bochmann
2019 conf
WorldCIST (3)
Ana Matos, Bruna Pinto, Fábio Barros, Sérgio Martins, José Martins, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (3)
Bernardo Lopes, Pedro Martins, José Domingues, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (2)
Mariana Pinho Leite, Tamara Mihajlovski, Lars Heppner, Frederico Branco, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (3)
Manuel Au-Yong-Oliveira, Diogo Canastro, Joana Oliveira, João Tomás, Sofia Amorim, Fernando Moreira
2019 conf
WorldCIST (1)
Ana Isabel Vieira, Eva Oliveira, Francisca Silva, Marco Oliveira, Ramiro Gonçalves, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (3)
Ana Inês, Patrícia Pires, André Carvalho, Luís Santos, Frederico Branco, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (1)
Guilherme Pinho, João Arantes, Tiago Marques, Frederico Branco, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (3)
Ana Fontoura, Fábio Fonseca, Maria Del Mar Piñuel, Maria João Canelas, Ramiro Gonçalves, Manuel Au-Yong-Oliveira
2019 conf
WorldCIST (1)
Manuel Au-Yong-Oliveira, Ana Carina Almeida, Ana Rita Arromba, Cátia Fernandes, Inês Cardoso
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 []