Om Prakash

66 papers B 2Misc 1Journal 61Unranked 2
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Soham Ravikant Joshi, Shikha Patel, Om Prakash
2026 J jnl
Appl. Algebra Eng. Commun. Comput.
Ashutosh Singh, Tulay Yildirim, Om Prakash
2026 J jnl
Discret. Math.
Indibar Debnath, Habibul Islam, Edgar Martínez-Moro, Om Prakash
2026 J jnl
CoRR
Anup Kushwaha, Om Prakash
2025 J jnl
Adv. Math. Commun.
Indibar Debnath, Om Prakash
2025 J jnl
CoRR
Anup Kushwaha, Indibar Debnath, Om Prakash
2025 conf
ICECET
Shikha Yadav, Ashutosh Singh, Om Prakash
2025 conf
IWSDA
Shikha Patel, Soham Ravikant Joshi, Om Prakash
2025 B conf
ISIT
Soham Ravikant Joshi, Shikha Patel, Om Prakash
2025 J jnl
CoRR
Anup Kushwaha, Om Prakash
2025 J jnl
Comput. Appl. Math.
Indibar Debnath, Om Prakash
2025 J jnl
Comput. Appl. Math.
Om Prakash, Shikha Patel, Habibul Islam
2025 J jnl
CoRR
Kundan Suxena, Indibar Debnath, Om Prakash
2025 J jnl
Adv. Math. Commun.
Shikha Yadav, Indibar Debnath, Om Prakash
2024 J jnl
CoRR
Om Prakash, Shikha Patel, Habibul Islam
2024 J jnl
CoRR
Priyanka Sharma, Ashutosh Singh, Om Prakash
2024 J jnl
CoRR
Ashutosh Singh, Tulay Yildirim, Om Prakash
2024 J jnl
CoRR
Indibar Debnath, Habibul Islam, Edgar Martínez-Moro, Om Prakash
2024 J jnl
Comput. Appl. Math.
Shikha Yadav, Ashutosh Singh, Habibul Islam, Om Prakash, Patrick Solé
2024 J jnl
IEEE Access
Ashutosh Singh, Priyanka Sharma, Om Prakash
2024 J jnl
Comput. Appl. Math.
Shikha Patel, Ashutosh Singh, Om Prakash
2023 J jnl
CoRR
Ashutosh Singh, Priyanka Sharma, Om Prakash
2023 J jnl
Cryptogr. Commun.
Indibar Debnath, Om Prakash, Habibul Islam
2023 J jnl
Entropy
Om Prakash, Ashutosh Singh, Ram Krishna Verma, Patrick Solé, Wei Cheng
2023 J jnl
CoRR
Om Prakash, Shikha Patel, Habibul Islam
2023 J jnl
Cryptogr. Commun.
Indibar Debnath, Om Prakash, Habibul Islam
2023 J jnl
Adv. Math. Commun.
Ram Krishna Verma, Om Prakash, Ashutosh Singh, Habibul Islam
2023 J jnl
Adv. Math. Commun.
Om Prakash, Shikha Yadav, Habibul Islam, Patrick Solé
2023 J jnl
Quantum Inf. Process.
Om Prakash, Ram Krishna Verma, Ashutosh Singh
2022 J jnl
Des. Codes Cryptogr.
Shikha Patel, Om Prakash
2022 J jnl
J. Appl. Math. Comput.
Habibul Islam, Shikha Patel, Om Prakash, Patrick Solé
2022 J jnl
Cryptogr. Commun.
Habibul Islam, Om Prakash
2022 J jnl
Cryptogr. Commun.
Shikha Patel, Om Prakash, Habibul Islam
2022 J jnl
Cryptogr. Commun.
Shikha Patel, Om Prakash, Habibul Islam
2022 J jnl
Adv. Math. Commun.
Habibul Islam, Om Prakash, Ram Krishna Verma
2022 J jnl
Discret. Math. Algorithms Appl.
Ravindra Kumar, Om Prakash
2022 J jnl
CoRR
Indibar Debnath, Ashutosh Singh, Om Prakash, Abdollah Alhevaz
2022 B conf
ISIT
Shikha Patel, Om Prakash
2022 J jnl
Int. J. Inf. Coding Theory
Om Prakash, Shikha Yadav, Priyanka Sharma
2022 J jnl
Comput. Appl. Math.
Om Prakash, Shikha Yadav, Habibul Islam, Patrick Solé
2022 J jnl
Discret. Math. Algorithms Appl.
Om Prakash, Shikha Patel
2021 J jnl
Discret. Math.
Habibul Islam, Edgar Martínez-Moro, Om Prakash
2021 J jnl
CoRR
Habibul Islam, Edgar Martínez-Moro, Om Prakash
2021 J jnl
Comput. Appl. Math.
Habibul Islam, Om Prakash
2021 J jnl
Quantum Inf. Process.
Adel Alahmadi, Habibul Islam, Om Prakash, Patrick Solé, Ahmad Alkenani, Najat M. Muthana, Rola Hijazi
2021 J jnl
Comput. Appl. Math.
Om Prakash, Shikha Patel, Shikha Yadav
2021 J jnl
J. Appl. Math. Comput.
Shikha Yadav, Habibul Islam, Om Prakash, Patrick Solé
2021 J jnl
Adv. Math. Commun.
Habibul Islam, Om Prakash, Patrick Solé
2020 J jnl
Int. J. Inf. Coding Theory
Habibul Islam, Ram Krishna Verma, Om Prakash
2020 J jnl
CoRR
Ram Krishna Verma, Om Prakash, Ashutosh Singh
2020 J jnl
Quantum Inf. Process.
Habibul Islam, Om Prakash
2020 Misc conf
ACCT
Ram Krishna Verma, Om Prakash, Ashutosh Singh
2020 J jnl
Int. J. Inf. Coding Theory
Shikha Patel, Om Prakash
2019 J jnl
J. Appl. Math. Comput.
Habibul Islam, Tushar Bag, Om Prakash
2019 J jnl
Discret. Math. Algorithms Appl.
Habibul Islam, Om Prakash
2019 J jnl
CoRR
Habibul Islam, Om Prakash
2019 J jnl
J. Appl. Math. Comput.
Habibul Islam, Om Prakash
2019 J jnl
CoRR
Om Prakash, Shikha Patel, Shikha Yadav
2019 J jnl
CoRR
Shikha Patel, Om Prakash
2018 J jnl
Discret. Math. Algorithms Appl.
Tushar Bag, Habibul Islam, Om Prakash, Ashish Kumar Upadhyay
2018 J jnl
Int. J. Inf. Coding Theory
Habibul Islam, Om Prakash
2018 J jnl
Int. J. Inf. Coding Theory
Habibul Islam, Om Prakash
2018 J jnl
CoRR
Om Prakash, Habibul Islam
2017 J jnl
CoRR
Habibul Islam, Om Prakash
2017 J jnl
Electron. Notes Discret. Math.
Sheela Suthar, Om Prakash
2017 J jnl
CoRR
Habibul Islam, Om Prakash
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 []