Kambiz Badie

51 papers B 1C 10Misc 6Journal 24Unranked 10
YearRankTypeTitle / Venue / Authors
2024 J jnl
Wirel. Networks
Ali Yousefi, Kambiz Badie, Mohammad Mehdi Ebadzadeh, Arash Sharifi
2021 J jnl
Comput. Sci. Inf. Syst.
Zeinab Nakhaei, Ali Ahmadi, Arash Sharifi, Kambiz Badie
2021 J jnl
Interact. Learn. Environ.
Mohammadsadegh Rezaei, Hossein Bobarshad, Kambiz Badie
2020 J jnl
Biomed. Signal Process. Control.
Nasrin Sho'ouri, Mohammad Firoozabadi, Kambiz Badie
2019 J jnl
Scientometrics
Nasrin Asadi, Kambiz Badie, Maryam Tayefeh Mahmoudi
2019 J jnl
Biomed. Signal Process. Control.
Nasrin Sho'ouri, Mohammad Firoozabadi, Kambiz Badie
2018 J jnl
Biomed. Signal Process. Control.
Nasrin Shourie, Seyed Mohammad P. Firoozabadi, Kambiz Badie
2018 J jnl
Biomed. Signal Process. Control.
Nasrin Shourie, Seyed Mohammad P. Firoozabadi, Kambiz Badie
2018 J jnl
J. Inf. Telecommun.
Kambiz Badie, Nasrin Asadi, Maryam Tayefeh Mahmoudi
2017 J jnl
J. Electron. Test.
Babak Aghaei, Ahmad Khademzadeh, Midia Reshadi, Kambiz Badie
2017 C conf
INISTA
Elaheh Ordoni, Ali Moeini, Kambiz Badie
2017 C conf
INISTA
Kambiz Badie, Nasrin Asadi, Maryam Tayefeh Mahmoudi
2017 C conf
INISTA
Kambiz Badie, Maryam Tayefeh Mahmoudi
2017 J jnl
J. Electron. Test.
Babak Aghaei, Ahmad Khademzadeh, Midia Reshadi, Kambiz Badie
2017 J jnl
Wirel. Networks
Hamed Nazaktabar, Kambiz Badie, Majid Nili Ahmadabadi
2017 J jnl
J. Supercomput.
Babak Aghaei, Kambiz Badie, Ahmad Khademzadeh, Midia Reshadi
2016 J jnl
Genet. Program. Evolvable Mach.
Amir Hosein Keyhanipour, Behzad Moshiri, Farhad Oroumchian, Maseud Rahgozar, Kambiz Badie
2015 J jnl
Wirel. Pers. Commun.
Mitra Ahmadi, Mohammad Shojafar, Ahmad Khademzadeh, Kambiz Badie, Reza Tavoli
2015 J jnl
Int. J. Syst. Sci.
Kaveh Pashaei, Fattaneh Taghiyareh, Kambiz Badie
2015 conf
ICL
Maryam Tayefeh Mahmoudi, Kambiz Badie, Mojtaba Valipour
2014 conf
MATES
Kaveh Pashaei, Fattaneh Taghiyareh, Kambiz Badie
2013 J jnl
Int. J. Heal. Inf. Syst. Informatics
Mana Tarjoman, Emad Fatemizadeh, Kambiz Badie
2013 J jnl
J. Intell. Fuzzy Syst.
Maryam Tayefeh Mahmoudi, Maedeh Beheshti, Fattaneh Taghiyareh, Kambiz Badie, Caro Lucas
2012 conf
IST
Sajjad Salehi, Mohammad Taghi Saffar, Fattaneh Taghiyareh, Kambiz Badie
2012 conf
MATES
Mohammad Taghi Saffar, Fattaneh Taghiyareh, Sajjad Salehi, Kambiz Badie
2011 J jnl
Knowl. Inf. Syst.
Mahsa Razavi, Fereidoon Shams Aliee, Kambiz Badie
2011 J jnl
IET Commun.
Alireza R. Hedayati, Mehdi N. Fesharaki, Kambiz Badie, Vahe Aghazarian
2011 C conf
CIBCB
Nafiseh Forouzideh, Maryam Tayefeh Mahmoudi, Kambiz Badie
2010 Misc conf
IKE
Kambiz Badie, Maryam Tayefeh Mahmoudi
2010 conf
HPCS
Sahar Saberi, Paolo Trunfio, Domenico Talia, Mehdi N. Fesharaki, Kambiz Badie
2009 J jnl
J. Informetrics
Amir Hosein Keyhanipour, Maryam Piroozmand, Kambiz Badie
2009 J jnl
J. Softw.
Mohammad Naderi Dehkordi, Kambiz Badie, Ahmad Khadem Zadeh
2009 Misc conf
WSC
Mehdi Sadeghzadeh, Mohammad Teshnehlab, Kambiz Badie
2008 Misc conf
IC-AI
Maryam Tayefeh Mahmoudi, Kambiz Badie, Mahmood Kharrat, Sogol Babazadeh Khamaneh, Mahmood Yadollahi Khales
2008 conf
ICC
Abolfazl Lakdashti, Mohammad Shahram Moin, Kambiz Badie
2008 C conf
AICCSA
Abolfazl Lakdashti, Mohammad Shahram Moin, Kambiz Badie
2008 J jnl
Kybernetes
Maryam Tayefeh Mahmoudi, Kambiz Badie, Mahmood Kharrat
2008 C conf
ICDS
Kambiz Badie, Maryam Tayefeh Mahmoudi
2007 C conf
ICDS
Maryam Tayefeh Mahmoudi, Kambiz Badie, Kourosh Neshatian
2005 conf
Wissensmanagement
Kambiz Badie, Maryam Tayefeh Mahmoudi
2005 Misc conf
IKE
Kambiz Badie, Maryam Tayefeh Mahmoudi
2005 J jnl
Neural Comput. Appl.
Seyed Mehdi Sadat-Hashemi, Anoshirvan Kazemnejad, Caro Lucas, Kambiz Badie
2004 C conf
HIS
S. Ghanbari, Mohammad Reza Meybodi, Kambiz Badie
2004 B conf
Intelligent Tutoring Systems
Mitra Mirzarezaee, Kambiz Badie, Mehdi Dehghan, Mahmood Kharrat
2004 C conf
ICMLA
Reza Rastegar, Mohammad Reza Meybodi, Kambiz Badie
2004 conf
ITCC (2)
Maryam Tayefeh Mahmoudi, Kambiz Badie
2004 Misc conf
IKE
Maryam Tayefeh Mahmoudi, Kambiz Badie
2003 Misc conf
IRI
Nima Reyhani, Kambiz Badie, Mahmood Kharrat
2003 conf
MLMTA
Mazda Ahmadi, Abolfazl Keighobadi Lamjiri, Mayssam M. Nevisi, Jafar Habibi, Kambiz Badie
2002 conf
ECCBR
Mahmoud R. Hejazi, Kambiz Badie
2000 C conf
ISCAS
Farhad Razaghian, Sirus Sadughi, Kambiz Badie
redb/extractors/decompiler/apk/library_filter.py
← Index redb/extractors/decompiler/apk/library_filter.py python
"""Package-based library filtering for APK DEX code analysis.

Determines whether a method belongs to a known library/framework package
and should be filtered out of content tables. This is the Android equivalent
of is_lib_or_thunk() in the Binary Ninja pipeline.
"""

import os
from typing import Dict, List


DEFAULT_LIBRARY_PREFIXES = [
    "android.",
    "androidx.",
    "com.google.android.",
    "com.google.firebase.",
    "com.google.gson.",
    "com.google.protobuf.",
    "kotlin.",
    "kotlinx.",
    "org.apache.",
    "com.squareup.",
    "io.reactivex.",
    "org.reactivestreams.",
    "com.facebook.",
    "com.crashlytics.",
    "io.fabric.",
    "org.junit.",
    "org.mockito.",
]


class LibraryFilter:
    """Filters library/framework classes from APK analysis."""

    def __init__(self, prefixes: List[str] = None):
        env_prefixes = os.getenv("APK_LIBRARY_PREFIXES")
        if env_prefixes:
            self._prefixes = [p.strip() for p in env_prefixes.split(",") if p.strip()]
        elif prefixes is not None:
            self._prefixes = prefixes
        else:
            self._prefixes = DEFAULT_LIBRARY_PREFIXES

        # Convert Dalvik-style prefixes to both formats for matching
        self._dot_prefixes = tuple(self._prefixes)

        self._stats = {"library": 0, "user": 0}

    def is_library(self, class_name: str) -> bool:
        """Check if a class belongs to a known library/framework package.

        Accepts both Java dot notation (com.example.Foo) and Dalvik
        descriptor notation (Lcom/example/Foo;).
        """
        # Normalize Dalvik descriptor to dot notation
        normalized = self._normalize_class_name(class_name)

        is_lib = normalized.startswith(self._dot_prefixes)
        if is_lib:
            self._stats["library"] += 1
        else:
            self._stats["user"] += 1
        return is_lib

    def get_filter_stats(self) -> Dict[str, int]:
        """Return counts of filtered vs. retained classes."""
        return dict(self._stats)

    @staticmethod
    def _normalize_class_name(class_name: str) -> str:
        """Convert Dalvik descriptor to dot notation.

        Lcom/example/Foo; -> com.example.Foo
        com.example.Foo -> com.example.Foo
        """
        if class_name.startswith("L") and class_name.endswith(";"):
            return class_name[1:-1].replace("/", ".")
        return class_name.replace("/", ".")